- 1、本文档共10页,可阅读全部内容。
- 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算法的实现与应用.doc
公钥密码体制RSA算法的实现与应用
第10卷第2期
1999年4月
指挥术学院Vo
公钥密码体制RSA算法的实现与应用
±晓垡一,___一
(指挥技术学院研究生队)
王擎天
(指孬习i目制鬟丁
摘要基于公钥密码体制的RSA算法,蛤出了实现该算法的整个过程和结果,最后介绍了
该算法在数字签名,身份认证和密钢管理中的应用.
关键词RSA算法;数字签名;
-_———__一●_—--
__一
分类号TP309
l976年,美国学者Diffie和Hellman发表了着名论文《密码学的新方向》.提出了建立公
开密钥密码体制(PublicKey)的新概念,当时他们还没有实现这种体制的具体算法,然而他
们的这种新思想吸日I了许多学者去探索.l978年,美国麻省理工学院(MIT)的研究小组成员
罗纳德?李维斯特(RonaldLRivest),阿迪?夏米尔(AdiShamir),兰纳?艾德曼(Leonard
Adleman)提出了一种基于公开密钥密码体制的优秀加密算法——RsA算法.该算法以其较
高的保密强度经受住了2O年来各种攻击的考验,逐渐成为一种广为接受,最有希望的公钥密
码体制算法.RSA算法是一种分组密码体制算法,它的保密强度是建立在具有大素数因子的
合数,其因子分解是NP(NondeterministicPolynomia1)完全问题这一数学难题的基础上的,因
此RSA算法具有很强的保密性.RSA算法的提出被人们称为密码学发展史上的第二个里程
碑
1RsA算法的实现
1.1算法描述
为描述RsA算法,定义以下参数:
1)P和q为随机大素数(秘密的)
2)r=P×q(公开的)
3)欧拉函数(r)一(一1)(g一1)(秘密的)
4)——解密密钥(秘密的)
5)一一加密密钥(公开的)
6)x——明文(秘密的)
7)y——密文(公开的)
其中:s满足gcd(,(r))=1(最大公约数);尸j满足?尸?------1rood(r)
算法过程:
收槠日期:1998—12~o9
第一作者;男1974年生硕士研究生101416北京
栅
蝴
指挥技术学院1999
1)密钥的求取
选取两个随机大素数:P和口I
6.求r~pXq和欧拉函数(r)一(户一1)(g一1)}
c.选取解密密钥S.,满足(?(r))=1
d.选取加密密钥R,使其满足S.?一1mod(r)
2)公布r和P?;将P,g和保密
3)加密
将明文x分块,块长为[O,r一1]对每块明文x进行加密运算:
Y一x(roodr)
4)解密
对每块密文做解密运算:X=Y5(roodr),将墨还原成x
1.2RSA算法中的难点与技巧
1.2.1大数的运算
上百位大数之间的运算是实现RSA算法的基础,因此程序设计语言本身提供的加减乘除
及取模算法都不能使用,否则会产生溢出,必须重新编制算法.在编程中要注意进位和借位,并
定义几百位的大数组来存放产生的大数.
1.2.2素数的产生
Wilson定理(p一1)!一一1mod(户)是判别素数最基本的方法,但其涉及到阶乘运算,
计算量大,因此使用该定理来产生素数没有实用价值.目前,适用于RSA算法的最实用的办法
是概率测试法.该法的思想是随机产生一个大奇数,然后测试其是否满足条件,如满足,则该大
奇数可能是素数,否则是台数.素数定理(j=1说明素数有无穷多个,同时也说明
通过随机产生一个大奇数来判断其素性是具有实用性的.选用勒曼测试方法:
1)随机产生一个大奇数和一组数组nEi],其中max()=m,1lt;nEi]lt;n}(根据需要
自定,这里取20);初始化0
2)计算(Ⅱ[])mod(n);
3)若其值为1或一1,i=i+1,若i—,到5);否则到2);
4)若为其它值,则到1);
5)结束.
上述方法产生的素数我们称为伪素数,勒曼测试方法只能保证产生的大数不是素数的概
率是《{l.但当我们把取成较大的数值时,基本上就能保证产生的是素数.
1.2.3高次幂剩余的运算
要计算modp,因g,,P都是大数而不能采用先高次幂再求剩余的方法来处理,而要采
用平方取模的算法,即每一次平方或相乘后,立即取模运算,具体步骤如下:
n.先把指数转化为二进制
1)初始化:?,6—0,
2)判断:如x=O,b,一,…dI,转至第六步;
3)判断:如lt;gt;2一l,一0
如()2=1,一1
第2期牛晓华,等:公钥密码体制RSA算法的实现与应甩
4)除法一[/2],—+1}
5)返回第二步;
6)输出6一一1.一do.
b.[初始化3y=1;
c.当i=,~1,…,1,0时,重复执行c1至C3{
c1—();
c2如一1,则+lt;gt;;
c3返回c1.
d.结束,即为所求结果.
1.2.4欧几里德算法
欧几里德算法可以迅速地找出给定的两个整数n和b的最大公因数gcd(n
您可能关注的文档
- 最全的店铺诊断方法,助你流量飙升!.doc
- 激情励志演讲视频下载(范本).doc
- 出行平安祝福短信69句.doc
- 二轮语文(江苏版)教师用书:高考第2大题 考点5 归纳内容要点 Word版含解析.doc
- 简单搞笑的脱口秀台词.doc
- 钻石的情感销售话术[2篇].doc
- 德语学习方法什么是关键.doc
- 2014全国卷1满分作文.doc
- 水经注离线谷歌卫星地图加载服务中间件调用示例ForWPF.docx
- 樱桃小丸子的日语小作文.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
最近下载
- 樊登老师推荐:《你就是孩子最好的玩具》(完整版).pdf
- 凯迪克金奖原版绘本Sylvester and the Magic Pebble.pdf
- 外廓尺寸检测系统作业指导书.docx
- 初中教科研课题:《初中语文主题阅读教学的实践探究》子课题结题报告 .pdf
- 初中物理《声现象》.ppt VIP
- 最新2023版知识产权贯标GBT29490表单 知识产权目标策划管理方案[知识产权合规管理体系文件].docx
- (2024版)AOPA无人机驾驶证认证考试题库-上部分(500题)(含答案).pdf VIP
- 《中国共产党简史》第四章 夺取新民主主义革命的全国性胜利.pptx VIP
- 医院创建优质服务基层行创建资料(3.4.3护理安全管理).docx VIP
- 初三家长会班主任的发言稿.doc VIP
文档评论(0)