- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
差分密码分析和线性密码分析原理
01
02
差分密码分析
线性密码分析
差分密码分析是迄今为止已知的攻击迭代分组密码最有效的方法之一,其基本思想是:通过分析明文对的差值对密文对的差值来影响来恢复某些密钥比特
当密码分析人员可以进行选择明文分析时,差分密码分析十分有效。
已知明文的差分密码分析也是可行的,但是要求已知明密文的量很大
差分密码分析简介
设计DES的IBM小组知道了差分分析
1974
1991
1990
……
Biham和Shamir对多种加密算法和Hash函数进行差分密码分析攻击,结果发表在[BIHA93]中
差分密码分析公开发表
最早研究是Murphy分析分组密码FEAL【MURP90】
差分密码分析的历史
6
符号定义
P 表示明文,T 表示密文
(P, P∗)表示明文对,其异或后得到特定的值:P’,使得 P’ = P ⊕ P∗
(T, T∗) 表示密文对,其异或后得到特定的值T’,使得 T’ = T ⊕ T∗
带撇的值总是表示差分,P’ ,T’, a’, A’。例如,a’= a ⊕ a∗
7
差分密码分析_DES
DES 的设计要求之一是确保尽可能的分布均匀
例如,明文或密钥的1比特变化,将导致64比特的密文中大约32比特的看起来是不可预测和随机的变化
不过对于固定的密钥,DES的差分并不呈现伪随机现象
即对于固定明文P 和P∗ 的异或P’
T’=T⊕T∗ 不是均匀分布的
8
S-Box是非差分均匀的
对于输入S盒的6比特的(x, x∗)值对,一共有多少种可能?
考虑一个S-box的差分现象:
输入值对的差分为x’= x⊕ x∗
差分值可能有多少种?
对于其4比特输出值,y=S(x), y∗= S(x∗),以及y’=y⊕ y∗ =S(x)⊕ S(x∗)
输出差分值有多少种可能?
642 = 4096
26= 64
24= 16
S-Box是非差分均匀的
x
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
x⊕f’
f
e
d
c
b
a
9
8
7
6
5
4
3
2
1
0
S(x)
e
4
d
1
2
f
b
8
3
a
6
c
5
9
0
7
S(x⊕f’)
7
0
9
5
c
6
a
3
8
b
f
2
1
d
4
E
S(x) ⊕S(x⊕f’)
9
4
4
4
e
9
1
b
b
1
9
e
4
4
4
9
输入差分f’=1111
10
S1 的差分分布表
0
.
.
.
.
.
.
.
.
.
63
=26-1
出现的次数
6比特的差分输入x’有64个值:00-3F(16进制,10进制是0-63)
4比特的差分输出y’有16个值:0-F(16进制,10进制是0-15)
可以看到:第一行除第一列外全为0,因为当x’= x⊕ x∗ = 0,同样的输入出现了两次,因此其输出y’=y⊕ y∗ = 0
后面的行:
例如,当 x’= 01 时, 6个可能的y’中有5个值:0, 1, 2, 4, 8呈现0可能次数,就是说不出现。
A 出现的概率是12/64
9 和C 出现的概率是10/64
这就是说,S1呈现出很强的不均匀分布
这种差分不均匀性对于所有的S盒S1, S2, . . . , S8都有体现
考虑输入异或值为34时,可能的输出异或是:
其中:344有两种可能,这种输入对是成双的,即:(α, β)和 (β, α)
S1 的差分分布表
对S1构建差分表,发现当输入是13 和27 时(只看后面的6位):
12
S1 的差分分布表
12
列出S1中输入异或值为34的可能的输入值(16进制):
13
确定密钥的原理
假设已知S1的两个输入是01和35,其异或的结果是34,经过S1之后输出异或的结果是D。查S1的差分分布表,得到输入异或为34,输出异或为D时,可能的输入:
14
确定密钥的原理
14
实际上,输入异或的结果是34,与密钥无关,这是因为:
因为
所以
这样就得到:
所以,可能的密钥就是
15
确定密钥的原理
此外,假设已知S1的两个输入是21和15,它们异或后的结果是34,输出异或后的结果是3 。查S1的差分分布表,得到输入异或为34,输出异或为3时,可能的输入: 。
16
确定密钥的原理
16
这样就可以从
得到可能的密钥值
17
确定密钥的原理
17
而正确的密钥值必定同时出现在两个集合
因此可以确定密钥是在 中的一个。
要确定到底是哪一个,需要知道更多的输入输出异或对。以此类推得到此轮密钥
18
多轮DES的特征
差分输入具有很高的或然性,可以直接追踪到多轮的情况,观察到: E扩展中的异或值是线性的:
异或值与密钥是无关的:
19
2轮DES的特征差分密码分析
20
在第一轮中,输入到函数f的差分结果是
a’= 60
文档评论(0)