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

来源:网络收集 时间:2025-06-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

密码学课程设计

} 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

密 密 出 钥

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库密码学课程设计报告(2)在线全文阅读。

密码学课程设计报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/642591.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219