线性密码分析与AES的应对策略
1. 线性密码分析概述
线性密码分析与上一节提到的差分密码分析类似,主要针对最后一轮的轮密钥。不过,它只需要已知的明文 - 密文对,属于已知密文攻击下的密钥恢复方法。线性密码分析由Matsui于1994年提出,是对(已过时的)DES的最佳理论攻击方法,需要进行$2^{43}$次操作,使用$2^{43}$对明文 - 密文对。若无法获取如此多的明文 - 密文对,如今对56位密钥进行暴力攻击也是可行的。
线性密码分析的基本思想是找到输入和输出位的和,使其相等(或不相等)的概率与平均值1/2有足够大的差异。通过将单个S盒的线性关系组合起来(除最后一轮外),可以找到已知明文的位、未知密钥位(对所有明文恒定)和最后一轮输入位之间的关系。如同差分密码分析,我们对最后一轮的所有可能候选密钥进行相应密文的解密操作,当最后一轮开始时的预期关系成立,就增加该密钥的计数器值。最后,选择计数器值与预期平均值(等于样本数量的一半)相差最远的候选密钥。该攻击可分为三个步骤:
2. 攻击步骤
2.1 步骤1:S盒的线性近似
回顾baby - AES的S盒$S : F_4^2 → F_4^2$。对于随机映射,当输入位翻转时,任何输出位翻转的概率应为1/2。我们将单个位的比较推广到选定输入位的和与选定输出位的和的比较,即关注输入位上的线性函数与输出位上的线性函数之间的相关性。
一个4位字符串$a = a_3a_2a_1a_0 ∈ F_4^2$定义了一个$F_2$ - 线性布尔函数$a^*: F_4^2 → F_2$,$x = x_3x_2x_1x_0 → \sum_{0≤j≤3} a_jx_j = a ⋆ x$,也称
超级会员免费看
订阅专栏 解锁全文
83

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



