Simple-RSA算法_实验报告.doc

Simple-RSA算法_实验报告.doc

ID:61462234

大小:25.50 KB

页数:7页

时间:2021-02-02

Simple-RSA算法_实验报告.doc_第1页
Simple-RSA算法_实验报告.doc_第2页
Simple-RSA算法_实验报告.doc_第3页
Simple-RSA算法_实验报告.doc_第4页
Simple-RSA算法_实验报告.doc_第5页
资源描述:

《Simple-RSA算法_实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、北京林业大学2014学年—2015学年第2学期计算机网络安全实验任务书专业:计算机科学与技术班级:_计算机班______姓名:学号:__________实验地点:N901任课教师:实验题目:Simple-RSA算法实验环境:Windows操作系统,VC开发环境,C/C++语言实验要求:阅读RSA算法,巩固对RSA公钥加解密算法原理的理解。学习和掌握生成质数的一般性方法,用于产生RSA算法秘钥。1.编程计算所有小于200的质数,输出文件到primer.txt。2.编程实现大整数指数求余的函数Power_M

2、od(B,i,n)=Bimodn。3.选择p为小于100的最大质数、q为大于100的最小质数,计算RSA算法的公钥(e,n)和私钥(d,n)。4.基于公钥(e,n)和私钥(d,n),以及Power_Mod计算明文M=52的密文C,并计算密文C的明文M,验证算法的正确性。05.尝试一个更大的M(但不要超过n),计算密文C;利用解密公式反求解M,体会计算过程与结果的差异。实验内容:1.算法简介RSA公钥加密算法是1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·

3、阿德曼(LeonardAdleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。RSA算法基于一个

4、十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。正是基于这种理论,RSA算法通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥

5、和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。1.素数的计算与判别素数的定义是:一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除。换句话说就是该数除了1和它本身以外不再有其他的因数;否则,称为合数。根据这一原则,最小的素数是2,它也是唯一的偶素数。再往后是3,5,7,11

6、,13,17,19等等。要判别一个数q是否是素数其实就是看他能不能被其他大于1的自然数整除:如果不存在这样的自然数,那么q就是素数;否则q就是合数。对于一个给定的整数,一个简单的方法是用它去除以所有比它小的整数,如果都不能整除,那么就是素数,否则就是合数。但是使用这种方法的效率往往较低,可以从两个角度进行改进。第一,由于合数是两个或两个以上素数的乘积,只要一个数能够被一个小于它素数整除,那么这个数字的倍数都是合数。这样,对于一个给定的数字,我们只要看它能否整除小于它的素数就可以判别该数字的类型了。第二个

7、方面,2,3,5,11等素数都有较为容易的判别准则,可以尝试利用这些准则进行筛选备选素数。例如,所有的偶数都不用进行尝试了,或者所有末尾是5的数字也不需要尝试。给出你的想法和实现。2.余数的性质余数的定义:如果整数a=c*n+r(0=

8、1)*n+r1*r2]modn=(r1*r2)modn利用这两条性质,我们就可以利用余数r1和r2四则运算的结果对n求余数,从而实现对原始整数a,b四则运算的求余数。1.幂指数余数的简化计算对于Bi,当B或者i非常大的时候,整数Bi的数值会非常大,很容易就会出现超出计算机的存储范围。但是如果我们求解的是幂指数Bi的余数时,就可以利用余数的性质进行简化。如果B>M并且B=c*M+r(0<=r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。