您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Hill密码的加密论文(内含matlab程序代码)
Hill密码的加密,解密与破译摘要对于问题1.1:本文采用2Hill密码通信,对明文进行加密。利用已知的密钥矩阵,首先,将密文转化为对应表值数字。其次,对密文的数字转化为矩阵。最后,对明文解密。对于问题1.2:本文给出一组明文和密文,二者满足构成密钥的条件,通过求解的到密钥,并进行问题1.1的解题过程破译这段密文。对于问题2.1:本文给出4Hill密码矩阵A,并求出该矩阵的值是否与26互素,加以判断。若互素则能成为密钥,否则不能构成密钥。对于问题2.2:利用问题2.1所给的密码矩阵A,按照问题1.1的解题思路,将得到的密文解密。对于问题2.3:本文给出一段4Hill密码的密文和其对应的明文,通过检验二者是否满足构成密钥的条件,若满足解的密钥,并写出求解过程;若不满足加以说明。对于问题3:本文给出明文频数最高的字母TH和HE,及密文频数最高的字母RH和NI。两两组合得到两组“密钥”,并检验它们是否满足构成密钥的条件,若满足则解除密钥。对于问题4:本文给出频数最高的相邻明文字母KE和相邻密文字母LK,采用2Hill密码通信,利用所给字母与其他字母组合,构造2×2的矩阵,并检验是否满足构成密钥的条件,加以排除得到所要的密钥。若有满足条件的矩阵,破译所给密文。对于问题5:本文采用2Hill密码通信,根据26个字母搭配出2×2的所有矩阵,利用矩阵的值与26互质,加以排除不符合条件的矩阵,并求出满足条件的密钥,破译该段密文,再利用密文是否通顺加以排除,得到所要的明文和密钥。关键字密钥mod(26)逆mod(26)倒数一、Hill2密码的数学模型的主要符号说明wHill密钥的维数A密钥矩阵S明文Y密文m所用的表值编号YW哑文二、Hill2密码的数学模型Hill2密码是一种传统的密码体制加密过程的具体步骤如下:(1)、根据明文字母的表值将明文信息用数字表示,设明文信息只需要26个拼音字母A~Z(也可能不止26个,如还有数字、标点符号等),通信双方给出这26个字母表值(见表10.1明文字母的表值)。(2)、选择一个二阶可逆整数方阵A,称为Hill2密码的加密矩阵,它是这个加密体制的“密钥”(是加密的关键,仅通讯双方掌握)。问题(1)已给出了这个二阶矩阵。(3)、将明文字母依次逐对分组。Hill2密码的加密矩阵为二阶矩阵,则明文字母2个一组(可以推广至Hilln密码,则每n个明文字母为一组)。若最后一组只有一个字母,则补充一个没有实际意义的哑字母,这样使每一组都由2个明文字母组成。查出每个明文字母的表值,构成一个二维列向量α。(4)、A乘以α,得一新的2维列向量β=Aα,由的两个分量反查字母表值得到的两个字母即为密文字母。以上4步即为Hill2密码的加密过程。解密过程,即为上述过程的逆过程。1、实际问题:1.1、问题陈述甲方收到与之有秘密通信往来的乙方的一个密文信息,密文内容:WOWUYSBACPGZSAVCOVKPEWCPADKPPABUJCQLYXQEZAACPP按照甲方与乙方的约定,他们之间的密文通信采用2Hill密码,密钥为二阶矩阵1203A,且汉语拼音的26个字母与0-25之间的整数建立一一对应的关系,称之为字母的表值,具体的表值见表1,问这段密文的原文是什么?1.2、问题分析:首先给出如下定义:定义1:设A为定义在集合mZ上的n阶方阵,若存在一个定义在mZ上的方阵B,使得(mod26)ABBAE则称A模 m可逆,B为A的模 m逆矩阵,记为1(mod)BAm定义2:设maZ,若存在mbZ使得1ab,则称b为 a的模m倒数或乘法逆,记作1(mod)bam。由于所有加密与解密过程都是在模26意义下进行的,所以要对一段明文进行加密,必须使得密钥矩阵满足A与26是互素的。根据程序画出流程如图如下:输入“A”密钥“密文”,“m”(所选表值)“w”(维数)判断密文长度是否能被w整除将密文转化为表值所对应的数据用哑文补充使其被w整除YesNo判断A是否在mod26下可逆加密输出结束YesNo1.3程序运行结果:Y=’WOWUYSBACPGZSAVCOVKPEWCPADKPPABUJCQLYXQEZAACPP’;m=1;A=[12;03];YW='XYZ';S=jie_mi2(Y,A,YW,m)S=MEIGUOJIANGZAITAIPINGYANGJINXINGHAIDIHESHIYANNY=jia_mi2(S,A,YW,m)Y=WOWUYSBACPGZSAVCOVKPEWCPADKPPABUJCQLYXQEZAACPP2.1、问题陈述甲方截获了一段密文:OJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENH经分析这段密文是用2Hill密码编译的,且这段密码的字母UCRS一次代表字母TACO,问能否破译这段密文的内容?2.2、问题分析根据题意明文与密文存在一一对应关系:设acAbd,26,,,abcdZ且存在:TCURAAOCS经过查表得到:2032118115319acbd所以,用穷举法得到满足上述等式的密钥矩阵,再进一步判断A是否与26互素,若互素则可以求出在26意义下的模倒数。模倒数表如下:表1a13579111517192123251a1921153197231151725显然,由上式所确定的密钥矩阵A是惟一的,通过11*(mod26)(mod26)AAA求解出模26意义下的密钥逆矩阵1A进行解密。2.3、程序运算结果a='TACO';b='UCRS';m=1;A=qiujie_miyao(a,b,m)A=1103Y='OJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENH';YW2='XYZ';S=jie_mi2(Y,A,YW,m)S=CLINTONISGOINGTOVISITACOUNTRYINMIDDLEEASTT二、实验任务问题11.1、问题陈述在问题(2)中,若已知密文的前4个字母OJWP分别代表TACO,问能否将此密文破译?不能,因为解得的密钥的行列式与26不互素,不能得到对应的模26逆矩阵。求解密钥矩阵流程图如下1.2、运行结果a='TACO';b='OJWP';m=1;A=qiujie_miyao(a,b,m)A=1672424D=det(A)D=216n=gcd(D,26)n=2输入“ming_wen”,”mi_wen”,”w”,“w”,m为对应的表值,w为对维数判断密钥矩阵行列式是否为1Yes输出结束NoooooooO20561oooo问题二利用2Hill密码体制的原理,根据给定的26个英文字母的乱序表值(见表2),设计与建立4Hill密码体制的加密,解密与破译框图并建立必要的计算机程序,设英文26个字母以下面的乱序表与26Z中的整数对应:表2ABCDEFGHIJKLM523220101584182501613NOPQRSTUVWXYZ7311961224211714221192.1.1、问题陈述设8695695105849106114A,验证矩阵A能否作为4Hill密码体制的加密矩阵,用框图画出你的验算过程,并编写相应的计算机程序。2.1.2、问题分析A可用作密钥,因为其行列式值为-1,与26互素。2.1.3、运行结果编程计算得A的模26逆矩阵如下:A=invmod(A)A=2320512111812206252522225det(A)|A|=-1.00002.2.1、问题陈述设明文为HILLCRYPTOGRAPHICSYSTEMISTRADITIONAL.利用上面的表值与加密矩阵给明文加密,并将得到的密文解密。画出加密与解密过程的框图并编写相应的计算机程序。框图如下:2.2.2、运行结果A=[8695;69510;5849;106114];YW='Z';m=2;w=4;S='HILLCRYPTOGRAPHICSYSTEMISTRADITIONAL';Y=jia_mi2(S,A,YW,m,w)Y=KEGTKPNJKYXRLAOLMZTPVYTUNHZSCEGDZRPZS=jie_mi2(Y,A,YW,m,w)S=HILLCRYPTOGRAPHICSYSTEMISTRADITIONAL2.3.1、问题陈述已知在上述给定表值下的一段4Hill密码的密文为:JCOWZLVBDVLEQMXC,对应的明文为DELAYOPERATIONSU,能否确定对应的加密矩阵?给出你的判断过程。能。2.3.2、运行结果a='DELAYOPERATIONSU';b='JCOWZLVBDVLEQMXC';m=2;w=4;A=qiujie_miyao(a,b,m,w)A=8695695105849106114问题33.1、问题重述设已知一份为2Hill密码体系,其中出现频数最高的双字母是RH和NI,而在明文语言中,出现频数最高的双字母为TH和HE。由这些信息按表3给出的表值能得到什么样的加密矩阵?表3ABCDEFGHIJJKLM0123456789101112NOPQRSTUVWXYZ131415161718192021222324253.2、问题分析不能,因为两组组合解得的两个矩阵的行列式值都不与26互素,不能得到对应的模26逆矩阵。3.3、运行结果a='THHE';b='RHNI';m=3;w=2;A=qiujie_miyao(a,b,m,w)A=3242425D=gcd(det(A),26)D=1b='NIRH';A=qiujie_miyao(a,b,m,w)b='NIRH';A=qiujie_miyao(a,b,m,w)A=1124925D=gcd(det(A),26)D=1问题44.1、问题重述如下的密文据表1以Hill2加密,密文为VIKYNOTCLKYRJQETIRECVUZLNOJTUYDIMHRCFITQ已获知其中相邻字母LK表示字母KE,试破译这份密文。4.2、问题分析通过密文‘LK’对应的明文‘KE’得出:115KE,1211LK且存在1112511A,其中acAbd为密钥。所以,求得的A必满足:1151211511acbd4.3、运行结果a='KE';b='LK';Y='VIKYNOTCLKYRJQETIRECVUZLNOJTUYDIMHRCFITQ';m=1;SJ=po_yi04(Y,a,b,m)问题55.1、问题重述找出元素属于26Z的所有可能的2Hill密码加密矩阵。若截获了如下一段密文UTCQCVFOYQUVMGMGULFOEYHDUHOPEASWXTIFBAMWT且已知它是根据表1按2Hill密码体制加密的,你能否将其解密?5.2、问题分析能,将密文通过所有可能密钥进行解密,对结果进行筛选,进行人工分析即可得出结果。程序:%%%%%%%%%%%%%%%%%%%%加密程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionmi_wen=ja_mi(A,ming_wen,m,w)%‘A’为解密矩阵,‘m’为选取参考表值类型,‘w’维数n=length(ming_wen);switchm%将密文转换相应的数字case1ming_wen=zimu_to_shuzi1(ming_wen);case2ming_wen=zimu_to_shuzi2(ming_wen);case3ming_wen=zimu_to_shuzi3(ming_wen);endZ=[];ifmod(n,w)==0S=ming_wen;elsefori=1:w-mod(n,w)%判断密文长度是否能被w整除Z(
本文标题:Hill密码的加密论文(内含matlab程序代码)
链接地址:https://www.777doc.com/doc-4746544 .html