Hill密码的加密.doc_第1页
Hill密码的加密.doc_第2页
Hill密码的加密.doc_第3页
Hill密码的加密.doc_第4页
Hill密码的加密.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Hill密码的加密、解密和破译 实验报告吴林柱5100309888实验任务2、 利用所介绍的Hill密码体制原理,根据所给定的26个英文字母的乱序表值(见表),设计与Hill4密码体制的加密、解密与破译框图并建立必要的计算机程序。设英文26个字母以下的乱序表与Z26中的整数对应:ABCDEFGHIJKLM523220101584182501613NOPQRSTUVWXYZ731196122421171422119(1) 设,验证矩阵A能否作为Hill4,用框图画出你的验算过程,并编写相应的计算机程序。(2) 设明文为HILL CRYPTOGRAPHIC SYSTEM IS TRADITIONAL。利用上面的表值与加密矩阵给此明文加密,并将得到的密文解密。画出加密与解密过程的框图并编写相应的计算机程序。(3) 已知在上述给定值下的一段密文为JCOWZLVBDVLEQMXC,对应的明文为DELAY OPERATIONSU。能否确定对应的加密矩阵?给出你的判断过程。4、 如下的密文据表10.1以Hill加密,密文为VIKYNOTCLKYRJQETIRECVUZLNOJTUYDIMHRFITQ。已获知其中相邻字母LK表示字母KE,试破译这份密文。5、 找出元素属于Z26的所有可能的Hill密码加密矩阵。若截获了如下一段密文UTCQCVFOYQUVMGMGULFOLEYHDUDOPEASWXTIFBAMWT且知他是根据表10.1按Hill密码 体制加密的,能否破译?实验解答2、(1) 由定义可知,元素属于Zm的方阵A模m可逆的充要条件是,m和det A没有公共素因子。因此,框图如下:若det A与26没有公共素因子,则A可用。求det A与26的公共素因子求矩阵A的行列式det AMatlab程序:function y=isInverse(M)D=det(M);if gvd(D,26)=1y=false;elsey=true;end;经验证,det A=-1,因此,A可作为Hill4密码体制的加密矩阵。(2)加密框图:输出密文将密文字符串拼接起来将结果按表转换为密文将明文按四个一组与A相乘输入明文,并用哑字母补长解密框图:将明文字符串拼接起来将结果按表转换为字母密文四个一组与A-1相乘输入密文,并转换为矩阵加密程序: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; str(i+j-1)=A+z-1; end;end;A的模26逆矩阵为:,(3)由定理可知,若密文模26可逆,则可以确定对应的加密矩阵。因此,可以根据表值求出密文对应的矩阵:det(P)=77881,易知77881与26互素,因此,可以求得加密矩阵。程序:function y=translate(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);y=eye(len,1);for i=1:4:leny(i)=table(str(i)-A+1);end; y=translate(JCOWZLVBDVLEQMXC)y=25 2 3 14 9 16 17 23 20 17 16 10 19 13 22 2 y=25 9 20 19;2 16 17 13;3 17 16 22;14 23 10 2; det(y)ans = 77881 gcd(77881,26)ans = 14、 根据表10.1,LK表示的向量为,KE表示的向量为,则有 ,对这四个变量的方程组,在模26意义下的通解为,c是Z26的任意数,即解密矩阵为,对矩阵进行搜索,可以得到其中所有的模26可逆的矩阵,数量很大,用所得的矩阵与那段密文可求的同样数量的明文,从中可得有意义的明文。明文为:CAN YOU MAKE AN OMELETTE WITH OUTBREAKING EGGSS。程序:function f(inStr)table=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0;len=length(inStr);col=eye(len,1);for i=1:len col(i)=table(inStr(i)-A+1);end;P=eye(2,2);for i=0:25 for j=0:25 P(1,1)=i;P(1,2)=mod(6*i+1,26); P(2,1)=j;P(2,2)=mod(6*j+17,26); outStr=blanks(len); for x=1:2:len rt=eye(2,1); rt(1)=col(x); rt(2)=col(x+1); rt=mod(P*rt,26); if rt(1)=0 outStr(x)=Z; else outStr(x)=A+rt(1)-1; end; if rt(2)=0 outStr(x+1)=Z; else outStr(x+1)=A+rt(2)-1; end; end; disp(outStr); end;end; y=f(VIKYNOTCLKYRJQETIRECVUZLNOJTUYDIMHRCFITQ);5、 所有Z26的明文共有26*26种组合,密文也有26*26种组合,因而所有的加密矩阵将有十多万。可以按明文和密文从A到Z进行搜索:求模逆矩阵程序:function y=invmod(p,c)d=det(p);if gcd(d,26)=1end;elsefor i=1:25if mod(i*d,26)=1breakend;end;id=i;y=mod(d*inv(p)*id,26);end;y=mod(c*y,26);求所有加密矩阵程序:function all()p=eye(2,2);c=eye(2,2);rt=eye(2,26*26);count=1;for i=A:Zfor j=A:Zrt(1,count)=i;rt(2,count)=j;end;end;for i=1:26*26for j=1:26*26p=rt(i),rt(j);if gcd(det(p),26)=1for x=1:26*26for y=1:26*26c=rt(x),rt(y);result=invmod(p,c);resultend;end;end;end;end;解密程序:col为输入的密文的对应的向量,P为所有肯能的解密矩阵,n为所有解密矩阵的个数function decryption(col,A,n)for i=1:nresult=A*coldisp(result);end;实验小结:在Hill密码这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论