- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种RSA数字签名算法的快速实现.pdf
884 计算机技术与应_E}j进展·2006
一种RSA数字签名算法的快速实现‘
马希敏1付冲2
1.辽宁经济职业技术学院计算机系,辽宁沈阳110036
2.东北大学信息科学与工程学院,辽宁沈阳110004
摘要:RSA是目前电子商务中应用最为广泛的数字签名算法.本文针对RSA密钥生成及加解密过程中
大数运算速度较慢的缺点,提出了一种基于n进制数组的大数表示法,较大幅度的提高了RSA系统的效率.
对RSA数字签名算法作了详细的阐述,并利用相关定理证明了其可行性.基于c++构建了一个较为完整的
关键词:数字签名RSAn进制数组
1引 言
加密技术的出现为全球电子商务提供了保证,从而使基于Intemet上的电子交易系统成为了可能.在电
子商务中的数字签名,其主要作用就是防止在既不安全又不可靠的网络中,保证通信消息的完整性,机密
的主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易攻破,
存在伪造签名的可能.DSA(DigitalSignature
作数字签名.与Hash签名相比,在RSA公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安
全系数更大一些.与DSA相比,RSA既可以用来加密数据,也可以用于身份认证.因此得到了晟为广泛的
应用.为充分保证系统的安全性,目前RSA数字签名系统的公钥与私钥位数一般都在1024位以上,因此
硬件实现.速度一直是RSA的缺陷”。J.本文提出了一种基于n进制数组的大数计算方案。有效地降低了大
数运算复杂度,经测试其运算速度比传统的大数字符串处理方式有较大幅度的提高.
2RSA数字签名算法及其数学基础
2.1RSA数字签名的数学基础
RSA数字签名算法具有严谨的数学基础,现简述如下.
定理1.算术基本定理.任何一个不等于0的正整数a都可以写成唯一的表达式a=pPp;:…聍,这里
只只只…B是素数,其中a;0.
表示成a,b二数关于整系数的线性组合,即有j,f∈Z,使d=so+tb.
4基金项目:辽宁省自然科学基金资助项目.
作者简介t马希敏(1957.),男,辽宁沈阳人,工学硕士,辽宁经济职业技术学院副教授,主要研究领域为嵌入式系统与工
业自动化.
定理3.费马(Fermat)小定理.如果P是素数,则对所有与P互质的正整数a有,‘
Ⅱ9。1§l(modP). 、,
正整数的个数.
定理4.若P。q都为素数且P≠q,则有,
(a(pq)=烈p)钗q)=(p—1)(口一1).
定理5.欧拉(Euler)定理.若整数a与整数n互素,则nP”’i
1(roodm).
该定理有以下3个推论:
(1)当P为素数时,且n=P时,有a”1il(modP),即为Fermat定理;
(2)口州”+‘’§a(modn):
m(P一1xq一1)+1i
m(modn).
以上定理将在RSA数字签名算法的可行性证明中得到应用.
2.2RSA数字签名算法
RSA数字签名算法如下:
(I)选取两个素数P和4.在实际应用中,为了获得最大程度的安全性,两个数的长度要求一致且应在1024
位以上.计算乘积
n=Pq.
(Ⅱ)随机选取加密密钥e,使P和(P—1)(q一1)互素.
(1id用欧几里德扩展算法计算解密密钥d,满足
ed;1(mod(p一1)(可一1)).
故
d=e1(mod(p—1)(口一1)),
其中d和n也互素.
(Ⅳ)将P和n作为公开密钥(公钥),给予公开,d作为秘密密钥(私钥),应严格保密.两个素数P
和q不再需要。应立即舍弃,绝不可泄漏.
向他人发送的信息使用私钥e进行加密,只要对方能用公钥d解开就证明信息是由你发送的,构成了
签名机制.别人给你发送信息时使
文档评论(0)