RSA加解密过程及实现.doc

RSA加解密过程及实现.doc

ID:49438279

大小:347.50 KB

页数:6页

时间:2020-03-01

RSA加解密过程及实现.doc_第1页
RSA加解密过程及实现.doc_第2页
RSA加解密过程及实现.doc_第3页
RSA加解密过程及实现.doc_第4页
RSA加解密过程及实现.doc_第5页
资源描述:

《RSA加解密过程及实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、********************本科生作业********************兰州理工大学计算机与通信学院2017年春季学期信息安全课程专业:物联网工程姓名:学号:授课教师:郭显成绩:RSA加解密过程及其实现1.RSA概述1.1RSA算法RSA加密算法是一种最常用的非对称加密算法,CFCA在证书服务中离不了它。在公钥加密标准和电子商业中,RSA被广泛使用。RSA算法使用乘方运算,明文以分组为单位进行加密,每个分组的二进制值均小于,也就是说,分组的大小必须小于或等于位,在实际应用中,分组的大小位,其中。

2、对明文分组M和密文分组C,加密和解密过程如下:其中收发双方均已知n,发送方已知e,只有接收方已知d,因此公钥加密算法的公钥为PU={e,n},私钥为PR={d,n}。该算法要能做公钥加密,必须满足以下条件:(1)可以找到e,d,n,使得对所有的M

3、是私钥。是秘密的。Alice将她的公钥传给Bob,而将她的私钥藏起来。图1RSA加密过程2.实例描述(1)选择两个素数,。(2)计算。(3)计算。(4)选择使其与互素且小于,这里选择。(5)确定使得且。因为,所以。可利用扩展的欧几里得算法来计算。所得的公钥、私钥。该例说明了输入明文时这些密钥的使用情况。加密时需计算。利用模算术的性质,我们如下计算:解密时,我们计算3.RSA算法的安全性在RSA密码应用中,公钥是被公开的,即和的数值可以被第三方窃听者得到。破解RSA密码的问题就是从已知的和的数值(等于),想法求出的

4、数值,这样就可以得到私钥来破解密文。从上文中的公式:或我们可以看出。密码破解的实质问题是:从的数值,去求出和。换句话说,只要求出和的值,我们就能求出的值而得到私钥。当和是一个大素数的时候,从它们的积去分解因子和,这是一个公认的数学难题。比如当大到1024位时,迄今为止还没有人能够利用任何计算工具去完成分解因子的任务。然而,虽然RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何。此外,RSA的缺点还有:A)产生密钥很麻烦,

5、受到素数产生技术的限制,因而难以做到一次一密。B)分组长度太大,为保证安全性,至少也要600bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。因此,使用RSA只能加密少量数据,大量的数据加密还要靠对称加密算法。4.程序代码#includeintrsa(inta,intb,intc){intr=1;b=b+1;while(b!=1){r=r*a;r=r%c;b--;}printf("%d",r);ret

6、urnr;}voidmain(){intp,q,e,d,m,n,t,c,r;chars;printf("请输入p,q:");scanf("%d%d",&p,&q);n=p*q;printf("n的值是%4d",n);t=(p-1)*(q-1);//欧拉函数printf("t的值是%4d",t);printf("请输入e:");scanf("%d",&e);if(e<1

7、

8、e>t){printf("e出错,请重新输入");scanf("%d",&e);}d=1;while(((e*d)%t)!=1)d++;

9、printf("thencaculateoutthatthedis%d",d);printf("加密请输入1");printf("解密请输入2");scanf("%d",&r);switch(r){case1:printf("输入要加密的明文数字m:");/*输入要加密的明文数字*/scanf("%d",&m);c=rsa(m,e,n);printf("其密码是%d",c);break;case2:printf("输入要解密的密文数字c:");/*输入要解密的密文数字*/scanf("%d",&c

10、);m=rsa(c,d,n);printf("其密码是%d",m);break;}}5.程序测试结果图2RSA加密图3RSA解密总结:通过c语言的程序实现对RSA算法的理解加深了。

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

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

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