您好,欢迎访问山东渔翁信息技术股份有限公司官方网站!

渔翁信息微信号
免费咨询热线:
400-6686-188
当前位置:首页 > 新闻中心 >

SM4掩码方法抗侧信道攻击简述

文章出处:渔翁信息作者:渔翁信息人气:发表时间:2019-03-21 10:43【

SM4是一种分组长度和密钥长度均为128比特的对称密码算法,加密算法与密钥扩展算法都采用32轮的非线性迭代结构,解密算法与加密算法结构相同, 只是轮密钥的使用次序相反。轮函数主要由异或运算,S盒查表以及循环左移组成。

SM4算法作为我国第一个公布的商用分组密码算法,作为行业标准,得到广泛的应用。不过由于侧信道攻击的兴起,也使得该算法在智能卡等密码设备中的应用面临着安全考验。

由于密码算法在硬件系统中运行时,会发生除输入输出信息之外的其他侧信道信息,如功耗,电磁辐射等。原因在于数据处理时,寄存器中数据变化导致硬件系统中负载电容的充放电的发生,表现在操作数上就是指令执行前后数据的汉明距离的变化。

针对SM4算法的侧信道攻击,阐明了DPA 攻击对SM4 算法的有效性,然后WangST 和QiuS 分别提出了选择明文方式的DPA 攻击,进一步表明SM4 算法对DPA 攻击的脆弱性。

为防止各种侧信道攻击,对分组密码算法使用随机数掩盖运算过程中的敏感数据的措施是一种常用方法。根据不同的运算操作,可采用不同的掩码方法,线性操作可以使用布尔异或进行掩码和恢复,而对于非线性操作,如针对AES 的S 盒运算,分别有乘法掩码,随机掩码和固定值掩码的方法。

针对SM4 算法的S 盒代数表达式,提出了相应的运用有限域乘法及求逆进而掩码和恢复的乘法掩码方案,在此基础上,结合针对AES 抵御侧信道攻击的双路径掩码方法,提出了一种针对SM4 的多路径乘法掩码的方法。乘法掩码的方法由于需知道S 盒的代数表达式, 硬件实现需要增加额外的乘法电路计算中间数据以便去掩码处理,假如原方案运用的是查表的实现方法,则运用乘法掩码实现时窜改会较大。多途径的掩码方法计划时由于需求存在多条并行的运算途径,将添加设计的复杂度。