RSA加密解密C++版

RSA加密解密C++版

ID:40564708

大小:30.00 KB

页数:5页

时间:2019-08-04

RSA加密解密C++版_第1页
RSA加密解密C++版_第2页
RSA加密解密C++版_第3页
RSA加密解密C++版_第4页
RSA加密解密C++版_第5页
资源描述:

《RSA加密解密C++版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、运行环境:WindowsXP开发环境:MicrosoftVisualC++中文版软件思路:加密密钥和解密密钥的生成过程:①选取两个足够大的质数P和Q;②计算P和Q相乘所产生的乘积n=P*Q;③找出一个小于n的数e,使其符合与(P-1)*(Q-1)互为质数;④另找一个数d,使其满足(e*d)mod[(P-1)*(Q-1)]=1;(n,e)即为公开密钥,(n,d)即为私有密钥。//////////////////////////////////////////////////////////////////#include#include#incl

2、ude#includeusingnamespacestd;///////////////////////////////判断素数////////////////////////////intjudge_num(longn){longtemp=0,i;for(i=2;i<=n/2;i++)  temp=n%i;returntemp;}/////////////////////////产生密钥////////////////////////////////////voidcreatkey(longp,longq,longd){longe,n,m;b

3、oolok=true;cout<<"p=";cin>>p;while(judge_num(p)==0){cout<<"p不是素数,请重新输入:p=";cin>>p;}cout<<"q=";cin>>q;while(judge_num(q)==0){cout<<"q不是素数,请重新输入:q=";cin>>q;}n=p*q;m=(p-1)*(q-1);for(e=2;e<=m/2;e++)  for(d=sqrt(n);d>0;d--)  {if((e*d)%m==1)  {  cout<<"公钥:e=";  cout<

4、  cout<<"私钥:d=";  cout<>p;  while(judge_num(p)==0)  {    cout<<"p不是素数,请重新输入:p=";            cin>>p;  }  cout<<"q=";  cin>>q;        while(judge_num(q)==0)  {

5、    cout<<"q不是素数,请重新输入:q=";            cin>>q;  }      n=p*q;        m=(p-1)*(q-1);  }}}////////////////////////////////////加密////////////////////////////longckey(longed,longn,charc){longi,cc=1;for(i=0;i=n)cc=cc%n;  if(cc==0&&i!=(ed-1))  cc=1;}returncc;}/////

6、///////////////////////////////解密////////////////////////////longrkey(longed,longn,longc){longi,cc=1;for(i=0;i=n)cc=cc%n;  if(cc==0&&i!=(ed-1))  cc=1;}returncc;}//////////////////////////主函数//////////////////////////////intmain(){longp,q,d,k,e,n,nn=0,i,j;stringc;ch

7、arccc;intln=0;stringccn;longrc,rcn=1,rn;floatcn;boolok=true;while(ok){cout<<"请问您需要哪种服务?"<>k;}while(k!=1&&k!=2&&k!=3&&k!=4);if(k==4)ok=false;if(k==1)////////////////////密钥运算{creatkey(p,q,d);}if(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。