密码学课程设计报告(2)

2025-06-21

密码学课程设计

} ciphertext[i]%=26; if(ciphertext[i]<0)ciphertext[i]+=26; char dd = ciphertext[i] + a2; s2.push_back(dd); } return s2; }

int DET(int n ,int c [M][M]) {

if(n==2)return c[0][0]*c[1][1]-c[0][1]*c[1][0];

int i_1,j_1,d; //d为数组b的行 int b[M][M]; //用于存放余子式 int p=0,q=0; int sum=0;

for(i_1=0;i_1

for(d=0;d

if(d

for(j_1=0;j_1

b[d][j_1]=c[d+p][j_1+1]; } } if(i_1%2==0) q=1; else q=-1; sum=sum+c[i_1][0]*q*DET(n-1,b); }

return sum; }

void show() { cout<<\

***********************************************************\ cout<<\

***********************************************************\ cout<<\ ****************** 欢迎使用加解密系统 ***************\

6

密码学课程设计

cout<<\ **************请根据提示输入秘钥、明文和密文***************\ cout<<\

***********************************************************\ cout<<\

***********************************************************\ cout<<\按回车键有电脑随机生成秘钥矩阵\ system(\ cout<

int main() { show(); srand(time(0)); next: int a[M][M];//存储原矩阵 int _a[M][M];//a的逆矩阵 int b[M][M];//a储伴随矩阵 int det = 0; //行列式 int _det = 0; //行列式的逆 for(int i=0;i7

密码学课程设计

int A_i_j=0; int c[M][M];//用于存储余子式的矩阵 int q=0;//行 int p=0;//列 //下面这两个循环完成了除去第i行第j列的余子式 for(int k=0;k

8

密码学课程设计

cout<<\行列式与26的公约数\ if(gcd(det,26)!=1 && gcd(det,26)!= -1) { cout<<\该秘钥不存在逆矩阵,按回车键重新随机生成新的秘钥矩阵:\ system(\ goto next; } det = det % 26; if(det<0)det+=26; for(int k= 0;k<26;k++) { if((k*26+1)Tt==0) { _det = (k*26+1)/det; break; } } cout<<\行列式的逆为:\ for(int i=0;i

9

密码学课程设计

next1: cout<<\******************* 1:加****************************\ cout<<\******************* 2:解****************************\ cout<<\******************* 3:退****************************\ cout<<\******************* 4:更改秘****************************\ int nn; cin>>nn; int a1=65,a2=97; if(nn==1) { string s1,s2; cout<<\请输入输入明文:\ cin>>s1; s2 = encryption_or_decryption(a2,a1,s1,a); cout<<\密文为: \ goto next1; } else if(nn==2) { string s1,s2; cout<<\请输入输入密文:\ cin>>s1; s2 = encryption_or_decryption(a1,a2,s1,_a); cout<<\解密后的明文: \ goto next1; } else if(nn==3) { cout<<\谢谢使用加解密系统,本程序结束\ return 0; } else if(nn==4) { goto next; } else { cout<<\输入错误,请重新输入:\

10

密 密 出 钥


密码学课程设计报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏教版小学语文三年级下册系统总复习(31页_超实用)

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219