嘉興學院現(xiàn)代密碼學實驗1答案_第1頁
嘉興學院現(xiàn)代密碼學實驗1答案_第2頁
嘉興學院現(xiàn)代密碼學實驗1答案_第3頁
嘉興學院現(xiàn)代密碼學實驗1答案_第4頁
嘉興學院現(xiàn)代密碼學實驗1答案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、試驗1:古典密碼一、試驗名稱和性質二、試驗目的所屬課程計算機密碼學試驗名稱古典密碼試驗學時2試驗性質 J驗證口綜合口設計必做/選做 J必做口選做把握古典密碼體制中的基本加密解密運算,如加法密碼、仿射密碼等,幾種典型的古典 密碼體制,如Hill體制,以及關于這些古典密碼體制的一些破譯方法。三、試驗的軟硬件環(huán)境要求硬件環(huán)境要求:單機,無需上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.運用仿射函數(shù)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 %使用有理數(shù)格式 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.使用仿射函數(shù)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 ()函數(shù)得到密文zirkzwopj joptfapuhfhadrq相對應的數(shù)字: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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論