RSA算法(论文+代码)_第1页
RSA算法(论文+代码)_第2页
RSA算法(论文+代码)_第3页
RSA算法(论文+代码)_第4页
RSA算法(论文+代码)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RSA加密算法设计报告课题名称:RSA加密算法设计人(姓名): 设计人(学号): 指导教师: 评阅成绩: 评阅意见: 提交报告时间:20年月日RSA加密算法计算机科学与技术专业学生指导老师[摘要]RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是由RonRivest、AdiShamir、LenAdleman与1997年在MT开发的。RSA是被研究得最广泛的公钥算法,采用分块加密的思想,明文和密文都是0到n—1中的某个整数,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。关键词:RSA公钥NPC一.设计环境硬件环境:Inter(R)Core(TM)软件环境:操作系统:Windowsxp操作系统编译软件:VisualC++二.算法描述1.选择两质数p、q2.计算n=p*q。3.计算n的欧拉函数(n)=(p-1)(q-1)。选择整数e,使e与(n)互质,且lvev(n)。计算d,使d*e=1mod(n)。其中,公钥KU={e,n},私钥KR={d,n}。加密:C=Memodn解密:M=Cdmodn=(Me)dmodn=Medmodn三.源程序清单:#include<iostream>usingnamespacestd;intmain(){intp,q,N;inti,D,E,PT,CT;coutvv"*****RSA加密算法*****"vvendlvvendl;coutvv"输入两个素数p和q:\n";cin>>p;cin>>q;N=(p-1)*(q-1);for(i=2;i<N;i++){if(N%i==0){cout<<i<<"";}}"<<endl;cout<<"\n\n输入一个数,该数不等于上面的任何一个数!"<<endl;cin>>E;i=1;while(i>0){if((i*E)%N==1){D=i;cout<<D<<endl;break;}i++;}cout<<"输入需要加密的明文!"<<endl;cin>>PT;intj=PT;for(i=1;i<E;i++){PT*=j;}cout<<"\n加密后的密文是:";CT=PT%(p*q);cout<<CT<<endl;cout<<"\n*****RSA解密算!*****\n\n";cout<<"接收的密文是"<<CT<<endl;coutvv"密钥是:"vvDvvendl;cout<<"解密后的明文是:\n";PT=CT;for(j=1;j<D;j++){PT=(PT*CT)%(p*q);}cout<<PT<<endl;return0;四.运行结果:输入素数:«****RSH加密算祛&***林入两个素数P和甲E112•输入公钥、输出公钥*****flSABWHsXMKKK输入两个素数P和L51124581020输入一个数,该数不等于上面的任何一个数!73.输入明文进行加密、解密卜****耽弁力[]密算法*****输入两个素数P和咛亏1124581020甘入一个数,该数不等于上面的任何一个数!JfeiD密的明文|?训密后的密文是;4**«**RSA解密算?"X"k收曹密文是隹解密倉的明文是:9

一个完整的RSA截屏输入两个素数p和口717234681216243248输入一个数,该数不等于上面的任何一个数!密的明対帅密后的密文是;5*****RSA密算?5:5:是是文哀77明、:的書解五.RSA算法分析分析RSA的缺点主要有:产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。分组长度太大,为保证安全性,n至少也要600bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。RSA的安全性:RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前, RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。

RSA的速度:由于进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。。参考文献【1】 网络安全基础应用与标准(第二版中文版)WillianStallings(张英王景

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论