matlab实验四 古典密码与破译.docVIP

  • 104
  • 0
  • 约7.61千字
  • 约 13页
  • 2017-06-04 发布于河南
  • 举报
matlab实验四 古典密码与破译

实验四 古典密码与破译 姓名:****学号:********实验日期:2010年月日理解古典密码的加密与解密原理、破译思想;能用Matlab编写Hill2意义下的古典密码加密、解密和破译程序Matlab中如何求且汉语拼音的 26 个字母以及空格与 0~26 之间的整数建立一一对应的关系,试修正表 1、表 2 以及附录中的程序,以给出模 27 意义下矩阵可逆的判别方法和具体求法。 2. 若将自己的姓名的拼音作为明文,密钥等参见练习 1,求其在模 27 意义下的Hill2密文。 3. 若将自己的姓名的拼音作为Hill2密文,密钥等参见练习 1,求其在模 27 意义下的明文。 4. 利用所介绍的Hill2密码体制的原理,根据给定的 26 个英文字母的乱序表值(见表4),设计与建立 Hill4密码体制的加密、解密与破译框图并建立必要的计算机程序.设英文 26 个字母以下面的乱序表与中的整数对应: (1) 设,验证矩阵能否作为 Hill4密码体制的加密矩阵.用框图画出你的验算过程,并编写相应的计算机程序。 (*)(2) 设明文为HILL CRYPTOGRAPHIC SYSTEM IS TRADJITIONAL.且汉语拼音的 26 个字母以及空格(字母 A~Z 的表值为 1~26,空格的表值为 0)与 0~26 之间的整数建立一一对应的关系,称之为字母的表值,试修正表 1、表 2 以及附录中的程序,以给出模 27 意义下矩阵可逆的判别方法和具体求法。 理论指导或编辑说明: 1.input(一些提示语句):由键盘输入表达式。 2、[m, n]=size(a):求矩阵a的维数;mod(m, n):求 m 被 n 整除后的余数。 3、gcd(m, n):求m, n的最大公约数; inv(a):求矩阵 a 的逆矩阵。 4、fprintf(fid, format, A, ...):以指定格式将数据写入文件,若无参数fid,则输出到屏幕. 程序: 1、m=27; for a=1:m for i=1:m if mod(a*i, m)==1 fprintf(The INVERSE (mod %d) of number: %d is: %d\n, m, a, i);break; end; end; end 2、模 27 意义下矩阵可逆的判别方法和具体求法的程序 m=27; aa=input(输入一个2×2的矩阵,格式:[a11 a12;a21 a22]: ) while size(aa)~=[2 2] aa=input(输入一个2×2的矩阵,格式:[a11 a12;a21 a22]: ) end a=det(aa);bb=aa; if gcd(m, a)~=1 disp(该矩阵不可逆) else for i=1:m if mod(a*i, m)==1 antaa=i;break; end end astar=[aa(2,2) -aa(1,2);-aa(2,1) aa(1,1)]; invaa=mod(antaa*astar,m); disp([原矩阵是:, mat2str(aa), ,它的逆矩阵(mod, num2str(m), ) 是: , mat2str(invaa)]) end 程序的输出结果: 1、The INVERSE (mod 27) of number: 1 is: 1 The INVERSE (mod 27) of number: 2 is: 14 The INVERSE (mod 27) of number: 4 is: 7 The INVERSE (mod 27) of number: 5 is: 11 The INVERSE (mod 27) of number: 7 is: 4 The INVERSE (mod 27) of number: 8 is: 17 The INVERSE (mod 27) of number: 10 is: 19 The INVERSE (mod 27) of number: 11 is: 5 The INVERSE (mod 27) of number: 13 is: 25 The INVERSE (mod 27) of number: 14 is: 2 The INVERSE (mod 27) of number: 16 is: 22 The INVERSE (mod 27) of number: 17 is: 8 The INVERSE (mod 27) of number: 19 is: 10 The INVERSE (mod 27) of number: 20 is: 23 The INVERSE (mod 27) of number: 22 is: 16 The INVER

文档评论(0)

1亿VIP精品文档

相关文档