[发明专利]SM4算法的实现方法与装置在审
申请号: | 202211020412.2 | 申请日: | 2022-08-24 |
公开(公告)号: | CN115442031A | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 邓英;华力;袁涛;朱晓伟;王永乐 | 申请(专利权)人: | 湖南国科微电子股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410131 湖南省长沙市*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm4 算法 实现 方法 装置 | ||
本申请实施例公开了一种SM4算法的实现方法与装置,其中,该实现方法通过获取第一随机数,判断轮函数的第N轮迭代运算是否结束;当轮函数的第N轮迭代运算结束时,第一计数器从零开始计数;判断第一计数器是否等于第一随机数;若第一计数器不等于第一随机数,则第一计数器加1;若第一计数器等于第一随机数,则第一计数器归零,获取第二随机数,并根据第二随机数进行下一轮迭代运算。本发明方法通过设置的第一计数器为每一轮迭代运算加入随机冗余周期,并通过对第一计数器计数进行周期控制,使得SM4算法的32轮运算中的每一轮运行时间不断发生变化,运行周期都不固定,从而使得整个实现装置可以有效抵抗计时攻击,增强了SM4算法加密的安全性。
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种SM4算法的实现方法与装置。
背景技术
近年来随着信息技术的高速发展,物联网成为新一代信息化浪潮的典型代表,然而,使用传统对称密码算法解决物联网领域日益突出的数据安全问题遇到了困难,其主要原因是物联网上使用的应用组件不同于传统的台式机和高性能计算机,它采用计算能力相对较弱的微型计算处理设备,而这类设备的运算存储能力有限。在这种情况下,轻量级对称密码算法受到人们的广泛关注。
与此同时,增强轻量级密码算法的抗旁路攻击的能力也变得越来越重要。通过对设备的功耗进行分析发现,密码设备在执行相同指令的情况下,功耗与参与运算的密钥有一定的关系。攻击者利用这种关系对采集到的能量迹进行DPA攻击,可以分析出密钥,这就给密码算法造成了极大的安全威胁。此外,CPU的执行时间与CPU内部运行状态也有很大的相关关系,因此,攻击者可以利用这些泄露信息来破解和恢复密钥,这也给密码算法造成了极大的威胁。
发明内容
本申请实施例提供了一种SM4算法的实现方法与装置,该实现方法与装置可应用于物联网应用环境,既能满足资源消耗小的要求,又能有效的抵抗时间攻击。
第一方面,本申请实施例提供了一种SM4算法的实现方法,所述方法应用于SM4算法的实现装置,所述实现装置包括第一计数器,所述方法包括;
获取第一随机数,判断轮函数的第N轮迭代运算是否结束;
当所述轮函数的第N轮迭代运算结束时,所述第一计数器从零开始计数;
判断所述第一计数器是否等于所述第一随机数;
若所述第一计数器不等于所述第一随机数,则所述第一计数器加1;
若所述第一计数器等于所述第一随机数,则所述第一计数器归零,获取第二随机数,并根据所述第二随机数进行下一轮迭代运算。
优选地,所述实现装置还包括第二计数器,所述第二计数器用于对所述轮函数的第N轮迭代运算的运算时间周期进行计数,所述判断轮函数的第N轮迭代运算是否结束,包括;
判断所述第二计数器是否等于预设周期,
若所述第二计数器等于预设周期,则确定所述轮函数的第N轮迭代运算结束,所述第二计数器归零。
优选地,所述预设周期为8,所述第N轮迭代运算的运算过程包括:
在所述第二计数器为0-3的计数周期内,对第N-1轮密钥进行轮函数运算得到第N轮密钥;
在所述第二计数器为4-7的计数周期内,利用所述第N轮密钥对第N-1轮密文进行轮函数运算得到第N轮密文。
优选地,所述在所述第二计数器为0-3的计数周期内,对第N-1轮密钥进行轮函数运算得到第N轮密钥,包括:
按照预设比特位顺序,将所述第N-1轮密钥分成4组子第N-1轮密钥,其中,所述4组子第N-1轮密钥的比特位数相同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南国科微电子股份有限公司,未经湖南国科微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211020412.2/2.html,转载请声明来源钻瓜专利网。