matlab实验四 古典密码与破译.doc_第1页
matlab实验四 古典密码与破译.doc_第2页
matlab实验四 古典密码与破译.doc_第3页
matlab实验四 古典密码与破译.doc_第4页
matlab实验四 古典密码与破译.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

实验四 古典密码与破译姓名:*学号:*实验日期:2010年5月21日 实验目的:1、了解古典密码的主要内容,理解古典密码的加密与解密原理、破译思想;2、学会用Matlab软件来实现古典密码体制的加密和破译过程;能用Matlab编写Hill2意义下的古典密码加密、解密和破译程序;3、掌握Matlab中如何求模运算意义下的矩阵乘法、求逆矩阵、线性无关、线性空间与线性变换等概论和运算;实验项目: 1、按照甲方与乙方的约定,他们之间的密文通信采用 Hill2 密码,密钥为二阶矩阵且汉语拼音的 26 个字母以及空格与 026 之间的整数建立一一对应的关系,试修正表 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利用上面的表值与加密矩阵给此明文加密,并将得到的密文解密画出加密与解密过程的框图并编写相应的计算机程序。5. 设已知一份密文为 Hill2 密码体系,其中出现频数最高的双字母是 RH和 NI,而在明文语言中,出现频数最高的双字母为 TH 和 HE由这些信息按表 5 给出的表值能得到什么样的加密矩阵?实验背景:保密通讯在军事、政治、经济斗争和竞争中的重要性是不言而喻的在斗争或竞争中,一方要将信息传递给己方的接收者,同时又要防止其他人 (特别是敌方) 知道信息的内容他采用的一种方式是:将原来的信息(称为 明文) 经过加密,变成密文之后发送出去,使敌方即使得到密文也读不懂,而合法的接收者收到密文之后却可以按照预先约定好的方法加以解密,再翻译成明文而敌方却要千方百计从密文破译出明文来一方如何编制密码使之不易被破译,另一方则要找到其弱点加以破译,这就构成了密码学的主要内容实验具体过程1. 题目:实际问题 (甲) 的修正:按照甲方与乙方的约定,他们之间的密文通信采用 Hill2 密码,密钥为二阶矩阵且汉语拼音的 26 个字母以及空格(字母 AZ 的表值为 126,空格的表值为 0)与 026 之间的整数建立一一对应的关系,称之为字母的表值,试修正表 1、表 2 以及附录中的程序,以给出模 27 意义下矩阵可逆的判别方法和具体求法。理论指导或编辑说明:1input(一些提示语句):由键盘输入表达式。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、求表2 模27倒数表的程序m=27;for a=1:m for i=1:mif mod(a*i, m)=1fprintf(The INVERSE (mod %d) of number: %d is: %dn, m, a, i);break;end; end; end2、模 27 意义下矩阵可逆的判别方法和具体求法的程序m=27;aa=input(输入一个22的矩阵,格式:a11 a12;a21 a22: )while size(aa)=2 2aa=input(输入一个22的矩阵,格式:a11 a12;a21 a22: )enda=det(aa);bb=aa;if gcd(m, a)=1disp(该矩阵不可逆)else for i=1:mif mod(a*i, m)=1antaa=i;break;endendastar=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、求表2 模27倒数表的程序输出结果The INVERSE (mod 27) of number: 1 is: 1The INVERSE (mod 27) of number: 2 is: 14The INVERSE (mod 27) of number: 4 is: 7The INVERSE (mod 27) of number: 5 is: 11The INVERSE (mod 27) of number: 7 is: 4The INVERSE (mod 27) of number: 8 is: 17The INVERSE (mod 27) of number: 10 is: 19The INVERSE (mod 27) of number: 11 is: 5The INVERSE (mod 27) of number: 13 is: 25The INVERSE (mod 27) of number: 14 is: 2The INVERSE (mod 27) of number: 16 is: 22The INVERSE (mod 27) of number: 17 is: 8The INVERSE (mod 27) of number: 19 is: 10The INVERSE (mod 27) of number: 20 is: 23The INVERSE (mod 27) of number: 22 is: 16The INVERSE (mod 27) of number: 23 is: 20The INVERSE (mod 27) of number: 25 is: 13The INVERSE (mod 27) of number: 26 is: 262、模 27 意义下矩阵可逆的判别方法和具体求法的程序(运行时输入:1 2;0 4aa = 1 2 0 4原矩阵是:1 2;0 4,它的逆矩阵(mod27) 是: 1 13;0 7对实验题目的解答:1、 修正后的表1和表2分别为:表1:明文字母的表值ABCDEFGHIJKLMN1234567891011121314OPQRSTUVWXYZ空格1516171819202122232425260表2:模 26 倒数表1245781011131416171920222325261147114171952522281023162013262、 题目:若将自己的姓名的拼音作为明文,例如:赵本山 (ZHAO BEN SHAN,含空格),密钥等参见练习 1,即,求其在模 27 意义下的Hill2密文。理论指导或编辑说明:1、length(a):给出数组 a 的长度。2、double(字符):将字符内的字符转化成 ASCII 码。3、reshape(a, m, n):将矩阵 a 重排成 m*n 的矩阵。程序:在模 27 意义下的加密程序m=27;enmat=1 2;0 4;demat=1 13;0 7;ZERO=64;c=;en=;astr=input(输入要加密的明文文字(全部为大写字母或空格):)while any(double(astr)90 | double(astr)90 | double(astr)90 | double(p)90 | double(c)65) input(输入相应的明文文字(全部为大写字母):)endc=double(c)-zero;c=reshape(c, 2, 2);pc=p, c;if pc(1, 1)=0; emp=pc(1, :);pc(1, :)=pc(2, :);pc(2, :)=temp;endfor i=1:(m-1) if mod(pc(1, 1)*i, m)=1 ant=i; endendpc(1, :)=mod(pc(1, :).*ant, m);pc(2, :)=mod(pc(2, :)-pc(1, :).*pc(2, 1), m);for i=1:(m-1) if mod(pc(2, 2)*i, m)=1 ant=i; endendpc(2, :)=mod(pc(2, :).*ant, m);pc(1, :)=mod(pc(1, :)-pc(2, :).*pc(1, 2), m);a=pc(:, 3), pc(:, 4);a=a程序的输出结果:输入要解密的密文文字(全部为大写字母):RHNIp =RHNI

温馨提示

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

评论

0/150

提交评论