RSA算法C语言代码
《RSA算法C语言代码》由会员分享,可在线阅读,更多相关《RSA算法C语言代码(6页珍藏版)》请在装配图网上搜索。
1、#include #include #include #include #include char s100,*c;int n,e,d,i,C,j,k=0,len;int str100,b30;unsigned gcd(unsigned a, unsigned b ) if(a%b=0)return b;elsereturn gcd(b,a%b);void Egcd(int a, int b,int &x, int &y) /ax-by=1 if(b=0|a=0)x=1;y=0;return ;if(ab)Egcd(a,b%a,x,y); x=(int)(b*y+1)/a;elseEgcd(a
2、%b,b,x,y);y=(int)(a*x-1)/b;void RSA()int p,q,N,Y;printf(请输入素数p和q:);scanf(%d %d,&p,&q);n=p*q;初始化随机数产生随机整数e, e与N互质去掉 s100 中的空格N=(p-1)*(q-1);/printf(n=%d N=%dn,n,N);srand( (unsigned)time( NULL ) );/while(1) / e=rand()%N;/ printf(e=%dn,e); if(e=0) continue;if(gcd(N,e)=1)break;/printf(e=%dn,e);Egcd(e,N,d
3、,Y);/ printf(d=%d Y=%dn,d,Y);printf( 公钥 PU=e=%d,n=%dn,e,n); printf( 私钥 PR=d=%d,n=%dn,d,n);void encrypt() /加密函数len=strlen(s);/hgprintf(len=%dn,len);for(i=0;ilen;i+) /if(si122)bk=i;k+;for(j=i;jlen-1;j+) sj=sj+1;len-;slen=0; /结束符printf( 密文是: ); for(i=0;ilen;i+)C=1; /printf(shiji=%dn,si-97); for(int j=0
4、;je;j+) C=(C*(si-97)%n;/ printf(C=%ldn,C); stri=C;printf(%d ,stri); printf(n);void decrypt() / 解密函数 c=(char*)malloc(len*sizeof(int);for(i=0;ilen;i+) / 实现解密 C=1;for(int j=0;jd;j+) C=(C*(stri)%n;/ printf(C=%ldn,C); / printf(C=%dn,C); ci=C+97;ci = 0;/ puts(c);for(int z=0;zk;z+) / 加空格 for(i=0; ii;j-) cj
5、=cj-1; ci= ; len+; bz+1=bz+1+(z+1); break;clen = 0;printf( 明文: ); puts(c);int function()/ 系统功能选择页面int choice;printf(=n);printf(欢迎进入 RSA?法n);printf(1-加密n);printf(2-解密n);printf(3-退出n);printf(=n);printf( 请输入要选择的功能号: );scanf(%d,&choice);return choice;int main()int function();int fc;( 小写 ) : );提供私钥和公钥加密解密printf( 请输入初始明文 gets(s);/ puts(s);RSA();/while(1)fc=function();if(fc=1)/encrypt();else if(fc=2)/decrypt() ;else if(fc=3)break;elseprintf( 输入有误,请重新输入! /n);return 0;Welcome !欢迎您的下载,资料仅供参考!
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一元回归及相关分析课件
- 第六章北方地区第四节-祖国的首都——北京(课堂ppt)课件
- 第十三课《规划每一天》ppt课件
- 第十三课从蒸汽机到互联网ppt课件
- 第八章-真核基因表达调控ppt课件
- 第10章-中枢神经系统感染性疾病ppt课件
- 第十一课-公正处理民事关系ppt课件
- 第十三课《人的本质与利己利他》-一、正确处理利己和利他的关系ppt课件
- 第十四章-消息标题ppt课件
- 第23章第1节生物的生存依赖一定的环境ppt课件
- 第十八章电功率第1节电能电功ppt课件
- 第十二章-公共关系评估ppt课件
- 第十二章-词的初创及晚唐五代词ppt课件
- 一元二次方程解法——配方法课件
- 第十四章-流变学基础ppt课件