当前位置:
文档之家› 现代密码学第二讲(必修):古典密码学
现代密码学第二讲(必修):古典密码学
《现代密码学》第二讲
古典密码学
1
上讲内容回顾
密码学分类 密码学与信息安全的关系
本章主要内容
代换密码 置换密码 Hill密码 转轮密码 古典密码的惟密文攻击方法
密码分类
代换密码( substitution ):代换是古典密码中用 到的最基本的处理技巧。所谓代换,就是将明文 中的一个字母由其它字母、数字或符号替代的一 种方法。
置换密码
练习: 明文: nice work
X1234 Pi(x) 2 4 1 3
求密文和逆置换。
思考: 当明文 字符不 是4的整 数倍怎 么办?
置换密码
已知多对明文和密文,可以推导置换表(即 密钥);
穷举攻击:已知密文,明文为有意义字符, 至多尝试m! 个,可以恢复明文
分组为m,至多有m!个置换
明文p ∈Z26,密文c ∈Z26 ,密钥k取[1,25],只有25个
凯撒密码
例:使用其后的第三个字母代换该字母
明文:meet me after the toga party 密文:PHHW PH DIWHU WKH WRJD SDUWB
恺撒密码的攻击
已知明文和密文、加密和解密算法,需要解 同余方程,可以恢复密钥 k = (c- p) mod (26);
H(4), O,R(2), K(1), Q(1), Y(1), U(1), B(1) H------e, 也就是e+x=h得4+x=7,密钥为3
解密:hello,every one
惟密文攻击
维吉尼亚密码由m个移位密码构成,移位密码不改变 字符的分布,故若能确定m,则可以找到每个移位 密码的位移量k
穷举攻击:已知密文,明文为有意义字符,至多 尝试26m*m个,可以恢复明文
转轮密码(Rotor Machine)
19世纪20年代,开始出现机械加解密设备 ,最典型的是转轮密码机
1918年Arthur Scherbius发明的EIGMA,瑞典 Haglin发明的Haglin,和日军发明的“紫密” 和“兰密”都属于转轮密码机。
惟密文攻击
移位密码、仿射密码和单表代换密码都没有 破坏明文的频率统计规律,可以直接用统计 分析法
例:
截取一段仿射密码的密文 c=ap+b mod 26
惟密文攻击
统计得到R(8),D(7),E,H,K(5),S,F,V(4) 密文出现字母频率统计
字母 频率 字母 频率 字母 频率 字母 频率 A2H5O1U2 B1 I 0P2V4 C 0 J 0 Q0W0 D7K5R8X2 E5L2S3Y1 F 4M2T0 Z 0 G0N1
明文: if we wish to replace letters 密文:SFUUFYA
单表代换密码
练习: 明文: nice work,使用上例中的单表代换
表,求密文。
密文:X W V F R H Y E
单表代换密码
已知明文和密文,可以恢复部分加密函数( 解密函数);
希尔密码(Hill cipher)
扩散
1929年,LesterS. Hill提出
明文p ∈(Z26)m,密文c ∈ (Z26)m , 密钥K ∈{定义在Z26上m*m的可逆矩阵}
加密
c = p * K mod 26
解密
p = c * K-1 mod 26
希尔密码
例
希尔密码
置换密码可以看做是希尔密码的特例。 练习:设hill密码的密钥如下,求对应置换密
解密:
p = D(c) = (c – b) × a-1mod 26
仿射密码
例:令密钥k=(7,3), 且gcd(7,26)=1.
明文hot=(7,14,19) 加密:
(7 × 7 + 3) mod 26 = 0 (7 × 14 + 3) mod 26 =23 (7 × 19 + 3) mod 26 =6
码的置换表。
希尔密码
已知m组明文和密文、加密和解密算法,需要解m 元同余方程组,可以恢复密钥;
⎡ c11 c12 L c1m ⎤ ⎡ p11 p12 L p1m ⎤ ⎡ k11 k12 L k1m ⎤
⎢ ⎢
M
MM
M
⎥ ⎥
=
⎢ ⎢
M
M
M
M
⎥⎢ ⎥⎢
M
MM
M
⎥ ⎥
⎢⎣cm1 cm2 L cmm ⎥⎦ ⎢⎣ pm1 pm2 L pmm ⎥⎦ ⎢⎣km1 km2 L kmm ⎥⎦
多表代换密码
例
多表代换密码
练习: 明文: nice work,密钥:hot,求密文。
密文:U W V L K H Y Y
多表代换密码
已知m个连续的明文和密文,可以恢复维 吉尼亚密码的单表移位量(即密钥);
穷举攻击:已知密文,明文为有意义字符, 至多尝试26m 个,可以恢复明文
惟密文攻击
人类的语言存在冗余,以英文文档为例 字母 e 是使用频率最高的 其次是 T,R,N,I,O,A,S Z,J,K,Q,X 很少使用 A、I、U很少用在词尾,E、N、R常 出现在词尾。E、S、D作为字母结 尾字母的单词超过一半,T、A、S 、W为起始字母的单词约占一半。
惟密文攻击
definitions of arithmetic processes.
惟密文攻击
练习:已知用户用移位密码加密,密文为 “KHOOR,HYHUB RQH”,用统计法求密钥和 对应明文
abcdefghijk l mn o p q r s t u v w x y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
惟密文攻击
令R=E(e),D=E(t),得到方程组
abcdefghijk l mn o p q r s t u v w x y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
⎧4a + b = 17 ⎩⎨19a + b = 3
多表代换密码
维吉尼亚密码:在长为m的密码中,任何一 个字母可被影射为26个字母中的一个
明文p ∈(Z26)m,密文c ∈ (Z26)m ,密钥k ∈ (Z26)m
加密
c= (p1+k1 ,,p2+k2 ,, …, pm+km) mod 26;
解密
p = (c1-k1 ,,c2-k2 ,, …, cm-km) mod 26.
数学描述: 用数字表示每个字母:
abcdefghijk l mn o p q r s t u v w x y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
c = E(p) = (p + k) mod (26) p = D(c) = (c – k) mod (26)
频率 14 12 10
8 6 4 2 0
ABCDEFGHIJKLMNOPQRSTUVWXYZ
惟密文攻击
对于双字母组合, 三字母组合
惟密文攻击
统计攻击(频率攻击)
假设:根据分析假设某些结论。 推断:在假设的前提下,推断出一些结论。
双频 字母跟随关系 构词规则 词义
验证发展:填上破译出的字母,根据词义、 构词规则不断发展
单表代换密码 ( Monoalphabetic Cipher )
代换表是26个字母的任意置换 例:
加密函数:
a b c d e f g h i j k l m n o p q r s t u v wx y z D K V Q F I B J WP E S C X H T M Y A U O L R G Z N 解密函数: A B C D E F G H I J K L M N O P Q R S T U V WX Y Z s g ma k e x o f h b v q z u j d wl p t c i n r y
密文为(0,23,6)=(a,x,g)
解密:7-1=15=-11 mod 26
(0- 3) × 15 mod 26 = 7 (23- 3) × 15 mod 26 =14 (6- 3) × 15 mod 26 =19
明文为(7,14,19)=(h, o,t)
仿射密码
练习:令密钥k=(9,3), 且gcd(9,26)=1.
解密
p
=
(c
∏
-1 (1)
,,c
∏
-1 (2)
,,
…,
c
∏
-1(m))
mod
26.
置换密码
例
x
1
密钥 ∏(x) 3
x
1
∏-1(x) 3
2 3456 5 1642 2 3456 6 1524
明文:State Key Laboratory of Networking 分组: StateK eyLabo ratory ofNetw orking 置换: EESLSH SALSES LSHBLE HSYEET HRAEOS
转轮密码
Enigma密码机
转轮密码
惟密文攻击
在攻击者可以截获(足够)明密文的条件下 ,易于恢复用户的密钥;
当攻击者只能窃听到密文时,若明文是有意 义的(一段话等具有可读性)字符时,利用 穷当举攻搜击索者,只可能以窃通听过到密密文文解时密,出是对否应有明其文它, 继而更恢有复效密攻钥击。方(法穷?举?搜索的复杂度取决于 密通若钥常否明空比可文间较以是的 小获无大 。得意小 )明义,文的古或随典密机密钥字码的符体相时制关,的信攻密息击钥?者空?是间