2 古典密码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t f d v s j uz
s e c u r i t y
可得明文security, 密钥K=3
安全的必要条件:能抵抗穷尽密钥搜索攻击
(密钥空间要足够大)
2 仿射密码 affine cipher
P = C = Z26 ,K ={(a, b) ∈ Z26 ×Z26 | gcd(a, 26)=1 }
对DHFL解密:
11 8 7 18 K 1 3 7 23 11
1
(D,H) =(3,7)解密 (3,7) K-1 =(0,1)= (a, b) (F,L)=(5,11)解密 (5,11)K-1 =(2,3)=(c, d) 得明文abcd
Hill密码的密码分析
• 唯密文攻击较难,已知明文攻击易
o 假设敌手已知m, 至少有m个不同的明-密文对: xj=(x1,j , …, xm,j), yj=(y1,j ,…,ym,j) 有yj=e(xj) o 定义X=(xij),Y=(yij), 有 Y=XK 如果X可逆,K=X-1Y 如果X不可逆,重新选择m个明-密文对。 例:m=2的Hill密码:friday→PQCFKU,求K。 解:eK(5,17)=(15,16) 1 5 17 9 15 16 5 17 eK(8,3)=(2,5) K 8 3 2 2 5 8 3 eK(0,24)=(10,20) 9 1 15 16 7 19
• 已知m,确定K=(k1,k2,…km)
---- f0,f1,…,f25为A,B,…,Z在yi中出现的频数,n’=n/m为yi长度 26个字母在yi中的概率分布为: f0/n’,f1/n’,…,f25/n’ ---- yi中是由明文子集中字母移ki位所得,故移位后概率分布 fki/n’,f1+ki/n’,…,f25+ki/n’ 应近似等于p0,p1,…,p25 ---- 定义Mg=∑(pifi+g)/n’, g=0,1,…25
• 实用加密体制需满足:
1.Εk,Dk易于计算
2.对任何敌手,即使获得密文y,不可能由此确
定k和x。
• 已知y,试图得到k的过程,称为密码分析。 • 要求:通过y计算k至少与通过y计算x同样困难。
移位密码不安全,可用穷尽密钥搜索破译 例: 密文 V H F X U LW B v h f x ul wb u g e w tk va
j 0.002
k 0.008
l 0.040
m 0.024
n
0.067
o
0.075
p
0.019
q
0.001
r
0.060
s
0.063
t
0.091
u
0.028
v
0.010
w
0.023
x
0.001
y
0.020
z
0.001
e t a o n r i s h d l f c mu g y p w b v k j x q z
对K=(a, b) ∈ K,定义:
eK(x)=ax+b mod 26
dK(y)= a-1( y-b) mod 26
定义:a∈Zm ,若存在a’∈Zm ,使aa’≡a’a≡1(mod m), a’称为 a在Zm上的乘法逆,记为a -1 mod m ,简记为a -1 。
11/10/15 10:57 7
例:k=(7,21),对security加密。
共有b!种不同的密钥,或者说一个明文对应b!种可能的密文。
11/10/15 10:57
18
注 意 空 格 的 处 理
!
11/10/15 10:57
19
希尔密码(Hill Cipher)
• P = C = (Z26)m, m(≥2)∈Z, K ={定义在Z26上的m阶可逆矩阵} 对每一个K∈ K ,定义: eK(x)=xK=(x1,x2,…,xm)K dK(y)= yK-1=(y1,y2,…,ym)K
3 单表代换密码
原文proceed meeting as agreed =>密文cqkzyyr jyyowft vl vtqyyr 9
移位密码与仿射密码
相同点 • 加密操作按位进行 • 每个字母对应唯一的密文字母 • 加密转换前后,字母在文本中 出现的频率不变 • 操作简单,穷举搜索就能破解 不同点 • 移位密码的密钥值仅有 一个参数,易被破解 • 仿射密码的密钥值有两 个参数
• 例:密钥
11 8 K ,试对明文abcd加密。 3 7
解: (a, b)=(0,1)加密
(0,1) K =(3,7)=(D,H); (c,d)=(2,3) 加密 (2,3)K=(31,37)=(5,11)=(F,L)。
所以,明文abcd经过Hill密码加密后,变为密文DHFL.
Jiangsu University
2 古典密码
古典密码体制
古典密码有两个基本工作原理:
代换(substitution) 置换(permutation)
这两个基本工作原理在仍然是现代对称加密算法的最重要 的核心技术
现代对称密码DES和AES中就有这两个工作原理的应用
11/10/15 10:57
解: 7-1mod 26=15,故加密解密函数为:
Ek(x)=7x+21 mod 26
Dk(y)= 15( y-21) mod 26
security
18 4 2 20 17 8 19 24
密文RXJFKZYH
计算7x+21得 :17 23 9 5 10 25 24 7 注: |k|=mf(m),
Fra Baidu bibliotek
m=26时, |k|=312
x为英文文本串, A,B,…,Z出现的期望概率p0,p1,…,p25 Ic(x) ≈ ∑pi2=0.065 用维吉尼亚密码加密:y=y1y2…yn y1=y1 ym+1 y2m+1 … y2 =y2 ym+2 y2m+2 … …………………… ym=ym y2m y3m … m如果是密钥字长度, Ic(yi) ≈0.065, 否则yi更为随机,其值接近0.038(完全随机串的值26(1/26)2)
频率值/%
11/10/15 10:57
仿射密码的密码分析
• 例:利用仿射密码中获得密文: FMXVEDKAPHFERBNDKRXRSREFMORUDSDKD VSHVUFEDKAPRKDLYEVLRHHRH (57) 频数统计:R(8),D(7),EHK(5),FV(4),S(3),… R←e D←t e(4)=4a+b=17 e(19)=19a+b=3 a=6 b=19, gcd(a,26)=2,密钥不合法 E←t 4a+b=17 19a+b=4 a=13 , 密钥不合法 H←t 4a+b=17 19a+b=7 a=8, 密钥不合法 K←t 4a+b=17 19a+b=10 a=3, b=5 K=(3,5)为合法密钥 解密函数为: dK(y)=a-1(y-b)=9y-19 对密文解密: algorithmsarequitegeneraldefinitionsofarithmticprocesses
注:密钥空间大小26m, 如,当m=5时, 265 > 1.1×107
13
例题 Vigenère密码
密钥为gold,对应表(6, 14, 11,3)其中,A=0, ……, Z= 25 输入为proceed meeting as agreed,对应下表的第一 行 则输出对应第三行,为vfzfkso pkseltu lv guchkr
单表密码是非常弱的:每一个明文字符被加密成唯一的 密文字符,可以采用密码分析中的“频度分析”来攻击。 (譬如英文里e是使用频率最高的字符,对应密文中y 是最 高的,如此……)
10
a 0.082
b 0.015
c 0.028
d 0.043
e 0.127
f 0.022
g 0.020
h 0.061
i 0.070
例:维吉尼亚密码的密钥长度为m ,P= C=L=Z26,K=(Z26)m
K=(k1,k2,…,km) ∈ K,定义密钥流 z=z1z2z3…= k1k2…km k1k2…km k1k2…km… 定义ez(x)=x+z mod 26 dz(y)=y-z mod 26
多表密码和换位密码比代换密码安全,但是如果密钥很短而消 息很长,密码分析技术还是很容易攻破这样的密码
如果密钥使用了某些条件,那么古典密码甚至简单代换密码也可
以非常安全。实际上,正确地使用密钥后,简单代换密码可以广 泛的应用于密码体制和协议。
11/10/15 10:57
23
流密码
• 分组密码——将明文分成固定长度的组,用相同的 密钥和算法对每组加密的到固定长度的密文 x=x1 x2 x3 … K K K … y=y1 y2 y3 … • 流密码——又称序列密码,每次加密1比特或1字节 x=x1 x2 x3 …
部分常用双连字母标准频率
3.5 3 2.5 2 1.5 1 0.5 0 an at ed en er es he in on or re st te th ti 1.81 1.51 1.32 1.53 2.13 1.36 3.05 2.3 1.83 1.28 1.9 1.22 3.21
1.3
1.28
K 2 15 2 5 8 3
1 15
注:如果不知道m,假设m不太大,可试m=2,3,…,直到 找到密钥。
古典密码的应用与安全性
基于字符的代换密码,明文消息空间是字母表,加密就是逐字符 的代换,明文消息中一个字符将被加密为密文消息中一个固定的 字符 (自然语言中,字符有固定的频度,频度分析技术,可由密 文消息发现明文或者密钥消息)
多表密码 Polyalphabetic Ciphers
Vigenère密码
P = C = K =(Z26)m, m∈Z+ K=(k1,k2,…,km) ∈ K,定义: eK(x1,x2,…,xm)= (x1+k1,x2+k2,…,xm+km) dK(y1,y2,…,ym)= (y1-k1,y2-k2,…,ym-km)
o 重合指数法(1920 William Friedman)
----x=x1x2…xn的重合指数Ic(x)定义为x中两个随机元素相同的概率
假设f0,f1,…,f25为A,B,…,Z在x中出现的频数,有Cn2种方法选择 x中任意两个元素,
有Cfi2种方法使所选字母皆为i,故:
Ic(x)=(∑Cfi2)/ Cn2 = (∑fi( fi -1))/n(n-1)
密钥流z= z1 z2 z3 … z1 z2 z3 …
y=y1
y2 y3 …
• 定义: 同步流密码是一个六元组(P,C,K,L,E,D)和 一个函数g P ——明文空间, C ——密文空间,K——密钥空间 L——密钥流字母表, g——密钥流生成器,以K为输入,输出密钥流为 z=z1z2z3… 满足:每个z,存在 ez ∈ E 和相应的 dz ∈ D,使得 dz( ez(x))=x ,对每个x ∈ P
如果g=ki,
Mg ≈ ∑pi2=0.065
如果g≠ki, Mg 一般应该<0.065 对每个i,由此确定ki
换位密码
换位密码,也成为置换密码,通过重新排列消息中元素的位 置而不改变元素本身来变换一个消息,这种思想广泛应用于 现代分组密码的构造。
密钥为置换: 加密算法为: 显然有: 解密算法为:
11/10/15 10:57
14
Vigenère密码的密码分析
• 确定密钥字的长度m
o Kasiski测试法 (1863 Friedrich Kasiski)
----两个相同的明文段将被加密成相同的密文段,位置间距≡0 (mod
m) ----搜索长度至少为3的密文段,记下其离起点的那个密文段的距
离,可猜测m为它们的最大公因子的因子。
2
代换密码 1 移位密码 shift cipher
在移位密码中,密钥空间、明文空间和密文空 间是相同的,加密和解密的定义为:
因为Julius Caesar用过N=26, k=3时的加密算法,它也称 为恺撒密码
注:a除以b所得余数记为 a mod b
11/10/15 10:57 3
• 例:K=11,对明文 security加密. 解:首先将其对应为整数: s e c u r i t y 18 4 2 20 17 8 19 24 每个数加11再模26约化: 3 15 13 5 2 19 4 9 转化为对应的字母: D P N F C T E J 即为所得密文。(通常将明文用小写字母,密文用大写字母表示) 解密过程反之即可。