[发明专利]一种基于RSA密码算法的加解密硬件系统及方法有效

专利信息
申请号: 201810877374.X 申请日: 2018-08-03
公开(公告)号: CN109039640B 公开(公告)日: 2021-10-19
发明(设计)人: 陆江城;熊晓明 申请(专利权)人: 广东工业大学
主分类号: H04L9/30 分类号: H04L9/30;H04L9/32
代理公司: 广东广信君达律师事务所 44329 代理人: 杜鹏飞;杨晓松
地址: 510062 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 rsa 密码 算法 解密 硬件 系统 方法
【权利要求书】:

1.一种基于RSA密码算法的加解密硬件系统,其特征在于,包括RSA主控模块、密钥产生模块、加密控制模块、解密控制模块、模幂运算模块、模乘运算模块和大数乘法器模块,其中:

所述RSA主控模块用于调用所述加密控制模块和解密控制模块;

所述密钥产生模块用于生成加密和解密需要用到的公钥{e,N}和私钥{d,N};

所述加密控制模块用于在接收到RSA主控模块发送的加密命令后,通过调用所述密钥产生模块、模幂运算模块和模乘运算模块,产生公钥{e,N}和私钥{d,N},从而加密生成明文M的密文C;

所述解密控制模块用于在接收到RSA主控模块发送的解密命令后,通过调用所述模幂运算模块、模乘运算模块,使用加密过程的私钥{d,N},解密出密文C的明文M',并验证M'是否等于M;

所述模幂运算模块用于处理在进行加密和解密过程中的模幂运算Memod N;

所述模乘运算模块用于处理在进行加密和解密过程中的模乘运算A×B mod N;

所述大数乘法器模块用于处理在进行模乘过程中的大数乘法运算;

所述加解密硬件系统的加解密方法包括以下步骤:

S1,首先调用密钥产生模块生成公钥{e,N}和私钥{d,N};

S1.1,随机产生两个512位的随机大素数p,q;

S1.2,计算N=p×q、

S1.3,任意选择一个满足要求的整数e,满足并且

S1.4,计算d,其中满足

S1.5,公开所生成的公钥{e,N},并保密所生成的私钥{d,N};

S2,加密时,调用模幂运算模块、模乘运算模块和大数乘法器模块,通过计算C=Memod N求得密文C;

S3,解密时,调用模幂运算模块、模乘运算模块和大数乘法器模块,通过计算M=Cdmod N求得明文M;

其中,所述模幂运算模块使用改进的L-R模幂算法,所述改进的L-R模幂算法具体步骤如下:

(1)预运算:首先将R=22(n+2)mod N的值存放到硬件系统中;然后计算P=Mont(R,M,N),Z=Mont(1,M,N);

(2)对于e>0时,重复执行以下步骤:

a)if(e[0]=1)then Z=Mont(Z,P,N);

else then Z=Z;

b)P=Mont(P,P,N);

c)e=e>>1;

(3)计算Z=Mont(1,Z,N);

(4)返回计算结果Z;

其中,所述模乘运算模块使用改进的Montgomery模乘算法,所述改进的Montgomery模乘算法具体步骤如下:

(1)以2128为基表示Montgomery模乘算法中的(A,B,N),其中幂指数2称为字长,令所以其中n′0满足

(2)初始化,令S=0;预计算n′0的值:通过密钥产生模块得出的模可求出

(3)对于i从0到m-1时,重复执行以下步骤:

a)q=(S+ai×B)(n′0)mod 2128

b)

(4)重复执行以下步骤两次:

a)if(S[0]==1)then S=S+N;

else then S=S.;

b)S=S>>1;

(5)返回计算结果S。

2.根据权利要求1所述的基于RSA密码算法的加解密硬件系统,其特征在于,所述模幂运算模块使用改进的L-R模幂算法。

3.根据权利要求1所述的基于RSA密码算法的加解密硬件系统,其特征在于,所述模乘运算模块使用改进的Montgomery模乘算法。

4.一种基于RSA密码算法的加解密方法,其特征在于,包括下述步骤:

S1,首先调用密钥产生模块生成公钥{e,N}和私钥{d,N};

S1.1,随机产生两个512位的随机大素数p,q;

S1.2,计算N=p×q、

S1.3,任意选择一个满足要求的整数e,满足并且

S1.4,计算d,其中满足

S1.5,公开所生成的公钥{e,N},并保密所生成的私钥{d,N};

S2,加密时,调用模幂运算模块、模乘运算模块和大数乘法器模块,通过计算C=Memod N求得密文C;

S3,解密时,调用模幂运算模块、模乘运算模块和大数乘法器模块,通过计算M=Cdmod N求得明文M;

其中,所述模幂运算模块使用改进的L-R模幂算法,所述改进的L-R模幂算法具体步骤如下:

(1)预运算:首先将R=22(n+2)mod N的值存放到硬件系统中;然后计算P=Mont(R,M,N),Z=Mont(1,M,N);

(2)对于e>0时,重复执行以下步骤:

a)if(e[0]=1)then Z=Mont(Z,P,N);

else then Z=Z;

b)P=Mont(P,P,N);

c)e=e>>1;

(3)计算Z=Mont(1,Z,N);

(4)返回计算结果Z;

其中,所述模乘运算模块使用改进的Montgomery模乘算法,所述改进的Montgomery模乘算法具体步骤如下:

(1)以2128为基表示Montgomery模乘算法中的(A,B,N),其中幂指数2称为字长,令所以其中n′0满足

(2)初始化,令S=0;预计算n′0的值:通过密钥产生模块得出的模可求出

(3)对于i从0到m-1时,重复执行以下步骤:

a)q=(S+ai×B)(n′0)mod 2128

b)

(4)重复执行以下步骤两次:

a)if(S[0]==1)then S=S+N;

else then S=S.;

b)S=S>>1;

(5)返回计算结果S。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810877374.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top