#include<iostream>
using namespace std;
int main()
{int x=0,e=0,n=0,i=0;
int L=0; //用于保存二进制位数
int p=0,q=0;//用于十进制转化为二进制存储商和模
int binary_e[50];//存放e转化成的二进制
int op_binary_e[50];//存放逆二进制
cout<<"请输入求幂算法x^e mod n的各参数:"<<endl;
cout<<"x=";
cin>>x;
cout<<"e=";
cin>>e;
cout<<"n=";
cin>>n;
for( i=1;e!=1;i++)
{
q=e%2;
p=e/2;
op_binary_e[i]=q;
e=p;
}
op_binary_e[i]=1; //op_binary_e存放的是逆二进制
L=i;
for(int j=1;j<=L;j++)
{
binary_e[j]=op_binary_e[i];
i=i-1;
}
cout<<"第一步:您输入的e转化为二进制为:";
for(int j=1;j<=L;j++)
{
cout<<binary_e[j];
}
cout<<endl<<"第二步: 执行循环体得出余数z为:";
int z=1;
for (int m=1;m<=L;m++)
{z=(z*z)%n;
if (binary_e[m]==1)
z=(z*x)%n;
}
cout<<z;
int k;
cin>>k;
}
C++RSA求幂算法 计算机信息安全课程 编程实现RSA
4星 · 超过85%的资源 需积分: 20 111 浏览量
2014-06-08
11:08:35
上传
评论
收藏 3.48MB RAR 举报
ht355277616
- 粉丝: 2
- 资源: 13
最新资源
- yolo目标检测项目实验
- downloadFile-1.hc
- Centos7.9环境下离线安装开源版Nginx(亲测版)
- C++课程设计:基于Qt的航班信息管理系统
- ADS7822UVerilog驱动,前面传的有点问题
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
- (HAL库)基于STM32F103C8T6的温控PID系统[Dht11、ESP8266、无线透传、L298N……]
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈