欢迎来到天天文库
浏览记录
ID:20432095
大小:29.00 KB
页数:3页
时间:2018-10-12
《多表古典密码乘法加密运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、多表古典密码的乘法加密运算实验目的:1.熟练掌握多表古典密码简单乘法加密算法原理及实现;2.掌握多表古典密码简单乘法加密算法的应用;实验内容:1、写出多表(双表)古典密码的乘法加密运算的算法、程序设计;2、输入模q(根据明文确定)及加密密钥k1,k2对下列明文进行加法加密:Agraphisfiniteifbothitsvertexsetandedgesetarefinite.Inthisbookwestudyonlyfinitegraphs,andsotheterm‘graph’alwaysmeans‘finitegraph’.(注:标点符号及空格
2、也算一个符号,忽略大小)3、求出相对应于上述q和k的解密密钥。实验结果:1.(1)写出多表古典密码简单乘法加密算法如下:Step1:确定k和q的值;Step2:输入相应的密文;Step3:作变换c=(mi*ki)modq,字母用ASCII码变为数字后计算;Step4:得到相对应的明文;Step5:逐一输出明文;程序如下:#include#include#includemain(){charM[200];charC[200];intK[200],q=26,i,j;srand((unsigned)ti
3、me(NULL));for(j=0;j<=200;j++){K[j]=rand()%50;}printf("pleaseinputchars:");gets(M);for(i=0;M[i]!=' ';i++){if(M[i]>='a'&&M[i]<='z'){C[i]=((M[i]-'a'+1)*K[i])%q+'a';}elseif(M[i]>='A'&&M[i]<='Z'){C[i]=((M[i]-'A'+1)*K[i])%q+'A';}elseC[i]=M[i];}C[i]=' ';printf("Theresultis:%s
4、",C);getch();}2.进行乘法加密后的结果为:3.解密密钥为:m[i]=k[i]d*c[i]modq总结与分析:程序设计过程中,运用C++环境运行时需要注意程序的综合运用,不同的运行环境下,需对程序做相应的改变。通过本次试验,进一步了解了多表古典密码简单乘法加密算法原理及实现;掌握了多表古典密码简单乘法加密算法的应用;附件:Ch4多表(双表)古典密码的乘法加密运算的程序设计文件注:实验结束,将所有材料打包(文件采用统一格式:sn1-学号,以后的实验资料采用类似的文件格式)压缩并发送到:hzsx2004@yahoo.com.cn
此文档下载收益归作者所有