2023年實驗報告書MATLAB編制通用的Hilln密碼程序包括加密解密及破譯三個環(huán)節(jié)_第1頁
2023年實驗報告書MATLAB編制通用的Hilln密碼程序包括加密解密及破譯三個環(huán)節(jié)_第2頁
2023年實驗報告書MATLAB編制通用的Hilln密碼程序包括加密解密及破譯三個環(huán)節(jié)_第3頁
2023年實驗報告書MATLAB編制通用的Hilln密碼程序包括加密解密及破譯三個環(huán)節(jié)_第4頁
2023年實驗報告書MATLAB編制通用的Hilln密碼程序包括加密解密及破譯三個環(huán)節(jié)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗內(nèi)容:用MATLAB實現(xiàn)Hi11〃密碼程序(涉及加密、解密及破譯三個環(huán)節(jié))一實驗?zāi)康膶崿F(xiàn)HilI”密碼體系的關(guān)鍵環(huán)節(jié)(加密、解密、破譯)二預(yù)備知識熟悉mod、det、find等Matlab命令三實驗內(nèi)容與規(guī)定(1)假設(shè)加密矩陣為4=仁|用MATLAB編制程序,加密下面一段明文:SHUXUEJIANMOJINGSAI命令結(jié)果functionhil1()%輸入密鑰disp(/輸入密鑰(矩陣)的維數(shù)');n=input(");disp('輸入密鑰(矩陣,按行輸入)');key=zeros(n,n);forj=l:nfork=l:nkey(j,k尸input,);endendd=det(key);%求矩陣的行列式ifd==()%判斷矩陣是否可逆errord密鑰矩陣不可逆,無法實現(xiàn)Hill密碼,);end%輸入明文message=input(z輸入明文\nr/s');m=size(message);m=m(2);ifmod(m,n)?=0error。輸入錯誤,明文長度應(yīng)為矩陣維數(shù)的倍數(shù)');IXQTE0BACPQSBABUUCAA

endfori=1:mifmessage(i)>='A'&&message(i)<=/Z'message(i)=message(i)—64;e1seerrorf輸入錯誤,應(yīng)當(dāng)輸入字母);endend%加密i=l;whi1ei<m+lB=message(i:i+n-l)';a=key*B;A(i:i+n-l)=a,;i=i+n;endfori=l:mifA(i)>26A(i)=mod(A(i),26);endA(i)=A(i)+64;endstr=char(A);fprintff密文為%s',str)(2)假設(shè)加密矩陣為4=(^]|用'必11人8編制程序,解密下面一段密文:|AXSTZOSAOPBSTKSANKOPSAHAUUNSUUAKGAUZCKOPDO、

命令結(jié)果functionhil!2()%輸入密鑰dispC輸入密鑰(矩陣)的維數(shù)》n=input(");disp(輸入密鑰(矩陣,按行輸入));key=zeros(n,n);forj=1:nfork=l:nkey(j,k)=inpui(,');endendd=det(key);%求矩陣的行列式Y(jié)TMHOSTCEVUEEGTCYGEVTCICPKGEPKLGHCU@NGEVSSifd==O%判斷矩陣是否可逆error(,密鑰矩陣不可逆,無法實現(xiàn)Hill密碼,);end%輸入密文message二input。輸入密文\n','s');m=size(message);m=m(2);ifmod(m,n)=0error(輸入錯誤,密文長度應(yīng)為矩陣維數(shù)的倍數(shù)');endfori=1:mifmessage(i)>-A,&&message(i)<='Z'message(i)=message(i)-64;elseerroif輸入錯誤,應(yīng)當(dāng)輸入字母');endend%r1為d的逆whiled>26d=mod(d,26);endswitchdcase1rl=l;case3rl=9;case5r1=21;case7r1=15case9rl=3;case11r1=19;case15rl=7;case17rl=23;case19r1=11;

case21;r1=5;case23rl=17;case25r1=25;otherwisedisp('d倒數(shù)不存在,);enddetk=det(key);invk=inv(key);k=detk*invk;key2=rl*k;fori=1:nforj=l:nkey2(i,j)=mod(key2(i,j),26);ifkey2(i,j)<0key2(i,j)=kcy2(i,j)+26;endendendi=l;whi1ei<m+lp=message(ili+n-l)1;a=key2*p;B(i:i+n_1)=a';i=i+n;endfori=l:mifB(i)>26B(i)=mod(B(i),26);EndifB(i)==0B(i)=26;endB(i尸B(i)+64;endstr2=char(B);fprintf('\n對密文解密后明文為%s\n「str2)end(3)甲方截獲了一段密文:BKOPGATRHMMBFCSDJCCAUU

經(jīng)分析這段密文是用Hill2密碼編譯的,且這段密文的字母SD.IC依次代表字母IJIA,請破譯這段密文的內(nèi)容

Matlab命令結(jié)果functionhi113()%截獲的密文messagel=inputf輸入截獲密文\n;s');fori=l:4ifmessagel(i)>=/A'&&message1⑴v='Z'messagcl(i)=message1(i)—64;elseerror。輸入錯誤,應(yīng)當(dāng)輸入大寫字母Xendend%相應(yīng)的明文message2=input('輸入相應(yīng)的明文\n?s');fori=l:4ifmessage2(i)>='A'&&message2(i)<=Zmessage2(i)=message2(i)-64;elseerr輸入錯誤,應(yīng)當(dāng)輸入大寫字母');endend%求密鑰的逆矩陣B=[];B(1,1)=messagel(l);B(2,l)=messagel(2);B(1,2)=message1(3);B(2,2)=message1(4);d=det(B);whiled>26d=mod(d,26);endswitchdcase1r1=1;case3osqdrwdxsmstgqWNWQBWDOrl=9;case5rl=21;case7rl=15case9rl=3;case11r1=19;case15r1=7;case17rl=23;case19r1=11;case21;rl=5;case23r1=17;case25rl=25;otherwisedisp('d倒數(shù)不存在');enddetk=det(B);invk=inv(B);k=detk*invk;fori=1:2forj=1:2k(i,j)=mod(k(i,j),26);ifk(i,j)<0k(i,j)=k(i,j)+26;endendendC=[];C(1,1)=message2(l);C(2,1)=message2⑵;C(l,2)=message2⑶;C(2,2)=message2(4);keyl=C*k;fori=1:2forj=1:2keyl(i,j)=mod(k

溫馨提示

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

最新文檔

評論

0/150

提交評論