关键词:
S盒
掩码
AES
侧信道攻击
电路面积
摘要:
差分能量分析作为一种强大的侧信道攻击手段,已经严重威胁到密码算法硬件实现的安全性,目前防护此类攻击最有效的方法就是对密码算法进行掩码处理.在AES算法中只有S盒是非线性的,因此如何安全高效地实现S盒一直是密码学领域的研究热点之一.本文在De Meyer等人研究工作的基础上,提出了一种具有已知最小面积的掩码S盒的串行化实现方案.先将用于零值处理的Kronecker Delta函数串行化,接着通过共享一个8位乘法器模块用于求逆以及布尔掩码和乘法掩码之间的转换,最后加上仿射变换以最小的面积代价实现了S盒.本文将S盒应用于AES算法,并且提供了掩码AES的串行化实现方案,同时给出了该方案的面积下限,在此基础上,对S盒及AES算法的部分结构进行调整,为未来的工作提供了一系列权衡面积和延迟的手段.实验表明,在可比的随机数成本下,本文S盒的一阶掩码和二阶掩码实现以一定延迟为代价将面积分别降低了48%和70%, AES算法的一阶掩码和二阶掩码实现分别降低10%和21%,并且随着安全阶数的增大,本文实现方案对面积的优化幅度会进一步提高.最后,在实验中通过对从SAKURA-G板上获取的轨迹执行固定与随机的Welch T测试来验证实现的安全性,对于AES算法的一阶掩码和二阶掩码实现分别采集了多达50万条曲线,没有发现泄漏点.