对PRIDE的首次差分故障分析:从理论到实践
1. 方程解与密钥恢复基础
在密码分析中,若某些方程有特定数量的解,会对后续的密钥恢复产生重要影响。当存在至少两个解时,相关的三个方程(如方程(1)、(2)以及 (S(x ⊕a1 ⊕a2) ⊕S(x) = b1 ⊕b2) )至少有四个解。也就是说,如果能找到两个差分 ((a1, b1)) 和 ((a2, b2)) ,使得差分分布表中的三个条目 ((a1, b1))、((a2, b2)) 和 ((a1 ⊕a2, b1 ⊕b2)) 中有一个等于2,那么就能保证同时满足这两个差分的输入是唯一的。需要注意的是,如果这三个方程中有一个无解,那么由方程(1)和(2)组成的方程组也无解。
一旦恢复了 (k0) ,就可以从密文 (C) 和 (C^ ) 计算出 (X20) 和 (X^ _{20}) 。设 (L) 表示整个线性层,其定义为:
[
L = P^{-1} \circ
\begin{pmatrix}
L0 & 0 & 0 & 0 \
0 & L1 & 0 & 0 \
0 & 0 & L2 & 0 \
0 & 0 & 0 & L3
\end{pmatrix}
\circ P
]
接着可以计算出 (\Delta Y19) ,并且通过以下方程:
[
\Delta X19 = S^{-layer - 1}(L^{-1}(S^{-layer - 1}(P^{-1}(C) ⊕k0) ⊕P^{-1}(f20(k1))))
⊕