




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.密碼學(xué)實(shí)驗(yàn)報(bào)告序號(hào)班級(jí)姓名學(xué)號(hào)日期時(shí)間地點(diǎn)1信計(jì)1002董鳳鴻8月3日6:00-9:00實(shí)驗(yàn)樓102指導(dǎo)教師:實(shí)驗(yàn)名稱:密碼學(xué)數(shù)學(xué)基礎(chǔ)實(shí)驗(yàn)實(shí)驗(yàn)任務(wù):實(shí)驗(yàn)一 密碼學(xué)數(shù)學(xué)基礎(chǔ)實(shí)驗(yàn)(驗(yàn)證性實(shí)驗(yàn),1學(xué)時(shí))1、 求最大公約數(shù)A、 實(shí)驗(yàn)內(nèi)容:實(shí)現(xiàn)歐幾里德算法;B、 測(cè)試數(shù)據(jù):gcd(1736, 2848) = 8。2、 求元素逆元及求解同余方程A、 實(shí)驗(yàn)內(nèi)容:實(shí)現(xiàn)擴(kuò)展的歐幾里德算法;B、 測(cè)試數(shù)據(jù):678-1 mod 1937=20。C、 實(shí)驗(yàn)方程:。實(shí)驗(yàn)二 古典密碼學(xué)實(shí)驗(yàn)(驗(yàn)證性實(shí)驗(yàn),1學(xué)時(shí))1、 Vigenere密碼和Playfair 密碼實(shí)驗(yàn)內(nèi)容:用下列密碼,對(duì)信息“the house is be
2、ing sold tonight” 進(jìn)行加密。忽略單詞間的間距。并對(duì)信息解密得到原明文;A、 密鑰為“dollars”的Vigenere密碼B、 Playfair密碼,其密鑰如下LGDBAQMHECURNI/JFXVSOKZYWTP實(shí)驗(yàn)三 現(xiàn)代對(duì)稱密碼學(xué)實(shí)驗(yàn)(驗(yàn)證性實(shí)驗(yàn),2學(xué)時(shí))1、 DES A、實(shí)驗(yàn)內(nèi)容:熟悉DES算法,并實(shí)現(xiàn)DES;B、測(cè)試數(shù)據(jù):任意,并驗(yàn)證加/解密結(jié)果。程序清單:實(shí)驗(yàn)一1、function fcd=f2(a,b)r1=a;r2=b;while(r20) q=fix(r1/r2); r=r1-q*r2; r1=r2; r2=r; end fcd=r1;end2、functi
3、on gb=f1(n,b)r1=n;r2=b;t1=0;t2=1;while(r20) q=fix(r1/r2); r=r1-q*r2; r1=r2; r2=r; t=t1-q*t2; t1=t2;t2=t;endif(r1=1) gb=t1;endfunction hj=tongyu(b,d,n)r1=n;r2=b;t1=0;t2=1;while(r20) q=fix(r1/r2); r=r1-q*r2; r1=r2; r2=r; t=t1-q*t2; t1=t2;t2=t;endif(r1=1) fans=t1;else fprintf(); returnend hj=mod(fans*d
4、,n);end實(shí)驗(yàn)二 古典密碼學(xué)實(shí)驗(yàn)1、 Vigenere密碼和Playfair 密碼a. Vigenere密碼 求密文:function y = shift(x,b);% This function performs the shift encryption function% y = x + b mod 26% We assume that x is a text string and b is a number% The result is kept in text representation xnum=text2int(x);ynum = mod(xnum + b, 26);y=in
5、t2text(ynum);function y = vigenere1(txt, key);% This function performs the Vigenere cipher on the plaintext in% the variable txt, using key (we assume the key is in numerical% representation).if ( (key z) ), error(Text character out of range a-z);end; key2=key - a;%key2=text2int(key);xln=length(txt)
6、; kln=length(key2); for j=1:xln, jmod=mod(j,kln); if jmod=0, jmod=kln; end; %map an index of 0 into an index of kln y(j)=shift(txt(j),key2(jmod);end;求明文:function y = shift(x,b);% This function performs the shift encryption function% y = x + b mod 26% We assume that x is a text string and b is a numb
7、er% The result is kept in text representation xnum=text2int(x);ynum = mod(xnum + b, 26);y=int2text(ynum);function y = vigenere2(txt, key);% This function performs the Vigenere cipher on the plaintext in% the variable txt, using key (we assume the key is in numerical% representation).if ( (key z) ),
8、error(Text character out of range a-z);end; key2=-(key - a);%key2=text2int(key);xln=length(txt); kln=length(key2); for j=1:xln, jmod=mod(j,kln); if jmod=0, jmod=kln; end; %map an index of 0 into an index of kln y(j)=shift(txt(j),key2(jmod);end;B、 Playfair密碼:加密:cleary=l g d b a; q m h e c; u r n i f;
9、 x v s o k; z y w t p;fprintf(n);fprintf(l g d b an);fprintf(q m h e cn);fprintf(u r n i/j fn);fprintf(x v s o kn);fprintf(z y w t pn); p=input(); p1=df;m=er;ff=0;tt=0; j=1; try while(p(j) if p(j+1) tt=0; if p(j)=p(j+1) p1=p1 p(j) x; j=j+1; ff=0; else p1=p1 p(j) p(j+1); j=j+2; ff=1; end else tt=1; %
10、p1=p1 p(j) x; end end catch if ff=0&tt=0; p1=p1 p(j) x; end try if ff=1&tt=0; p1=p1 p(j) x; end catch end end %suan j=3; try while(p1(j) i=1;%qiuwei try while(p1(j)=y(i) i=i+1; end catch i=18; end qi=fix(i/5); ri=i-qi*5; k=1;%qiuwei try while(p1(j+1)=y(k) k=k+1; end catch k=18; end qj=fix(k/5); rj=k
11、-qj*5; if(ri=0) qi=qi-1; end if(rj=0) qj=qj-1; end if qj=qi% ri=ri+1; ri=mod(ri,5); rj=rj+1; rj=mod(rj,5); else if ri=rj% qi=qi+1; qi=mod(qi,5); qj=qj+1; qj=mod(qj,5); else% rij=ri; ri=rj; rj=rij; end end % if(ri=0) qi=qi+1; %qj=qj-1; end if(rj=0) qj=qj+1; %qi=qi-1; end m(j-2)=y(qi*5+ri); m(j-1)=y(q
12、j*5+rj); j=j+2; end catch fprintf(n); fprintf(m,n); end 解密:clccleary=l g d b a; q m h e c; u r n i f; x v s o k; z y w t p;fprintf(n);fprintf(l g d b an);fprintf(q m h e cn);fprintf(u r n i/j fn);fprintf(x v s o kn);fprintf(z y w t pn); c=input(); j=1; try while(c(j) i=1;%qiuwei try while(c(j)=y(i)
13、i=i+1; end catch i=18; end qi=fix(i/5); ri=i-qi*5; k=1;%qiuwei try while(c(j+1)=y(k) k=k+1; end catch k=18; end qj=fix(k/5); rj=k-qj*5; % if(ri=0) qi=qi-1; % qj=qj-1; end if(rj=0) qj=qj-1; %qi=qi-1; end if qj=qi% ri=ri+4; ri=mod(ri,5); rj=rj+4; rj=mod(rj,5); else if ri=rj% qi=qi+4; qi=mod(qi,5); qj=
14、qj+4; qj=mod(qj,5); else% rij=ri; ri=rj; rj=rij; end end if(ri=0) qi=qi+1; end if(rj=0) qj=qj+1; end c1(j)=y(qi*5+ri); c1(j+1)=y(qj*5+rj); j=j+2; end catch fprintf(n); fprintf(c1,n); end 實(shí)驗(yàn)三 現(xiàn)代對(duì)稱密碼學(xué)實(shí)驗(yàn)DES 說(shuō)明:當(dāng)M=1時(shí)進(jìn)行加密運(yùn)算;當(dāng)M1時(shí)為解密結(jié)果D= 16進(jìn)制數(shù)表示的字符串格式初始明文;K= 16進(jìn)制數(shù)表示的字符串格式已知密鑰function C=DES(D,K,M)% 16DK,M=1
15、% -%01DB=;for i=1:16 Di=D(i); DBi=0000,dec2bin(hex2dec(Di); DBi=DBi(end-3:end); DBi=str2num(DBi(1),str2num(DBi(2),str2num(DBi(3),str2num(DBi(4); DB=DB,DBi;endD=DB;KB=;for i=1:16 Ki=K(i); KBi=0000,dec2bin(hex2dec(Ki); KBi=KBi(end-3:end); KBi=str2num(KBi(1),str2num(KBi(2),str2num(KBi(3),str2num(KBi(4)
16、; KB=KB,KBi;endK=KB; %64IPIP=58 50 42 34 26 18 10 2; 60 52 44 36 28 20 12 4; 62 54 46 38 30 22 14 6; 64 56 48 40 32 24 16 8; 57 49 41 33 25 17 9 1; 59 51 43 35 27 19 11 3; 61 53 45 37 29 21 13 5; 63 55 47 39 31 23 15 7;IP0=reshape(IP,1,64);%D_IP=D(IP0);%D %EE=32, 1, 2, 3, 4, 5; 4, 5, 6, 7, 8, 9; 8,
17、9,10,11,12,13; 12,13,14,15,16,17; 16,17,18,19,20,21; 20,21,22,23,24,25; 24,25,26,27,28,29; 28,29,30,31,32,1;S1=14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7; 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8; 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0; 15, 12, 8, 2, 4, 9, 1, 7, 5
18、, 11, 3, 14, 10, 0, 6, 13;S2=15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10; 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5; 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15; 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9;S3=10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8;
19、 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1; 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7; 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12;S4=7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15; 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9; 10, 6, 9, 0, 12, 11, 7, 13,
20、 15, 1, 3, 14, 5, 2, 8, 4; 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14;S5=2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9; 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6; 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14; 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3;S6
21、=12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11; 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8; 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6; 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13;S7=4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1; 13, 0, 11, 7, 4, 9, 1, 10,
22、14, 3, 5, 12, 2, 15, 8, 6; 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2; 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12;S8=13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7; 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2; 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8; 2
23、, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11;%PP=16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25;PC1=57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,2
24、0,12,4;PC2=14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32;% -Ki=zeros(16,48);K_PC1=K(PC1);%C0=K_PC1(1:28);%D0=K_PC1(29:56);for i=1:16 if i=1|i=2|i=9|i=16%129161 C0=C0(2:end),C0(1); D0=D0(2:end),D0(1); else%2 C0=
25、C0(3:end),C0(1:2); D0=D0(3:end),D0(1:2); end K_LS=C0,D0; Ki(i,:)=K_LS(PC2);end% -16-L=D_IP(1:32);%R=D_IP(33:64);% for i=1:16 E0=reshape(E,1,48);%E R_E=R(E0); %E % if M=1 %M=1 R_Ki=mod(R_E+Ki(i,:),2); else R_Ki=mod(R_E+Ki(17-i,:),2); end %S1 B=R_Ki(1:6); x=B(1)*2+B(6)+1; y=B(2)*8+B(3)*4+B(4)*2+B(5)+1
26、; C=0000,dec2bin(S1(x,y); C=C(end-3:end); C1=str2num(C(1),str2num(C(2),str2num(C(3),str2num(C(4); %S2 B=R_Ki(7:12); x=B(1)*2+B(6)+1; y=B(2)*8+B(3)*4+B(4)*2+B(5)+1; C=0000,dec2bin(S2(x,y); C=C(end-3:end); C2=str2num(C(1),str2num(C(2),str2num(C(3),str2num(C(4); %S3 B=R_Ki(13:18); x=B(1)*2+B(6)+1; y=B(
27、2)*8+B(3)*4+B(4)*2+B(5)+1; C=0000,dec2bin(S3(x,y); C=C(end-3:end); C3=str2num(C(1),str2num(C(2),str2num(C(3),str2num(C(4); %S4 B=R_Ki(19:24); x=B(1)*2+B(6)+1; y=B(2)*8+B(3)*4+B(4)*2+B(5)+1; C=0000,dec2bin(S4(x,y); C=C(end-3:end); C4=str2num(C(1),str2num(C(2),str2num(C(3),str2num(C(4); %S5 B=R_Ki(25:
28、30); x=B(1)*2+B(6)+1; y=B(2)*8+B(3)*4+B(4)*2+B(5)+1; C=0000,dec2bin(S5(x,y); C=C(end-3:end); C5=str2num(C(1),str2num(C(2),str2num(C(3),str2num(C(4); %S6 B=R_Ki(31:36); x=B(1)*2+B(6)+1; y=B(2)*8+B(3)*4+B(4)*2+B(5)+1; C=0000,dec2bin(S6(x,y); C=C(end-3:end); C6=str2num(C(1),str2num(C(2),str2num(C(3),st
29、r2num(C(4); %S7 B=R_Ki(37:42); x=B(1)*2+B(6)+1; y=B(2)*8+B(3)*4+B(4)*2+B(5)+1; C=0000,dec2bin(S7(x,y); C=C(end-3:end); C7=str2num(C(1),str2num(C(2),str2num(C(3),str2num(C(4); %S8 B=R_Ki(43:48); x=B(1)*2+B(6)+1; y=B(2)*8+B(3)*4+B(4)*2+B(5)+1; C=0000,dec2bin(S8(x,y); C=C(end-3:end); C8=str2num(C(1),st
30、r2num(C(2),str2num(C(3),str2num(C(4); C=C1,C2,C3,C4,C5,C6,C7,C8;%8S R_P=C(P);%P % TEMP=L; L=R; R=mod(TEMP+R_P,2);end%TEMP=L;L=R;R=TEMP;%C=L,R; % -IP_1=40 8 48 16 56 24 64 32; 39 7 47 15 55 23 63 31; 38 6 46 14 54 22 62 30; 37 5 45 13 53 21 61 29; 36 4 44 12 52 20 60 28; 35 3 43 11 51 19 59 27; 34 2 42 10 50 18 58 26; 33 1 41 9 49 17 57 25;IP_10=reshape(IP_1,1,64);C=C(IP_10);CS=;C=num2str(C);pos=find(C= );C=C(pos);for i=1:4:61 Ci=C(i:i+3); CS=CS,num2str(dec2hex(bin2dec(Ci);endif M=1 %M
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石雕美術(shù)作品企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 機(jī)器人智能噴涂與打標(biāo)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 冷鏈物流企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 食品用焦糖色企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 乳酸菌飲料企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 食品用曲酸企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 電動(dòng)保健設(shè)備家電專門零售企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 柳色青青清明節(jié)踏青繪畫課堂
- 電信施工方案
- 露臺(tái)護(hù)欄現(xiàn)澆施工方案
- 溫庭筠《望江南》ppt課件
- 口腔正畸學(xué)單詞
- 公共場(chǎng)所健康證體檢表
- 普通高等學(xué)校獨(dú)立學(xué)院教育工作合格評(píng)估指標(biāo)體系(第六稿)
- 內(nèi)襯修復(fù)用HTPO管材企標(biāo)
- 部編教材一年級(jí)下冊(cè)生字筆順筆畫
- 多維閱讀第13級(jí)—A Stolen Baby 小猩猩被偷走了
- 二維火收銀使用手冊(cè)
- 2018版公路工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)分項(xiàng)工程質(zhì)量檢驗(yàn)評(píng)定表交通安全設(shè)施
- EN12680.3中文
- 歐科模塊化風(fēng)冷冷水熱泵機(jī)組報(bào)警代碼和維修步驟
評(píng)論
0/150
提交評(píng)論