积分密码分析技术详解
1. MISTY1 四轮攻击
在对 MISTY1 进行四轮攻击时,对于特定的明文四重奏,FO2 输出左半部分的异或结果为零。这个特性会传递到第四轮输入,且在 KL32 为 1 的比特位置不受 FL3 干扰。由此,我们能得到每个密文四重奏的 7 比特条件:
[
\text{truncate}(KL32) \land \bigoplus_{i} f_{KO41}(C_i) = \text{truncate}(KL32) \land \bigoplus_{i} g_{KO42}(C_i)
]
通过猜测 truncate(KL32) 并运用中间相遇技术,通常大约经过 (2^{30}) 次简单计算步骤就能找到 KO41 和 KO42。继续猜测 KI412、KI422 以及 KL32 的其余部分,可延续攻击。对于大多数密钥,该攻击大约使用 (2^5) 个选择明文,时间复杂度相当于 (2^{27}) 次尝试加密。
2. 广义 Feistel 网络
Nyberg 提出了块大小为 (2nd) 比特的广义 Feistel 网络。一轮加密的输入为 (X_0, \cdots, X_{2n - 1}),给定 (n) 个 S 盒 (F_0, \cdots, F_{n - 1})(其中 (F_i: {0, 1}^d \to {0, 1}^d))和 (n) 个轮密钥 (K_0, \cdots, K_{n - 1}),一轮输出 (Z_0, \cdots, Z_{2n - 1}) 定义如下:
[
\begin{cases}
Y_i = X_i \oplus F_i(K_i \oplus X_{2n - 1 - i}),
超级会员免费看
订阅专栏 解锁全文
1368

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



