900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > rsa加解密算法报告c语言 RSA加密解密算法c语言程序Word版

rsa加解密算法报告c语言 RSA加密解密算法c语言程序Word版

时间:2022-10-31 22:13:45

相关推荐

rsa加解密算法报告c语言 RSA加密解密算法c语言程序Word版

《RSA加密解密算法c语言程序Word版》由会员分享,可在线阅读,更多相关《RSA加密解密算法c语言程序Word版(5页珍藏版)》请在人人文库网上搜索。

1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!#include#include#include/将十进制数转换成二进制,用于检验大素数p和qint zhuan_huan(int b,int a,int k)int t,temp=-1;while(b0)t=b%2;temp+;atemp=t;b=b/2;return temp;/欧几里得算法,用于判断加密指数e是否符合要求int gcd(int n,int b)int r1=n,r2=b,r;while(r20)r=r1%r2;r1=r2;r2=r;return r1;/扩展欧几里得算法求乘法逆元,即求解密指数dint extend(i。

2、nt n,int b)int q,r,r1=n,r2=b,t,t1=0,t2=1,i=1;while(r20)q=r1/r2;r=r1%r2;r1=r2; r2=r;t=t1-q*t2;t1=t2;t2=t;if(t1=0) return t1%n;else传播优秀Word版文档 ,希望对您有帮助,可双击去除!while(t1+i*n)=0;i-)x=d;d=(d*d)%n;if(d=1)&(x!=1)&(x!=n-1)return 0;if(bi=1)d=(d*a)%n;if(d!=1)return 0;elsereturn 1;/快速计算模指数int js_mod(int a,int b,。

3、int n)int x=0,y=1,k,i,s1000;k=zhuan_huan(b,s,1000);for(i=k;i=0;i-)x=2*x;y=(y*y)%n;if(si=1)x+;y=(y*a)%n;return y;/主函数。void main()int p,q,e,d,n,yn,m1000,c10000;/c10000存放加密后的数字密文,m1000存放解密后的数字明文,即英文明文在zimu_biao69中的下标。int i,j;/i,j用于循环遍历数组传播优秀Word版文档 ,希望对您有帮助,可双击去除!int mi_yue;/用户输入的密钥int count=1;/统计输入密钥的。

4、次数,count3时将不允许用户再输入。char min_wen1000,re_min_wen1000;/分别为用户输入的明文、密文,解密后的明文。/密钥生成char zimu_biao69=abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789.?!;printf(请输入您要发送的明文文件(小写英文表示):n);printf(*n);gets(min_wen);printf(*n);printf(n加密开始,请按要求操作。nn);printf(请输入第一个大素数p:n);while(1)scanf(%d,&p);if(。

5、Witness(2,p)=1)printf(您输入的第一个大素数 %d 符合要求n,p);break;elseprintf(您输入的 %d 不是素数,请重新输入:n,p);printf(请输入第二个大素数q:n);while(1)scanf(%d,&q);if(Witness(2,q)printf(您输入的第二个大素数 %d 符合要求n,q);break;elseprintf(您输入的 %d 不是素数,请重新输入:n,q);n=p*q;yn=(p-1)*(q-1);printf(请输入加密指数(整数)e,且03)printf(n您已%d次输入的密钥错误,将不允许继续输入n,count-1);break;。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。