说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211020412.2 (22)申请日 2022.08.24 (71)申请人 湖南国科微电子股份有限公司 地址 410131 湖南省长 沙市长沙经济技 术 开发区泉塘街道东十路南段9号 (72)发明人 邓英 华力 袁涛 朱晓伟  王永乐  (51)Int.Cl. H04L 9/08(2006.01) (54)发明名称 SM4算法的实现方法与装置 (57)摘要 本申请实施例公开了一种SM4算法的实现方 法与装置, 其中, 该实现方法通过获取第一随机 数, 判断轮函数的第N轮迭代运算是否结束; 当轮 函数的第N轮迭代运算结束时, 第一计数器从零 开始计数; 判断第一计数器是否等于第一随机 数; 若第一计数器不等于第一随机数, 则第一计 数器加1; 若第一计数器等于第一随机数, 则第一 计数器归零, 获取第二随机数, 并根据第二随机 数进行下一轮迭代运算。 本发明方法通过设置的 第一计数器为每一轮迭代运算加入随机冗余周 期, 并通过对第一计数器计数进行周 期控制, 使 得SM4算法的32轮运算中的每一轮运行时间不断 发生变化, 运行周 期都不固定, 从而使得整个实 现装置可以有效抵抗计时攻击, 增强了SM4算法 加密的安全性。 权利要求书2页 说明书7页 附图1页 CN 115442031 A 2022.12.06 CN 115442031 A 1.一种SM4算法的实现方法, 其特征在于, 所述方法应用于SM4算法的实现装置, 所述实 现装置包括第一计数器, 所述方法包括; 获取第一随机数, 判断轮函数的第N轮迭代运 算是否结束; 当所述轮函数的第N轮迭代运 算结束时, 所述第一计数器从零 开始计数; 判断所述第一计数器是否等于所述第一随机数; 若所述第一计数器不 等于所述第一随机数, 则所述第一计数器加1; 若所述第 一计数器等于所述第 一随机数, 则所述第 一计数器归零, 获取第 二随机数, 并 根据所述第二随机数进行 下一轮迭代运 算。 2.根据权利要求1所述的实现方法, 其特征在于, 所述实现装置还包括第二计数器, 所 述第二计数器用于对所述轮函数 的第N轮迭代运算的运算时间周期进行计数, 所述判断轮 函数的第N轮迭代运 算是否结束, 包括; 判断所述第二计数器是否等于预设周期, 若所述第 二计数器等于预设周期, 则确定所述轮函数的第 N轮迭代运算结束, 所述第二 计数器归零。 3.根据权利要求2所述的实现方法, 其特征在于, 所述预设周期为8, 所述第N轮迭代运 算的运算过程包括: 在所述第二计数器为0 ‑3的计数周期内, 对第N ‑1轮密钥进行轮函数运算得到第N轮密 钥; 在所述第二计数器为4 ‑7的计数周期内, 利用所述第N轮密钥对第N ‑1轮密文进行轮函 数运算得到第N轮密文。 4.根据权利要求3所述的实现方法, 其特征在于, 所述在所述第二计数器为0 ‑3的计数 周期内, 对第N ‑1轮密钥进行轮函数运 算得到第N轮密钥, 包括: 按照预设比特位顺序, 将所述第N ‑1轮密钥分成4组子第N ‑1轮密钥, 其 中, 所述4组子第 N‑1轮密钥的比特位数相同; 在所述第二计数器由0累加计数到3的周期内, 依次对所述4组子第N ‑1轮密钥进行合成 置换运算, 其中, 每完成1组子第N ‑1轮密钥的合成置换运 算时, 所述第二计数器加1; 根据所述 4组子第N ‑1轮密钥的合成置换运 算结果, 得到所述第N轮密钥。 5.根据权利要求3所述的方法, 其特征在于, 所述在所述第二计数器为4 ‑7的计数周期 内, 利用所述第N轮密钥对第N ‑1轮密文进行轮函数运 算得到第N轮密文, 包括: 按照预设比特位顺序, 将所述第N ‑1轮密文分成4组子第N ‑1轮密文, 将所述第N轮密钥 分成4组子第N轮密钥, 其中, 所述4组子第N ‑1轮密文的比特位数和所述4组子第N轮密钥的 比特位数相同; 在所述第二计数器由4累加计数到7的周期内, 依次利用所述4组子第N轮密钥对所述4 组子第N‑1轮密文和进行合成置换运算, 其中, 每完成1组子第N ‑1轮密文和所述4组子第N轮 密钥的合成置换运 算时, 所述第二计数器加1; 根据所述4组子第N ‑1轮密文和所述4组子第N轮密钥的合成置换运算结果, 得到所述第 N轮密文。 6.根据权利要求1所述的实现方法, 其特征在于, 所述实现装置还包括第三计数器, 所 述第三计数器用于对所述轮函数的迭代运 算轮次数进行计数, 所述方法还 包括:权 利 要 求 书 1/2 页 2 CN 115442031 A 2当所述第一计数器等于所述第一随机数时, 所述第三计数器加1。 7.根据权利要求6所述的实现方法, 其特 征在于, 所述方法还 包括: 根据所述轮函数依次进行32轮迭代运算, 得到第32轮密文后, 所述第三计数器归零, 其 中, 所述根据所述轮函数依次进 行32轮迭代 运算的过程中, 所述第三计数器由0累加计数到 32。 8.根据权利要求1所述的实现方法, 其特征在于, 进行所述轮函数运算之前, 所述方法 还包括: 获取数据明文, 明文掩码, 加密 密钥和密钥掩码; 将所述数据明文和明文掩码进行异或运算得到带掩码的数据明文, 将所述加密密钥和 所述密钥掩码进行异或运 算得到带掩码的加密 密钥; 根据所述带掩码的数据明文和所述带掩码的加密密钥进行所述轮函数运算的第1轮迭 代运算。 9.一种SM4算法的实现装置, 其特征在于, 所述实现装置包括第一计数器和周期控制模 块; 所述周期控制模块, 用于获取第一随机数, 判断轮函数的第N轮迭代运算是否结束, 当 所述轮函数的第N轮迭代运算结束时, 所述第一计数器从零开始计数; 判断所述第一计数器 是否等于所述第一 随机数; 若所述第一计数器不等于所述第一 随机数, 则所述第一计数器 加1, 若所述第一计数器等于所述第一随机数, 则所述第一计数器归零, 获取第二随机数, 并 根据所述第二随机数进行 下一轮迭代运 算。权 利 要 求 书 2/2 页 3 CN 115442031 A 3

.PDF文档 专利 SM4算法的实现方法与装置

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 SM4算法的实现方法与装置 第 1 页 专利 SM4算法的实现方法与装置 第 2 页 专利 SM4算法的实现方法与装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 04:03:38上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。