摘要

针对SM4算法面临功耗攻击的严重威胁的问题,提出了一种改进的SM4双路径循环移位掩码方案。通过对初始明文和密钥信息进行随机掩码,并在轮函数中引入伪随机掩码S盒,开辟了2条与原始S盒完全不同的数据路径,可保证SM4算法加密过程中的所有原始中间值结果均被掩盖,切断功耗与中间值之间的相关性。安全性分析和实验验证,与无防护SM4算法相比,方案在功耗和实现面积增加不大的情况下,能够有效抵御功耗攻击。