差分因子:对SERPENT的改进攻击
1. 差分因子与S盒
在密码学算法中,差分因子是一个重要的概念。我们发现,最初版本的Crypton密码的两个S盒是仅有的具有差分因子的8×8 S盒,每个S盒包含15个差分因子,具体信息如下表所示:
| S-box | λ | μ |
| — | — | — |
| Crypton S0, S1 | 10x | 10x |
| Crypton S0, S1 | 20x | 20x |
|… |… |… |
| Crypton S0, S1 | F0x | F0x |
不过,在修订版的Crypton密码中,这些S盒被替换,新的S盒不再包含任何差分因子。
2. SERPENT密码算法
SERPENT是由Anderson、Biham和Knudsen在1998年设计的,它参加了AES竞赛并获得第二名。SERPENT是一个32轮的置换 - 替换网络(SPN),具有128位的块大小,支持0到256位的任意密钥长度。
每一轮的操作主要包括以下三个步骤:
1. 密钥混合 :在每一轮$R_i$,将128位的子密钥$K_i$与当前的中间数据$\hat{B}_i$进行异或操作。
2. S盒处理 :每一轮$R_i$并行使用一个单一的S盒$S_j$,其中$i \equiv j \pmod{8}$,$i \in {0, \ldots, 31}$。在本文中,使用SERPENT的位片版本。例如,在第一轮中,$S_0$的第一个副本从$X_0$、$X_1$、$X_2$、$X_3$中提
超级会员免费看
订阅专栏 解锁全文
18

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



