差分密码分析技术详解
1. 引言
在密码分析领域,差分密码分析是一种强大的工具。它通过分析密码系统中输入和输出的差异,来揭示密码的特性,进而尝试破解密码。这里的输入和输出可以指S盒的输入输出、密码算法若干轮的输入输出,甚至是整个密码算法的输入输出。标准的差分攻击是通过获取S盒的特性,构建各轮的特性,最终拼接出整个密码的特性来实现的。
2. S盒差分分析
大多数密码算法的核心都会使用S盒(如AES中的SubBytes操作),因此差分密码分析的第一步就是计算S盒输入和输出的特性。
假设一个S盒的输入为X,输出为Y。对于两个特定输入X1和X2,定义ΩX为这两个明文的差分。同样,对于对应的两个输出Y1和Y2,也有相应的差分。为了构建差分关系,需要考虑所有可能的ΩX值,并测量其对ΩY的影响。具体做法是,对于每个可能的X1和ΩX(从而得到X2),测量Y1和Y2以获得ΩY,并将这些值记录在表格中。
以下是对EASY1密码进行分析的部分结果示例:
| 输入差分ΩX | 输出差分ΩY | 出现次数 |
| — | — | — |
| 0 ⇒ 0 | 40(十六进制) | 总是成立 |
更常见的做法是将概率最高的特性以列表形式整理出来。通过对EASY1密码S盒的完整差分分析表进行搜索,发现最大的两个条目分别是6和8,对应的概率分别为6/64和8/64。以下是这些特性的列表:
- 概率为6/64的S盒特性 :
- ( 000110 ⇒ 000110)
- ( 000110 ⇒ 100001)
- ……
- ( 111101
超级会员免费看
订阅专栏 解锁全文
2043

被折叠的 条评论
为什么被折叠?



