下载此文档

rsa加密解密算法c语言程序.docx


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
#include<>#include<>#include<>//将十进制数转换成二进制,用于检验大素数p和qintzhuan_huan(intb,inta[],intk){ intt,temp=-1;while(b>0){t=b%2;temp++;a[temp]=t;b=b/2;}returntemp;}//欧几里得算法,用于判断加密指数 e是否符合要求intgcd(intn,intb){intr1=n,r2=b,r;while(r2>0){r=r1%r2;r1=r2;r2=r;}returnr1;}//扩展欧几里得算法求乘法逆元,即求解密指数 dintextend(intn,intb){intq,r,r1=n,r2=b,t,t1=0,t2=1,i=1;while(r2>0){q=r1/r2;r=r1%r2;r1=r2; r2=r;t=t1-q*t2;t1=t2;t2=t;}if(t1>=0) returnt1%n;else{while((t1+i*n)<0)i++;returnt1+i*n;}}//检验大素数,符合要求返回1,否则返回0intWitness(inta,intn){intd=1,k,r=n-1,i,x,b[1000];k=zhuan_huan(r,b,1000);for(i=k;i>=0;i--){x=d;d=(d*d)%n;if((d==1)&&(x!=1)&&(x!=n-1)) return0;if(b[i]==1) d=(d*a)%n;}if(d!=1) return0;elsereturn1;}//快速计算模指数intjs_mod(inta,intb,intn){intx=0,y=1,k,i,s[1000];k=zhuan_huan(b,s,1000);for(i=k;i>=0;i--){x=2*x;y=(y*y)%n;if(s[i]==1){x++;y=(y*a)%n;}}returny;}//主函数。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。voidmain(){intp,q,e,d,n,yn,m[1000],c[10000];//c[10000]存放加密后的数字密文,m[1000]存放解密后的数字明文,即英文明文在zimu_biao[69]中的下标。inti,j;//i,j用于循环遍历数组intmi_yue;//用户输入的密钥intcount=1;//统计输入密钥的次数,count>3时将不允许用户再输入。charmin_wen[1000],re_min_wen[1000];// 分别为用户输入的明文、密文,解密后的明文。//密钥生成charzimu_biao[69]="abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'.?!";printf("请输入您要发送的明文文件(小写英文表示) :\n");printf("******************************************************\n");gets(min_wen);printf("*****************************

rsa加密解密算法c语言程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人459972402
  • 文件大小29 KB
  • 时间2019-12-27