预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109981250A(43)申请公布日2019.07.05(21)申请号201910154930.5(22)申请日2019.03.01(71)申请人北京海泰方圆科技股份有限公司地址100094北京市海淀区东北旺西路8号中关村软件园9号楼国际软件大厦E座一层、二层(72)发明人王学进蒋红宇安晓江(74)专利代理机构北京同达信恒知识产权代理有限公司11291代理人黄志华(51)Int.Cl.H04L9/06(2006.01)权利要求书2页说明书8页附图1页(54)发明名称一种SM4加密、密钥扩展方法、装置、设备及介质(57)摘要本发明实施例公开了一种SM4加密、密钥扩展方法、装置、设备及介质,用以优化SM4加密算法,实现海量数据的快速加密。所述SM4加密方法,包括:利用预先生成的轮密钥对待加密的128比特的数据进行32次迭代计算,所述迭代计算为:i=0,1,…,31,其中,RKi为预先生成的轮密钥,表示异或运算,所述T的计算方法为:若T输入为A,则将32次迭代计算的迭代结果作为加密数据。CN109981250ACN109981250A权利要求书1/2页1.一种SM4加密方法,其特征在于,包括:利用预先生成的轮密钥对待加密的128比特的数据进行32次迭代计算,所述迭代计算为:其中,RKi为预先生成的轮密钥,表示异或运算,所述T的计算方法为:若T输入为A,则将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,5.一种SM4密钥扩展方法,其特征在于,包括:若加密密钥则轮密钥RKi的生成方法为:FK=(FK0,FK1,FK2,FK3)和CK=(CK0,CK1,…,CK31)均为固定常数,T'的计算方法为:若T'输入为A,则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,8.一种SM4加密装置,其特征在于,所述装置包括:计算单元,用于利用预先生成的轮密钥对待加密的128比特的数据进行32次迭代计算,所述迭代计算为:其中,RKi为预先生成的轮密钥,表示异或运算,所述T的计算方法为:若T输入为A,则2CN109981250A权利要求书2/2页处理单元,用于将32次迭代计算的迭代结果作为加密数据。9.如权利要求8所述的装置,其特征在于,若加密密钥则所述计算单元采用如下方法生成轮密钥RKi:FK=(FK0,FK1,FK2,FK3)和CK=(CK0,CK1,…,CK31)均为固定常数,T'的计算方法为:若T'输入为A,则10.一种SM4密钥扩展装置,其特征在于,所述装置包括:处理单元,用于在加密密钥的条件下,采用如下方法生成轮密钥RKi:FK=(FK0,FK1,FK2,FK3)和CK=(CK0,CK1,…,CK31)均为固定常数,T'的计算方法为:若T'输入为A,则3CN109981250A说明书1/8页一种SM4加密、密钥扩展方法、装置、设备及介质技术领域[0001]本发明涉及计算机安全技术领域,尤其是涉及一种SM4加密、密钥扩展方法、装置、设备及介质。背景技术[0002]SM4是一个分组密码算法,主要用于数据加密,其分组长度与密钥长度均为128比特,加密算法与密钥扩展算法都采用32轮非线性迭代结构。[0003]现有SM4加密算法中的T置换的计算方法为T(·)=L(τ(·)),其中,非线性变换τ由4个并行的S盒构成,设输入为输出为则(b0,b1,b2,b3)=τA=(Sbox(a0),Sbox(a1),Sbox(a2),Sbox(a3))。[0004]非线性变换τ的输出是线性变换L的输入,设L的输入为输出为则从上述计算过程可以看出,现有SM4