資源描述:
《2現(xiàn)代密碼學(xué)第二講:古典密碼學(xué)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、《現(xiàn)代密碼學(xué)》第二講古典密碼學(xué)1上講內(nèi)容回顧密碼學(xué)分類密碼學(xué)與信息安全的關(guān)系本章主要內(nèi)容代換密碼置換密碼Hill密碼轉(zhuǎn)輪密碼古典密碼的惟密文攻擊方法密碼分類代換密碼(substitution):代換是古典密碼中用到的最基本的處理技巧。所謂代換,就是將明文中的一個(gè)字母由其它字母、數(shù)字或符號(hào)替代的一種方法。?凱撒密碼?仿射密碼?單表代換?多表代換置換密碼(permutation):將明文字符按照某種規(guī)律重新排列而形成密文的過程。Hill密碼轉(zhuǎn)輪密碼注意事項(xiàng)本講中,被加密的文本均假設(shè)為26個(gè)英文字符,在算
2、法描述中,也常常用數(shù)字表示每個(gè)字母,對(duì)照表如下:abcdefghijklm0123456789101112nopqrstuvwxyz13141516171819202122232425本章主要內(nèi)容代換密碼?置換密碼?Hill密碼?轉(zhuǎn)輪密碼?古典密碼的惟密文攻擊方法凱撒密碼已知最早的代換密碼,又稱移位密碼?代換表(密鑰):abcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABC?數(shù)學(xué)描述:c=E(p)=(p+k)mod(26)p=D(c)=(c–k)mo
3、d(26)明文p∈Z26,密文c∈Z26,密鑰k取[1,25],只有25個(gè)凱撒密碼例:使用其后的第三個(gè)字母代換該字母明文:meetmeafterthetogaparty密文:PHHWPHDIWHUWKHWRJDSDUWB仿射密碼移位密碼的擴(kuò)展明文p∈Z26,密文c∈Z26,密鑰k=(a,b)∈Z’26×Z26且gcd(a,26)=1.加密:c=E(p)=(a×p+b)mod26解密:p=D(c)=(c–b)×a-1mod26仿射密碼例:令密鑰k=(7,3),且gcd(7,26)=1.明文hot=(7
4、,14,19)加密:(7×7+3)mod26=0(7×14+3)mod26=23(7×19+3)mod26=6密文為(0,23,6)=(a,x,g)解密:7-1=15=-11mod26(0-3)×15mod26=7(23-3)×15mod26=14(6-3)×15mod26=19明文為(7,14,19)=(h,o,t)仿射密碼練習(xí):令密鑰k=(9,3),且gcd(9,26)=1.明文hot=(7,14,19),求加解密過程。加密:7*9+3=14mod2614*9+3=25mod2619*9+3=1
5、8mod269*3-26=1所以9-1=3mod26解密:(14-3)*3=7mod26(25-3)*3=14mod26(18-3)*3=19mod26單表代換密碼代換表是26個(gè)字母的任意置換例:加密函數(shù):abcdefghijklmnopqrstuvwxyzDKVQFIBJWPESCXHTMYAUOLRGZN解密函數(shù):ABCDEFGHIJKLMNOPQRSTUVWXYZsgmakexofhbvqzujdwlptcinry明文:ifwewishtoreplaceletters密文:WIRFRWAJUH
6、YFTSDVFSFUUFYA單表代換密碼練習(xí):?明文:nicework,使用上例中的單表代換表,求密文。?密文:XWVFRHYE多表代換密碼加密明文消息時(shí)采用不同的單表代換,由密鑰具體決定采用哪個(gè)表代換消息,密鑰通常是一個(gè)詞的重復(fù)。簡化多表代換密碼-維吉尼亞密碼(VigenèreCipher):由26個(gè)類似caesar密碼的代換表組成多表代換密碼維吉尼亞密碼:在長為m的密碼中,任何一個(gè)字母可被影射為26個(gè)字母中的一個(gè)明文p∈(Z26)m,密文c∈(Z26)m,密鑰k∈(Z26)m加密c=(p1+k1
7、,,p2+k2,,?,pm+km)mod26;解密p=(c1-k1,,c2-k2,,?,cm-km)mod26.多表代換密碼例:多表代換密碼練習(xí):?明文:nicework,密鑰:hot,求密文。?密文:UWVLKHYY本章主要內(nèi)容?代換密碼置換密碼?Hill密碼?轉(zhuǎn)輪密碼?古典密碼的惟密文攻擊方法置換密碼加密變換使得信息元素只有位置變化而形態(tài)不變,如此可以打破消息中的某些固定模式(結(jié)構(gòu))明文p∈(Z26)m,密文c∈(Z26)m,密鑰k∈{∏
8、定義在1,2,…,m上的置換}加密c=(p∏(1),p∏
9、(2),…,p∏(m))mod26;解密p=(c∏-1(1),c∏-1(2),…,c∏-1(m))mod26.置換密碼例:密鑰x123456∏(x)351642x123456∏-1(x)361524明文:shesellsseashellsbytheseashore分組:shesellsseashellsbytheseashore置換:EESLSHSALSESLSHBLEHSYEETHRAEOS置換密碼練習(xí):明文:niceworkX1234Pi(x)2413求密文和逆置