计算机缓存环境下的密码分析技术研究
1. DES消除表攻击实验
在对DES进行消除表攻击的实验中,使用了从2ⁿ个随机生成的明文中选取2ⁿ⁻ᵐ个的方式,按照加密时长降序收集。实验选取了2⁻⁶、2⁻⁷和2⁻⁸作为2⁻ᵐ的值,2¹⁶和2¹⁷作为2ⁿ⁻ᵐ的值,对300个密钥进行实验。实验结果如下表所示:
| 明文/密文对数量(2ⁿ⁻ᵐ) | 替代值(2⁻ᵐ) | 成功率 |
| — | — | — |
| 2¹⁶ | 2⁻⁶ | 68.7% |
| 2¹⁶ | 2⁻⁷ | 74.7% |
| 2¹⁶ | 2⁻⁸ | 85.0% |
| 2¹⁷ | 2⁻⁶ | 90.7% |
| 2¹⁷ | 2⁻⁷ | 92.3% |
| 2¹⁷ | 2⁻⁸ | 97.0% |
从表中可以看出,当收集2¹⁷个明文/密文对时,恢复密钥的概率超过90%,并且设置更严格的明文收集条件可以收集到更多缓存缺失的明文/密文对。
2. 密钥恢复步骤
- 步骤2 :利用第1轮和第16轮的密钥差异确定第16轮扩展密钥的1位,然后猜测第1轮扩展密钥的任意1位。基于之前得到的密钥差异,对第1轮扩展密钥进行32位(4位×8个密钥差异)的穷举搜索,从而确定第16轮的扩展密钥。根据第1轮和第16轮扩展密钥的关系,通过猜测1位还可以确定更多位。最后,通过对第1轮扩展密钥进行24位的穷举搜索来猜测密钥。
- 步骤3 :使用步骤2中猜测的密钥对步骤1中准备的明文进行加密。如果得到的密文与步骤1中得到的密文一致,则密钥正确;否则,返回
超级会员免费看
订阅专栏 解锁全文
2万+

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



