[发明专利]一种SM4加密、密钥扩展方法、装置、设备及介质有效
申请号: | 201910154930.5 | 申请日: | 2019-03-01 |
公开(公告)号: | CN109981250B | 公开(公告)日: | 2020-04-07 |
发明(设计)人: | 王学进;蒋红宇;安晓江 | 申请(专利权)人: | 北京海泰方圆科技股份有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100094 北京市海淀区东北旺西路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sm4 加密 密钥 扩展 方法 装置 设备 介质 | ||
1.一种SM4加密方法,其特征在于,包括:
利用预先生成的轮密钥对待加密的128比特的数据进行32次迭代计算,所述迭代计算为:其中,Xi、Xi+1 、Xi+2、Xi+3为第i次迭代的输入数据,Xi+4为第i次迭代的输出数据,RKi为预先生成的轮密钥,表示异或运算,所述T的计算方法为:若T输入为A,则其中A1、表示16比特的二进制整数;
将32次迭代计算的迭代结果作为加密数据。
2.如权利要求1所述的方法,其特征在于,若加密密钥则轮密钥RKi的生成方法为:FK=(FK0,FK1,FK2,FK3)和CK=(CK0,CK1,…,CK31)均为固定常数,T'的计算方法为:若T'输入为A,则
3.如权利要求1所述的方法,其特征在于,T1[A1]=L1[BigSbox(A1)],T2[A2]=L2[BigSbox(A2)],其中,T1由BigSbox计算和线性变换L1复合计算得出,T2由BigSbox计算和线性变换L2复合计算得出,BigSbox、L1以及L2均为查表计算。
4.如权利要求3所述的方法,其特征在于,若所述BigSbox的输入为A1,则BigSbox(A1)=B1,其中a0、b0、表示8比特的二进制整数。
5.一种SM4密钥扩展方法,其特征在于,包括:
若加密密钥则轮密钥RKi的生成方法为:FK=(FK0,FK1,FK2,FK3)和CK=(CK0,CK1,…,CK31)均为固定常数,T'的计算方法为:若T'输入为A,则其中A1、表示16比特的二进制整数。
6.如权利要求5所述的方法,其特征在于,T'1[A1]=L'1[BigSbox(A1)],T'2[A2]=L'2[BigSbox(A2)],其中,T'1由BigSbox计算和线性变换L'1复合计算得出,T'2由BigSbox计算和线性变换L'2复合计算得出,BigSbox、L'1以及L'2均为查表计算。
7.如权利要求6所述的方法,其特征在于,若所述BigSbox的输入为A1,则BigSbox(A1)=B1,其中a0、b0、表示8比特的二进制整数。
8.一种SM4加密装置,其特征在于,所述装置包括:
计算单元,用于利用预先生成的轮密钥对待加密的128比特的数据进行32次迭代计算,所述迭代计算为:其中,Xi、Xi+1 、Xi+2、Xi+3为第i次迭代的输入数据,Xi+4为第i次迭代的输出数据,RKi为预先生成的轮密钥,表示异或运算,所述T的计算方法为:若T输入为A,则其中A1、表示16比特的二进制整数;
处理单元,用于将32次迭代计算的迭代结果作为加密数据。
9.如权利要求8所述的装置,其特征在于,若加密密钥则所述计算单元采用如下方法生成轮密钥RKi:FK=(FK0,FK1,FK2,FK3)和CK=(CK0,CK1,…,CK31)均为固定常数,T'的计算方法为:若T’输入为A,则
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京海泰方圆科技股份有限公司,未经北京海泰方圆科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910154930.5/1.html,转载请声明来源钻瓜专利网。