代数侧信道攻击与差分聚类分析在密码学中的应用
代数侧信道攻击对AES的影响
代数侧信道攻击为密码实现的安全性带来了新的视角。在AES的加密过程中,一些研究使得情况变得更为复杂,例如允许通过汉明重量来计算和观察4位值。
有一种对AES进行掩码处理的方法是预计算S盒。具体来说,使用2个掩码m和m′用于所有S盒的输入和输出,再使用4个额外的掩码(m1, m2, m3, m4)用于MixColumn操作,这样在加密前仅需生成48个随机位。实践表明,这种方案对代数侧信道攻击有较好的抵抗能力,约20%的实例能在不到24小时的计算时间内被解决,最快的求解约需5小时。这令人惊讶,因为掩码仅为问题增加了48个新变量,却每轮提供了32个更多的泄漏值。从直观角度看,这种掩码方案在不显著影响加密一个明文所需时钟周期数的情况下,为计算增加了随机性。而且,MixColumn是侧信道信息的重要来源,掩码使其变得更复杂。例如,未受保护的AES在MixColumn计算期间泄漏WH(a0 ⊕a1),而掩码版本泄漏WH(a0 ⊕m1 ⊕a1 ⊕m2),这使得每个汉明重量泄漏中的字节数翻倍,可提取的信息量明显少于未掩码实现。因此,这种掩码方案比其他方案更适合抵抗代数侧信道攻击。
为了抵抗代数侧信道攻击,一般可遵循以下准则:
1. 使用具有高代数复杂度的分组密码。
2. 限制实现中的时钟周期数,即每个基本操作或指令具有足够的代数复杂度。
3. 增加泄漏的代数复杂度,例如使用大数据总线、添加噪声和对策到实现中。
在8位设备的掩码方面,使用基于表的实现似乎是提高对代数侧信道攻击抵抗力的自然选择。AES Rijndael在这方面有不错的特性,例如可以通过四次256×4字节的表查
超级会员免费看
订阅专栏 解锁全文
146

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



