单迹片段模板攻击:原理、实验与优化
1. 攻击策略概述
攻击主要分为三个步骤:
1. 分割目标字并构建模板 :将每个32位目标字分割成若干片段,为每个片段独立构建模板。利用这些模板为目标中间状态的每个片段生成概率表。
2. 位级循环置信传播 :将片段概率表边缘化,得到每个位的二进制概率表,然后使用位级循环置信传播(loopy - BP)网络进行纠错。
3. 计算完整输入输出 :计算每次调用的完整输入和输出,重复此过程,最后通过异或连续的速率部分,得到Keccak海绵函数的完整填充输入。
graph LR
A[分割目标字并构建模板] --> B[位级循环置信传播]
B --> C[计算完整输入输出]
2. 字片段模板攻击
如果直接对每个中间32位字应用基于LDA的随机模型模板,需要处理$2^{32}$个候选,效率低下且不实际。因此,将中间字分割成四个字节片段,独立为每个片段构建模板。
2.1 LDA过程
直接对32位字应用LDA过程,矩阵$B$和$\Sigma$如下:
[
B = \frac{\sum_{v = 0}^{2^{32}-1} n_v (\overline{x} v - \overline{x})(\overline{x}_v - \overline{x})^T}{\sum {v = 0}^{2^{32}-1}
超级会员免费看
订阅专栏 解锁全文
603

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



