RSA算法C语言代码

上传人:s****a 文档编号:51954222 上传时间:2022-02-07 格式:DOCX 页数:4 大小:10.57KB
收藏 版权申诉 举报 下载
RSA算法C语言代码_第1页
第1页 / 共4页
RSA算法C语言代码_第2页
第2页 / 共4页
RSA算法C语言代码_第3页
第3页 / 共4页
资源描述:

《RSA算法C语言代码》由会员分享,可在线阅读,更多相关《RSA算法C语言代码(4页珍藏版)》请在装配图网上搜索。

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=1if(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%b,

2、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;1 / 4.N=(p-1)*(q-1);/printf(n=%d N=%dn,n,N);srand( (unsigned)time( NULL ) );/初始化随机数while(1)/产生随机整数 e, e与N互质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,Y);/ prin

3、tf(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+)/去掉 s100中的空格if(si122)bk=i;k+;for(j=i;jlen-1;j+)sj=sj+1;len-;slen=0; /结束符printf(密文是: );for(i=0;ilen;i+)2 / 4.C=1;/printf(shiji=%dn,si-97);for(int j=0;je

4、;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=cj-1;ci= ;len+;bz+

5、1=bz+1+(z+1);break;3 / 4.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;4 / 4

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!