11轮Feistel密码的已知密钥区分器与碰撞攻击
1. 基本概念与攻击复杂度
在针对Feistel密码的攻击中,攻击者面临的问题可视为寻找一个2n - c位的碰撞。由于有足够的自由度来实施生日攻击,此攻击的复杂度为2(n - c)/2。在攻击过程中,我们会利用MDS(最大距离可分)和第一步生成的差分分布表(DDT)来高效执行第二步(入站阶段)。而出站阶段则适用于任何S盒和任何线性变换。
2. 基本9轮攻击
2.1 截断差分路径
在反弹攻击中,攻击者需构建差分路径并将其分为入站和出站阶段。我们使用的截断差分路径如下:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([(F, F)]):::startend -->|1stR| B((1, F)):::process
B -->|2ndR| C((0, 1)):::process
C -->|3rdR| D((1, 0)):::process
D -->|4thR| E((F, 1)):::process
E -->|5thR| F((1, F)):::process
F -->|6thR| G((0, 1)):::process
G -->|7thR| H((1, 0)):::pro