• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C/C++
  • 标签: 仿射加密  

资源简介

现代密码学里的仿射密码,此程序的逆元求法用的是手工算法的原理,不是用的穷举法!!!!!

资源截图

代码片段和文件信息

#include
using namespace std;
//#define m 26
//求逆元
int niyuan(int mint a)
{

int n=0t=1qpbc;
c=m;
while(a!=1)
{
q=m/a;
p=a;
a=m-q*a;
m=p;
b=t;
t=n-q*t;
n=b;
// cout<<“1“< }
while(t<0)
{
t=t+c;
}
return t;
}
//加密
int jiami(int k1int k2int mint g)
{
int f=k1*g+k2;
int h=f/m;
f=f-m*h;
return f;
}
//解密
int jiemi(int k1int k2int mint n)
{
int f=niyuan(mk1)*(n-k2);
int h=f/m;
f=f-m*h;
return f;
}
void display()
{
cout<<“输入你要执行的功能:“< cout<<“1   加密功能“< cout<<“2    解密功能“< cout<<“输入对应的编号执行相应的功能“<}
//主函数
void main()
{
int k1k2m;
cout<<“输入模m:“;
cin>>m;
cout<<“输入密钥k1(质数)和k2:“;
cin>>k1>>k2;


char a[100]b[100];
display();
while(1)
{

评论

共有 条评论