分组密码线性分析与GOST密码分析研究
在密码学领域,对分组密码的分析和破解是一项至关重要的研究工作。本文将深入探讨对分组密码MULTI2的改进线性分析以及对全轮GOST密码的新反射攻击。
分组密码MULTI2的改进线性分析
基本原理
在对MULTI2进行线性分析时,可通过穷举最后一轮所有可能的ℓ位子密钥,从(nk + 1)轮密文中推导出nk轮输出。假设只有正确的子密钥能产生有偏的nk轮线性关系(偏差为dn),那么区分器使用O(d−2n)对已知明文和(nk + 1)轮密文就能获取该子密钥。原Matsui算法2的时间复杂度为O(2ℓN)。
8轮密钥恢复攻击
给定32位的L0、R0、L8、R8,目标是恢复k1, k2, …, k8。当α = 0xaaaaaaaa时,α·(L0 ⊕L4)的偏差d = 2−5.7 ,且α·π2(R, ki)的偏差为1。8轮线性轨迹表明α · (L0 ⊕L7)与α · (L0 ⊕L4)具有相同的偏差d。
- 恢复k8 :使用Matsui算法2,数据复杂度为2 · d−2 = 212.4,时间复杂度为212.4 × 232 = 244.4。
- 恢复k6, k7 :利用α′ ·(R0 ⊕R4)(α′ = 0x88888888)的偏差d′ = 2−8,可推出α′·(R0 ⊕L7⊕R6)具有相同偏差。恢复k6, k7需要数据2 · d′−2 = 217,时间232 × 217 = 249。
- 恢复k5 :使用α′′ · (L0 ⊕R0 ⊕R4)(α′′ = 0x10001