资源描述:
《2第二讲:古典密码学命名》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1古典密码学《现代密码学》第二讲上讲内容回顾密码学分类密码学与信息安全的关系本章主要内容代换密码置换密码Hill密码转轮密码古典密码的惟密文攻击方法密码分类代换密码(substitution):代换是古典密码中用到的最基本的处理技巧。所谓代换,就是将明文中的一个字母由其它字母、数字或符号替代的一种方法。凯撒密码仿射密码单表代换多表代换置换密码(permutation):将明文字符按照某种规律重新排列而形成密文的过程。Hill密码转轮密码凯撒密码(caesarcipher)已知最早的代换密码,又称移位密码代换表(密钥):abcdefghijklmnopqrstuvwxyz
2、DEFGHIJKLMNOPQRSTUVWXYZABC数学描述:用数字表示每个字母:abcdefghijklmnopqrstuvwxyZ012345678910111213141516171819202122232425c=E(p)=(p+k)mod(26)p=D(c)=(c–k)mod(26)明文p∈Z26,密文c∈Z26,密钥k取[1,25],只有25个凯撒密码例:使用其后的第三个字母代换该字母明文:meetmeafterthetogaparty密文:PHHWPHDIWHUWKHWRJDSDUWB恺撒密码的攻击已知明文和密文、加密和解密算法,需要解同余方程,可以恢复密
3、钥k=(c-p)mod(26);穷举攻击:已知密文,且明文为有意义字符,至多尝试25次,可以恢复明文.仿射密码(AffineCipher)移位密码的扩展明文p∈Z26,密文c∈Z26,密钥k=(a,b)∈Z26×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,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=-
4、11mod26(0-3)×15mod26=7(23-3)×15mod26=14(6-3)×15mod26=19明文为(7,14,19)=(h,o,t)仿射密码仿射密码练习:令密钥k=(9,3),且gcd(5,26)=1.明文hot=(7,14,19),求加解密过程。已知两对明文和密文(p1,c1)和(p2,c2)、加密和解密算法,需要解2元同余方程组,可以恢复密钥k=(a,b);c1=(a×p1+b)mod26c2=(a×p2+b)mod26穷举攻击:已知密文,明文为有意义字符,至多尝试26*Φ(26)个,可以恢复明文.仿射密码单表代换密码(Monoalphabeti
5、cCipher)代换表是26个字母的任意置换例:加密函数:nopqrstuvwxyzXHTMYAUOLRGZNabcdefghijklmDKVQFIBJWPESC解密函数:明文:ifwewishtoreplaceletters密文:WIRFRWAJUHYFTSDVFSFUUFYANOPQRSTUVWXYZzujdwlptcinryABCDEFGHIJKLMsgmakexofhbvq单表代换密码练习:明文:nicework,求密文。单表代换密码已知明文和密文,可以恢复部分加密函数(解密函数);穷举攻击:已知密文,明文为有意义字符,至多尝试26!=4x1026个,可以恢复明
6、文代换表的个数为26!多表代换密码(PolyalphabeticCiphers)加密明文消息时采用不同的单表代换,由密钥具体决定采用哪个表代换消息,密钥通常是一个词的重复。简化的多表代换密码----维吉尼亚密码(VigenèreCipher):由26个类似caesar密码的代换表组成多表代换密码维吉尼亚密码:在长为m的密码中,任何一个字母可被影射为26个字母中的一个明文p∈(Z26)m,密文c∈(Z26)m,密钥k∈(Z26)m加密c=(p1+k1,,p2+k2,,…,pm+km)mod26;解密p=(c1-k1,,c2-k2,,…,cm-km)mod26.多表代换密码
7、例多表代换密码练习:明文:nicework,密钥:hot,求密文。多表代换密码已知m个连续的明文和密文,可以恢复维吉尼亚密码的单表移位量(即密钥);穷举攻击:已知密文,明文为有意义字符,至多尝试26m个,可以恢复明文密钥空间大小是26^m置换密码加密变换使得信息元素只有位置变化而形态不变,如此可以打破消息中的某些固定模式(结构)明文p∈(Z26)m,密文c∈(Z26)m,密钥k∈{∏
8、定义在1,2,…,m上的置换}加密c=(p∏(1),,p∏(2),,…,p∏(m))mod26;解密p=(c∏-1(1),,c∏-1(2),,…,c∏-1