欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

RSA算法C语言代码

  • 资源ID:50328373       资源大小:33.50KB        全文页数:6页
  • 资源格式: DOC        下载积分:12积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要12积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

RSA算法C语言代码

#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include <time.h>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(a<b)Egcd(a,b%a,x,y); x=(int)(b*y+1)/a;elseEgcd(a%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,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;i<len;i+) /if(si<97|si>122)bk=i;k+;for(j=i;j<len-1;j+) sj=sj+1;len-;slen='0' /结束符printf(" 密文是: "); for(i=0;i<len;i+)C=1; /printf("shiji=%dn",si-97); for(int j=0;j<e;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;i<len;i+) / 实现解密 C=1;for(int j=0;j<d;j+) C=(C*(stri)%n;/ printf("C=%ldn",C); / printf("C=%dn",C); ci=C+97;ci = '0'/ puts(c);for(int z=0;z<k;z+) / 加空格 for(i=0; i<len; i+)if (i=bz) for(j=len;j>i;j-) cj=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 !欢迎您的下载,资料仅供参考!

注意事项

本文(RSA算法C语言代码)为本站会员(feng****ing)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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