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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、試驗(yàn)1:古典密碼一、試驗(yàn)名稱和性質(zhì)二、試驗(yàn)?zāi)康乃鶎僬n程計(jì)算機(jī)密碼學(xué)試驗(yàn)名稱古典密碼試驗(yàn)學(xué)時(shí)2試驗(yàn)性質(zhì) J驗(yàn)證口綜合口設(shè)計(jì)必做/選做 J必做口選做把握古典密碼體制中的基本加密解密運(yùn)算,如加法密碼、仿射密碼等,幾種典型的古典 密碼體制,如Hill體制,以及關(guān)于這些古典密碼體制的一些破譯方法。三、試驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:?jiǎn)螜C(jī),無(wú)需上Internet網(wǎng)。使用的軟件名稱、版本號(hào)以及模塊:使用Matlab,版本6.0或以上。四、學(xué)問(wèn)預(yù)備前期要求把握的學(xué)問(wèn):Madab編程試驗(yàn)相關(guān)理論或原理:古典密碼的基本加密解密運(yùn)算,幾種典型古典密碼的加密解密算法。試驗(yàn)流程:|理解古典密碼的基本加密解密運(yùn)算IT把

2、握Hi 1 I密碼的加密解麗森五、試驗(yàn)要求和留意事項(xiàng).完成給出的程序中標(biāo)有“”局部的編程。.參按例子的做法,完成試驗(yàn)題目。要求給出完整的過(guò)程,包括程序,試驗(yàn)結(jié)果。六、試驗(yàn)步驟和內(nèi)容.基本的加密解密運(yùn)算例1.使用加法密碼(或稱為移位密碼)獲得密文kddkmu,嘗試全部的可能性來(lái)解密它。解:編寫(xiě)allshift程序,調(diào)用該程序allshiftCkddkmu)運(yùn)行結(jié)果為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 答:填寫(xiě) %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) 結(jié)果 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);填寫(xiě):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.運(yùn)用仿射函數(shù)7x+8加密明文信息Cleopatra。解:編寫(xiě)affinecrypt程序,調(diào)用該程序,得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填寫(xiě)%在 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)結(jié)果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、如卜,方法檢驗(yàn) mod(K2*K,26)ans =100010001下面是采用解密矩陣K2進(jìn)行破解: 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??梢赃€原回原來(lái)的字母:int2text(14,21,4,17,19,7,4,7,8,11,11,23)ans =overlhehillx留意,最終的x被附加到明文后是為了要構(gòu)

11、成3個(gè)的分組七、試驗(yàn)題目.使用加法密碼獲得密文ycvejqwvhqldlwvwu,請(qǐng)解密。答:%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) 全部可能的結(jié)果: 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)結(jié)果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相對(duì)應(yīng)的數(shù)字:tcxt2int(,zirkzwopjjoptfapuhfhadrq,)ans =Columns 1 through 72581710252214Columns 8 through 1415991415195Columns 15 through 21015207570Columns 22 through 2431716%然后采用解密矩陣K2進(jìn)行破解: mod(25,8,17,10*K2,26),mod(25,22,14,15*K2,26), mod(9,9,14,15*K2,26), mod(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論