第3章_古典密码体制续-密码分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字母
A B C D E F G H I J K L M
频数
0 1 15 13 7 11 1 4 5 11 1 0 16
字母
N O P Q R S T U V W X Y Z
频数
9 0 1 4 10 3 2 5 5 8 6 10 20
Z 出现的次数最高,所以可以猜测 dK (Z ) e 。出现 10 次以上的其余的密文字母是 C,D,F,J,M,R,Y。我们希望这 些字母对应的是 t,a,o,I,n,s,h,r(子集合)的加密。
B
0.015
O
0.075
➢ 假C 设明文串是0.不02包8 括标点符P号及空格的0.普01通9 英文
文DE 本。
0.043 0.127
Q R
0.001 0.060
➢ 许F 多密码分析0.方02法2 都利用了S英文语言的0统.06计3特性。
G
0.020
T
0.091
目H前已经有许0.多06从1 各种小说U、杂志和报纸0.0上2统8 计的
➢ 首先考虑最弱类型的攻击,即唯密文攻击。
➢ 假设明文串是不包括标点符号及空格的普通英文 文本。
➢ 许多密码分析方法都利用了英文语言的统计特性。 目前已经有许多从各种小说、杂志和报纸上统计的 26 个英文字母出现的频率,Beker 和 Piper 曾给出 的一组统计数据。
Байду номын сангаас
字母
概率
字母
概率
➢
首A 先考虑最弱0.类08型2的攻击,N即唯密文攻0击.0。67
因为已经假设 Z 解密成 e,可以注意一下形如—Z 或 Z -的两字母组。发现出现较多的两字母是 DZ 和 ZW(各 4 次);NZ 和 ZU(各 3 次);RZ,HZ,XZ,FZ,ZR,ZV,ZC,ZD 和 ZJ(各 2 次)。因为 ZW 出现 4 次而 WZ 一次也未出现,同时 W 比许多其它字母出现的次数少,所以我们可以假定 dK (W ) d 。又因为 DZ 出现四次而 ZD 出现 2 次,故可猜 测 DK (D) {r, s,t} 。
➢ 因此,我们的目标是设计在 Kerchhoff 假设下安全的密 码体制。
➢ 首先,对不同攻击类型(模型)进行分类。一个攻击模 型就指定了敌手进行攻击时所拥有的信息。即敌手对攻 击目标知道多少?
攻击模型
➢ 最常见的攻击类型有:
➢ 唯密文攻击:敌手只有密文串 y 。 ➢ 已知明文攻击:敌手具有明文串 x 和对应的密文串 y 。 ➢ 选择明文攻击:敌手可获得对加密机的访问权限,这样他
下面需要确定明文 o 对应的密文。因为 o 是一个经常 出现的字母,所以我们猜测相应的密文字母是 D,F,J,Y 中 的一个。Y 似乎最有可能,否则将得到长串的元音字母, 即从 CFM 或 CJM 中得到 aoi。因此,我们假设 dK (Y ) o。
剩下密文字母中三个最高频率的字母是 D,F,J,我们 猜测它们以某种次序解密成 r,s,t,三字母 NMD 两次出现 说明很可能 dK (Y ) o,对应的明文三字母组为 his(这与 前面假设 dK (D) {r, s,t}是一致的)。HNCMF 可能是 chair 的加密,它说明 dK (F ) r (同时 dK (H ) c ),这样通过排 除法有 dK (J ) t ,现在我们有:
首先分析密文各字母出现的频数
➢ 可利用统字计母数据来破频译数仿射密字码母。 频数
A
2
N
1
例 3.1 假设B Oscar 从1仿射密码中O 截获了如1 下密文:
FMXVEDKAPHCFERBNDKR0XRSREFMORPUDSDKDVSH2VUFEDKAPRKD
LYEVLRHHRH D
7
Q
0
E
5
R
8
可能置换组成。对任意的置换 K ,定义:
再定义
e (x) (x) ,
d ( y) 1 ( y) ,
这里 1 代表置换 的逆置换。
➢ 代换密码的分析比仿射密码更复杂一些。 例 3.2:考虑如下利用代换密码加密的密文 YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR 此密文的频数分析由下表给出。
4a b 17 19a b 3 这个方程组有唯一解 a 6, b 19 (在 Z26 ),但这是一个不 合法的密钥,因为 gcd(a, 26) 2 1 。所以此猜想错误。
再猜测 R 是 e 的加密,而 E 是 t 的加密,继续使用上 述的方法,得到 a 13,这也是一个不合法的密钥。
2I6 个英文字母0.0出7现0 的频率,VBeker 和 Pi0p.e0r1曾0 给出
的J 一组统计数0.0据0。2
K
0.008
W
0.023
X
0.001
L
0.040
Y
0.020
M
0.024
Z
0.001
➢ 在上表的基础上,Beker 和 Piper 把 26 个英文字 母划分成如下 5 组:
1. E 的概率大约为 0.120; 2. T、A、O、I、N、S、H、R 的概率在 0.06 至 0.09 之间; 3. D、L 的概率大约为 0.04; 4. C、U、M、W、F、G、Y、P、B 的概率在 0.015 至 0.023 之间; 5. V、K、J、X、Q、Z 的概率小于 0.01。
第3章古典密码体制续 ——密码分析
本节主要内容
➢ 攻击模型 ➢ 仿射密码的密码分析 ➢ 代换密码的密码分析 ➢ 维吉尼亚密码的密码分析 ➢ Hill密码的密码分析
攻击模型
➢ Kerckhoff 假设:在讨论密码分析技术时,一般都假设 敌手 Oscar 知道正在使用的密码体制。
➢ 当然,如果 Oscar 不知道具体的密码体制,那么完成密 码分析工作将更加困难。但设计者不能将密码体制的安 全性建立在敌手 Oscar 不知道具体的密码体制这样一种 (可能不确定的)假设上。
解密函数为 dK ( y) 9 y 19 ,对密文进行解密有 Algorithms are quite general definitions of arithmetic processes 显然所得的密钥是正确的。
代换密码的密码分析
➢ 代换密码回顾
密码体制 2.2: 代换密码
令 P C Z26 。 K 由 26 个数字 0,1,…,25 的所有
➢ 另外,考虑两字母组或三字母组组成的固定序列也 是很有用的。
➢ 30 个 最 常 见 的 两 字 母 组 ( 出 现 次 数 递 减 ): TH,HE,IN,ER,AN,RE,DE,ON,ES,ST,EN,AT,TO,NT,H A,ND,OU,EA,NG,AS,OR,TI,IS,ET,IT,AR,TE,SE,HI 和 OF。
-ed-a---nh---ha---a-e----ed-----a-d--he--n XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR
现在考虑出现次数较高的密文字母 M,由前面分析,密 文段 RNM 解密成 nh-,这说明 h-是一个词的开头,所以 M 很可能是一个元音,因为已经使用了 a 和 e,所以猜测 dK (M ) i 或 o,因为 ai 是一个比 ao 出现次数更高的明 文组,所以首先猜得 dK (M ) i,这样有:
➢ 12 个最常见的三字母组是(出现次数递减): THE,ING,AND,HER,ERE,ENT,THA,NTH,WAS,ETH,FOR 和 DTH。
仿射密码的密码分析
➢ 仿射密码回顾
密码体制 2.3: 仿射密码 令 P C Z26 且
K {(a,b) Z26 Z26 : gcd(a, 26) 1} 。
------end---------e----ned---e-----------YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ
--------e----e---------n--d---en----e----e NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ
再试一种可能性:R 是 e 的加密,H 是 t 的加密,则 有 a 8,这也是不合法的。
继续进行,我们猜测 R 是 e 的加密,K 是 t 的加密, 这样可得 a 3,b 5 ,首先它至少是一个合法的密钥,下 一步工作就是检验密钥 K (3,5) 的正确性。如果我们能得 到有意义的英文字母串,则可证实 (3,5) 是有效的。
对任意的 K (a,b) K ,x, y Z26 ,定义加密变换为: eK (x) (ax b) mod 26
相应的解密变换为: d K ( y) a 1 ( y b) mod 26
(x, y ¢ 26 ) 。
➢ 可利用统计数据来破译仿射密码。
例 3.1 假设 Oscar 从仿射密码中截获了如下密文: FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKD LYEVLRHHRH
-e---n------n------ed---e---e--ne-nd-e-e-NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ
-ed-----n-----------e----ed-------d---e--n XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR
-----iend-----a-i-e-a-inedh--e------a---iYIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ h-----i-ea-i-e-a---a-i-nhad---en--a-e-hi-e NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ he-a-n-----in-i----ed---e---e-ineandhe-e-NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ -ed-a--inhi--hai--a-e-i--ed-----a-d--he--n XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR
h-------ea---e-a---a---nhad---en--a-e-h--e NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ
he-a-n------n------ed---e---e--neandhe-e-NZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ
如前面的猜测,假设 dK (Z ) e, dK (W ) d ,回过头再 看看密文并注意到 ZRW 和 RZW 出现在密文的开始部分,RW 后面也出现过。因为 R 在密文中频繁的出现,而 nd 是一 个常见的两字母组,所以我们可以视 dK (R) n 作为可能 的情况。
这样,就有如下的形式:
能获得任意的明文串 x 对应的密文串 y 。 ➢ 选择密文攻击:敌手可获得对解密机的访问权限,这样他
能获得任意的密文串 y 对应的明文串 x 。
➢ 在以上任何一种情况下,敌手的目标都是为了确定正在 使用的密钥。
➢ 显然,这四种类型的攻击强度依次增大。选择密文攻击 主要与后面几章将要介绍的公钥密码体制相关。
下一步可以试试 dK (N ) h ,因为 NZ 是一个常见的两字母 组而 ZN 不是常见的两字母组。如果这个猜测是正确的, 则明文 ne-ndhe 很可能说明 dK (C) a 。于是有:
------end-----a---e-a--nedh--e------a----YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ
首先分析密F文各字母4出现的频数S
3
G
0
T
0
H
5
U
2
I
0
V
4
J
0
W
0
K
5
X
2
L
2
Y
1
M
2
Z
0
这里虽然只有 57 个字母,但它足以分析仿射密码。 最大频数的密文字母是:R(8 次),D(7 次),E,H,K (每个 5 次)和 S,F,V(各 4 次)。 首先,可以猜想 R 是 e 的加密而 D 是 t 的加密,因为 e 和 t(分别)是两个出现频数最高的字母。以数字表达即 为 eK (4) 17 和 eK (19) 3 ,因为 eK (x) ax b ,这里 a 和 b 是未知的,所以我们有如下方程组: