[发明专利]一种RSA算法数字签名方法有效
申请号: | 201010622313.2 | 申请日: | 2010-12-27 |
公开(公告)号: | CN102571342A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 汪涛;范楠迪;马宁 | 申请(专利权)人: | 北京中电华大电子设计有限责任公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100102 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 rsa 算法 数字签名 方法 | ||
技术领域:
本发明主要应用于智能卡安全计算领域。
背景技术:
RSA私钥运算主要涉及到两个关键技术:
1.使用蒙哥马利模乘算法:
记蒙哥马利模乘为MonMul(a,b,m),则:
MonMul(a,b,m)=a*b*R-1mod m,其中a,b,m的位长为L,R=2L,R-1满足R-1*R modm=1,mod为取模运算。
2.使用中国剩余定理进行加速:
记RSA私钥运算的输入数据为C,RSA的私钥参数为p,q,d和n,其中p和q的位长为L/2,d和n的位长为L,则RSA私钥运算Cd mod n,通过中国剩余定义可以转化为关于p和q的模幂运算,提高运行速度。以下是使用中国剩余定理进行RSA私钥运算的简要说明,本发明主要是对其中的参数Cp和Cq计算方法的改进。
准备:计算参数dp=d mod(p-1),dq=d mod(q-1)和qInv,qInv满足qInv*q modp=1。当RSA体系中的密钥固定时,这些参数可以作为常数预先计算出来,不必在每次进行RSA私钥运算时进行计算,因此计算上述参数不占用RSA私钥运算的时间,只是为了叙述方便,在这里简单介绍上述参数的来由。
1.计算Cp和Cq,Cp=C mod p,Cq=C mod q,其中C为RSA私钥运算的输入数据。
2.计算Mp和Mq,其中Mp=Cpdp mod p,Mq=Cpdq mod q
3.计算Mpq,Mpq=(Mp-Mq)*qInv mod p
4.计算Res=Mpq*q+Mq。
在步骤1中的取模运算中,由于软件取模函数计算效率低下,所以一般情况下使用硬件蒙哥马利模乘计算器计算。但是在实际应用中,上述中国剩余定理的计算过程中,步骤2和3中使用L/2位长的蒙哥马利模乘器可以满足需求,而在步骤1和4中,需使用L位长的硬件蒙哥马利模乘器。
发明内容:
本发明在步骤1和步骤4中使用L/2位长的蒙哥马利模乘器进行计算,因此可以在只需RSA私钥运算的芯片中采用小位长的模乘器,实现大于模乘器位长的公钥运算,以这种方式运算,对硬件的要求就减少一半位数,不考虑其他资源,小位长硬件协处理器可支持大于模乘器位长的私钥运算,同时,增添的软件开销也可以在应用接受的范围内。从而降低芯片成本,或者使用现有的有限资源应对市场变化,有助于产品快速上市。
步骤1中计算C mod P时使用以下方法:
1.将C分为等长度的两个部分,记CH为高L/2部分,CL为低L/2部分,这样,L长度的C被拆分为两个L/2长度的数据,并且C=CH<<L/2+CL,其中“<<”为向左平移操作。
2.进一步分析CH<<L/2,L/2长度的CH向左平移L/2后,还是L长度,超出了蒙哥马利模乘器计算长度,因此此处还需要将转换,其实,CH<<L/2=CH*2L/2。我们可以看到这里的2L/2是L/2位长的蒙哥马利模乘算法中的常数R。
3.那么C mod P可表示为(CH*R+CL)mod P,将括号展开后,可得到CH*R mod P+CL mod P。其中CL和P的长度一样,其取模操作可以用减法实现,记为CLP。
4.由于MonMul(a,b,m)=a*b*R-1mod m,那么只需计算MonMul(CH,R2,p),就可以得到CH*R mod P,也即CH<<L/2mod P,记为CHP。
5.最后计算CHP+CLP即所需的C mod P,用同样的方法,计算C mod Q。
步骤4中使用蒙哥马利算法计算乘法,由于最终结果是L长度,因此需要将Mpq和q的高位补“0”填充至L长,然后使用L位长的蒙哥马利模乘器计算乘法,此时,MonMul(a,b,m)中m=2L-1,长度为L。改进的方法如下:
1.将Mpq和Q作为a*b的输入数据,将L/2位长的a和b拆分为等长度的两部分,其中aH表示a的高L/4部分,aL表示a的低L/4部分,bH表示b的高L/4部分,bL表示b的低L/4部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中电华大电子设计有限责任公司,未经北京中电华大电子设计有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010622313.2/2.html,转载请声明来源钻瓜专利网。