嘉兴学院现代密码学实验1答案_第1页
嘉兴学院现代密码学实验1答案_第2页
嘉兴学院现代密码学实验1答案_第3页
嘉兴学院现代密码学实验1答案_第4页
嘉兴学院现代密码学实验1答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、试验1:古典密码一、试验名称和性质二、试验目的所属课程计算机密码学试验名称古典密码试验学时2试验性质 J验证口综合口设计必做/选做 J必做口选做把握古典密码体制中的基本加密解密运算,如加法密码、仿射密码等,几种典型的古典 密码体制,如Hill体制,以及关于这些古典密码体制的一些破译方法。三、试验的软硬件环境要求硬件环境要求:单机,无需上Internet网。使用的软件名称、版本号以及模块:使用Matlab,版本6.0或以上。四、学问预备前期要求把握的学问:Madab编程试验相关理论或原理:古典密码的基本加密解密运算,几种典型古典密码的加密解密算法。试验流程:|理解古典密码的基本加密解密运算IT把

2、握Hi 1 I密码的加密解丽森五、试验要求和留意事项.完成给出的程序中标有“”局部的编程。.参按例子的做法,完成试验题目。要求给出完整的过程,包括程序,试验结果。六、试验步骤和内容.基本的加密解密运算例1.使用加法密码(或称为移位密码)获得密文kddkmu,尝试全部的可能性来解密它。解:编写allshift程序,调用该程序allshiftCkddkmu)运行结果为kddkmuleelnvniffmownggnpxohhoqypiiprzqjjqsarkkrtbsllsuctmmtvdunnuwevoovxfwppwygxqqxzhyrryai zsszbjattack是列表上消失的唯一单词,所

3、以它就是明文buubdlcvvcem dwwdfnexxego fyyflip gzzgiq haahjr ibbiks jccjlt function y = allshift(x);% This function displays all of the shifts of the message x for j=0:25,disp ; end 答:填写 %allshift.m 文件中 function y = allshift(x); xnum=text2int(x); d=length(xnum);for j=0:25,for i=l:dynum(i)=mod(xnum(i)-j,26)

4、; endz=int2tcxt(ynum);disp(z);end%allshift2.m 文件中 allshifl(kddkmu) 结果 kddkmu jccjlt ibbiks haahjr gzzgiq fyyflip exxego dwwdfn cvvcem buubdlattackzsszbjyrryaixqqxzhwppwygvoovxfunnuwetmmtvdsllsucrkkrtbqjjqsapiiprzohhoqynggnpxmffmowleelnvfunction y = shift(x.b);% This function performs the shift encry

5、ption function% y = x + b mod 26% We assume that x is a text siring and b is a number % The result is kept in text representation xnum=text2int(x);填写:d=length(xnum);for i=l:dynum(i)=mod(xnum(i)4-b,26);endy=int2text(ynum);function y = text2int (x)% This function takes the letter in the string x and c

6、onverts% it to an integer.% The convention for this function is%a -0%b - 1%and so on.if(xy),error(Text character out of range a-z);end;y=x - a; %lt helps to know Matlab tricksfunction y = int2text (x)% This function takes the number in the variable x and converts % it to a character y.% The conventi

7、on for this function is%a -0%b - 1%and so on.if(x25),crror(Integer out of range 0 - 26);end;y=char(x + a); %It helps to know Matlab tricks例2.运用仿射函数7x+8加密明文信息Cleopatra。解:编写affinecrypt程序,调用该程序,得affinecrypt(cleopa(ra,7,8)ans =whkcjilxifunction y = affinecrypt(x,a,b);% This function perfbnns the affine

8、encryption function% y = a x + b mod 26% where (a,26) = 1% The result is kept in numerical representation填写%在 affinecryptl.m 文件中function y = affinecrypt(x,a,b);xnum=text2int(x);d=length(xnum);for i=l:dc=a*xnum(i)+b;D(i)=rcm(c,26);endy=int2text(D);%在 affinecrypt3.m 文件中affinecrypt 1 (cleopatra,7)结果ans

9、 =whkcjilxi.典型的古典密码体制例3.密文22,09,00,12, 03,01,10,03,04, 08,01,17是使用如下的Hill密码加密的:试破解它。解:首先将加密矩阵放入变量K。 K=l 2 3;4 5 6;7 8 10K =7810然后,求解密矩阵,即求逆矩阵并mod 26: format rat %使用有理数格式 Kinv=inv(K)Kinv =-2/3-4/31-2/311/3-21-21Kl=Kinv*3KI =-2-43-211-63-63 K2=roiind(mod(K 1 *9,26)K2 =8161821241241K2是矩阵K mod 26的逆矩阵,能按

10、如卜,方法检验 mod(K2*K,26)ans =100010001下面是采用解密矩阵K2进行破解: niod(22, ()9, 00*K2,26)ans =14214 mod(12, 03,011*K2,26)ans =17197 mod(10,03, 04*K2,26)ans -478mod(08,01, 17*K2,26)ans =111123因此,明文是14,21,4,17,19,7,4,7,8,11,11,23。可以还原回原来的字母:int2text(14,21,4,17,19,7,4,7,8,11,11,23)ans =overlhehillx留意,最终的x被附加到明文后是为了要构

11、成3个的分组七、试验题目.使用加法密码获得密文ycvejqwvhqldlwvwu,请解密。答:%allshift.m 文件中function y = allshift(x);xnum=text2int(x); d=length(xnum); for j=0:25, for i=l :dynum(i)=mod(xnum(i)-j,26); endz=int2text(ynum);disp ; end%allshift2.m 文件中 allshift(kddkmu) 全部可能的结果: ycvejqwvhqtdtwvwu xbudipvugpscsvuvt watchoutforbrutus vzs

12、bgntsenqaqtstr uyrafmsrdmpzpsrsq txqzelrqcloyorqrp swpydkqpbknxnqpqo rvoxcjpoajmwmpopn qunwbionzilvlonom ptmvahnmyhkuknmnl osluzgmlxgjtjmlmk nrktyflkwfisilklj mqjsxekjvehrhkjki Ipirwdjiudgqgjijh kohqvcihtcfpfihig jngpubhgsbeoehghf imfotagfradndgfge hlenszfeqzcmcfefd gkdmryedpyblbedec fjclqxdcoxakadc

13、db eibkpwcbnwzjzcbca dhajovbamvyiybabz cgzinuazluxhxazay bfyhmtzyktwgwzyzx aexglsyxjsvfvyxyw zdwfkrxwirueuxwxv.使用仿射函数5x +7 (mod 26)加密How are you?%在 affinecryptl.m 文件中function y = affinecrypt(x,a,b);xnum=text2int(x);d=length(xnum);for i=l:dc=a*xnum(i)+b;D(i)=rem(c,26);endy=int2text(D);%在 affinecrypt3

14、.m 文件中affinecrypt 1 (howareyou,5,7)结果ans =qznhobxzd.密文z i rkzwop j jopt fapuhfhadrq是使用如下的Hill密码加密的: 试破解它。解:%先由秘钥矩阵K得到解密矩阵K2:clear,K=l 2 3 4;4 3 2 1;I1 2 4 6;2 9 6 4;format rat;m=det(K);Kinv=inv(K);Kl=Kinv*55;K2=round(mod(KP9,26),mod(K2*K,26);得到K2 =61819062222111232482181%再由text2int ()函数得到密文zirkzwopj joptfapuhfhadrq相对应的数字:tcxt2int(,zirkzwopjjoptfapuhfhadrq,)ans =Columns 1 through 72581710252214Columns 8 through 1415991415195Columns 15 through 21015207570Columns 22 through 2431716%然后采用解密矩阵K2进行破解: mod(25,8,17,10*K2,26),mod(25,22,14,15*K2,26), mod(9,9,14,15*K2,26), mod(

温馨提示

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

评论

0/150

提交评论