Skip to content

Week5~7 差分分析

差分分析

对于加密 C=PK,有 PP=PKPK=CC,对于一个n比特加密算法和随机置换的区别,常有:DP(α,β)>1/2n,所以可以通过构造特定差分的方式建立区分器并且进一步恢复密钥

S 盒差分分布表项为何为偶数

S:F2nF2m,差分分布表(DDT)定义

D[a,b]=|{xF2nS(x)S(xa)=b}|.
  • a0:映射 τ(x)=xa 将域划分为 2n1 个不相交二元组 {x,xa}。在每个二元组内,若 x 满足等式,则 xa 也满足,因为S(xa)S((xa)a)=S(xa)S(x)=b.解成对出现,因此 D[a,b] 为偶数。
  • a=0:恒有 S(x)S(x)=0,故 D[0,0]=2nD[0,b0]=0,也都是偶数。

该结论对任意 S(不要求为置换)成立,关键在差分运算使用异或(特征为 2),从而可以配对 xxa。若改为普通加法模 2n 等运算,上述“必为偶数”的性质不一定成立。

密钥恢复

假设有如下5 rounds算法:

已知有一条高概率为 p 的4轮差分路线,则可以猜测第五轮轮密钥 k5,通过反推比对第四轮输出差分与期望(概率为 p),从而恢复轮密钥 k5