RSA算法实验报告

上传人:拖*** 文档编号:291087533 上传时间:2022-05-11 格式:DOCX 页数:5 大小:17.60KB
返回 下载 相关 举报
RSA算法实验报告_第1页
第1页 / 共5页
RSA算法实验报告_第2页
第2页 / 共5页
RSA算法实验报告_第3页
第3页 / 共5页
RSA算法实验报告_第4页
第4页 / 共5页
RSA算法实验报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《RSA算法实验报告》由会员分享,可在线阅读,更多相关《RSA算法实验报告(5页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑RSA算法实验报告 RSA算法的实现 一、测验目的 1、理解公钥密码体制根本原理。 2、理解并能够编写RSA算法。 3、纯熟应用C+编程实现算法。 二、测验内容 利用C+编程实现RSA算法密码体制,算法描述参考课本P191-204。 三、测验原理 1、算法原理 步骤如下(这里设B为是实现着) (1)B探索出两个大素数p和q。 (2)B计算出n=p*q和?(n)=)(p-1)*(q-1)。 (3)B选择一个随机数e(0=m) return 1; else return 0; (2)模幂算法 (这里以明文m为一个为例) 令f=1; 用for循环遍历从i=1到i=

2、b,令f=(f*a)%n 输出f,f的值即为模幂的结果。 int multiplication(int a,int b,int n) int f=1; for(int i=1;i=d) x3=f; y3=d; else x3=d; y3=f; while( 1 ) if ( y3 = 1 ) *result = y2; /* 两个数互素那么resutl为其乘法逆元,此时返回值为1 */ return 1; q = x3/y3; t1 = x1 - q*y1; t2 = x2 - q*y2; t3 = x3 - q*y3; x1 = y1; x2 = y2; x3 = y3; y1 = t1;

3、y2 = t2; y3 = t3; (4)主函数 输入两个数字判断是否为素数,当不为素数时重新输入。如输入 17 11 输入e,得到公钥。如输入e为7 调用ExtendedEuclid(e,N,&d)函数,得到d,和私钥。如d=23 输入明文长度。如输入 5 如输入明文为 56 88 78 12 23 开头加密,调用加密函数 Encryption()。 那么输入密文为 78 11 56 177 133 开头解密,调用解密函数 Decipher()。 那么解密后明文为 56 88 78 12 23 四、算法流程图 开头 输入两个素数p和q N 调用Prime() Y 找出N=(p-1)*(q-1

4、)的全体公约数 输入不等于N公约数的e 输入明文长度len及明文 N 调用ExtendEuclid(e,N,&d) i=0 i len Y 开头加密调用Encryption() 调用multiplication(m1i,e,n) i+ 输出密文 i=0 N 开头解密调用Decipher() i len Y 调用multiplication(m1i,e,n) i+ 输出明文,终止 五、测验心得和总结 我是这次试验主要负责人, 由于测验要分组做,每个人都要负责一个工程,在我们组 前两次测验中,我主要负责编写代码,像写报告、做PPT我几乎没有参与。但这次不一样了,所以的工作自己都要操起心来,比同组的

5、同学多做一些工作,多分担一些,但是组员也很给力,测验的时候给了我好多建议与指导,制作PPT时给了我好多建议和扶助,有了团队精神所以效率提高了好多。所以这次试验下来感觉自己比以前做测验多学了好多东西,由于什么都要动手做,不懂得东西要查询领会。 我感觉做测验对学生真正掌管学识很重要。上课的时候只是听老师讲RSA算法顶多就是学会理论学识,而真正实践动手做的时候就会察觉自己漏洞百出,由于考虑问题不周全,编写代码的时候总是出错,编写的不完善,算法的功能没有全部表达,结果又翻看了课本、大一的时候学的C+课本、大二学的密码学根基课本和信息安好概论课本。稳定了一些已经忘却了的根基学识,有不太理解的算法实现方法

6、就通过上网查询以及与同学议论来解决。这次 写代码是我参与编写过的对比长的代码,RSA算法的算法原理我理解的对比领会,所以对算法如何实现有确定的熟悉,编写起来也对比轻松一点。RSA算法用到了数论的学识,这次测验对我来说最难理解的就是扩展欧几里得算法,虽然在大二时学过了理论但实际编写还是有点难度的,通过查阅书籍及网上搜寻资料最终写出来扩展欧几里得算法实现函数。实在不轻易啊。经过这次试验,我熟悉到了我编写代码的才能切实需要提升,需要平日更多的努力,相信以后在与组员以及其他同学的合作下,我能够学到更多学识。 六、参考资料 1 William Stallings 密码编码学与网络安好 电子工业出版社 2022年 2 李继国 信息安好密码学根基 武汉大学出版社 2022年 3 李红娇 信息安好概论 中国电力出版社 2022年 七、测验结果截图 5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号