[发明专利]SM4算法的实现方法与装置在审
申请号: | 202211020412.2 | 申请日: | 2022-08-24 |
公开(公告)号: | CN115442031A | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 邓英;华力;袁涛;朱晓伟;王永乐 | 申请(专利权)人: | 湖南国科微电子股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410131 湖南省长沙市*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm4 算法 实现 方法 装置 | ||
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。
7.根据权利要求6所述的实现方法,其特征在于,所述方法还包括:
根据所述轮函数依次进行32轮迭代运算,得到第32轮密文后,所述第三计数器归零,其中,所述根据所述轮函数依次进行32轮迭代运算的过程中,所述第三计数器由0累加计数到32。
8.根据权利要求1所述的实现方法,其特征在于,进行所述轮函数运算之前,所述方法还包括:
获取数据明文,明文掩码,加密密钥和密钥掩码;
将所述数据明文和明文掩码进行异或运算得到带掩码的数据明文,将所述加密密钥和所述密钥掩码进行异或运算得到带掩码的加密密钥;
根据所述带掩码的数据明文和所述带掩码的加密密钥进行所述轮函数运算的第1轮迭代运算。
9.一种SM4算法的实现装置,其特征在于,所述实现装置包括第一计数器和周期控制模块;
所述周期控制模块,用于获取第一随机数,判断轮函数的第N轮迭代运算是否结束,当所述轮函数的第N轮迭代运算结束时,所述第一计数器从零开始计数;判断所述第一计数器是否等于所述第一随机数;若所述第一计数器不等于所述第一随机数,则所述第一计数器加1,若所述第一计数器等于所述第一随机数,则所述第一计数器归零,获取第二随机数,并根据所述第二随机数进行下一轮迭代运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南国科微电子股份有限公司,未经湖南国科微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211020412.2/1.html,转载请声明来源钻瓜专利网。