Hill密码的加密.docVIP

  • 106
  • 0
  • 约4.54千字
  • 约 7页
  • 2017-06-04 发布于河南
  • 举报
Hill密码的加密

Hill密码的加密、解密和破译 实验报告 吴林柱 5100309888 实验任务 利用所介绍的Hill密码体制原理,根据所给定的26个英文字母的乱序表值(见表),设计与Hill4密码体制的加密、解密与破译框图并建立必要的计算机程序。设英文26个字母以下的乱序表与Z26中的整数对应: A B C D E F G H I J K L M 5 23 2 20 10 15 8 4 18 25 0 16 13 N O P Q R S T U V W X Y Z 7 3 1 19 6 12 24 21 17 14 22 11 9 设,验证矩阵A能否作为Hill4,用框图画出你的验算过程,并编写相应的计算机程序。 设明文为HILL CRYPTOGRAPHIC SYSTEM IS TRADITIONAL。利用上面的表值与加密矩阵给此明文加密,并将得到的密文解密。画出加密与解密过程的框图并编写相应的计算机程序。 已知在上述给定值下的一段密文为JCOWZLVBDVLEQMXC,对应的明文为DELAY OPERATIONSU。能否确定对应的加密矩阵?给出你的判断过程。 如下的密文据表10.1以Hill加密,密文为VIKYNOTCLKYRJQETIRECVUZLNOJTUYDI MHRFITQ。已获知其中相邻字母LK表示字母KE,试破译这份密文。 找出元素属于Z26的所有可能的Hill密码加密矩阵。若截获了如下一段密文 UTCQCVFOYQUVMGMGULFOLEYHDUDOPEASWXTIFBAMWT 且知他是根据表10.1按Hill密码 体制加密的,能否破译? 实验解答 2、 由定义可知,元素属于Zm的方阵A模m可逆的充要条件是,m和det A没有公共素因子。因此,框图如下: Matlab程序: function y=isInverse(M) D=det(M); if gvd(D,26)~=1 y=false; else y=true; end; 经验证,det A=-1,因此,A可作为Hill4密码体制的加密矩阵。 (2) 加密框图: 解密框图: 加密程序: function m=encryption(str) table=[5 23 2 20 10 15 8 4 18 25 0 16 13 7 3 1 19 6 12 24 21 17 14 22 11 9]; len=length(str); A=[8 6 9 5;6 9 5 10;5 8 4 9;10 6 11 4]; tmp=blanks((floor(len/4)+1)*4-mod(len,4)); if mod(len,4)~=0 for i=1:length(tmp) tmp(i)=str(len); end; end; str=strcat(str,tmp); len=length(str); m=blanks(len); for i=1:4:len col=eye(4,1); for j=1:4 col(j)=table(str(i+j-1)-A+1); end; col col=mod(A*col,26); col for j=1:4 for z=1:26 if col(j)==table(z) break end; end; m(i+j-1)=A+z-1; end; end; str=encryption(HILLCRYPTOGRAPHICSYSTEMISTRADITIONAL); 密文为KEGTKPNJKYXRLAOLMZTPVYIUNHZSCEGDZRPZ 解密程序: function str=decryption(str0,A) table=[5 23 2 20 10 15 8 4 18 25 0 16 13 7 3 1 19 6 12 24 21 17 14 22 11 9]; len=length(str0); str=blanks(len); for i=1:4:len col=eye(4,1); for j=1:4 col(j)=table(str0(i+j-1)-A+1); end; col=A*col; for j=1:4 for z=1:26 if col(j)==table(z) break end; end; st

文档评论(0)

1亿VIP精品文档

相关文档