[发明专利]SM4算法白盒实现方法、装置、电子设备及计算机介质有效
申请号: | 201911059536.X | 申请日: | 2019-11-01 |
公开(公告)号: | CN110784306B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 张立廷;潘文伦 | 申请(专利权)人: | 成都卫士通信息产业股份有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王雨 |
地址: | 610041 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm4 算法 实现 方法 装置 电子设备 计算机 介质 | ||
1.一种SM4算法白盒实现方法,其特征在于,包括:
获取待加密的明文信息;
对所述明文信息进行32轮变换,得到所述明文信息对应的加密结果;
所述32轮变换中的每一轮变换步骤包括:在该轮查找表TAr中,查找该轮第二个待处理数据和该轮第三个待处理数据对应的第一查找结果;在该轮查找表TBr中,查找该轮第一个查找结果和该轮第四个待处理数据对应的第二查找结果;在该轮查找表TCr中,查找该轮第二查找结果对应的第三查找结果;在该轮查找表TDr中,查找该轮第一个待处理数据和该轮第三查找结果对应的第四查找结果;r=1,2,3,…,32;
其中,查找表TAr、查找表TBr、查找表TCr、查找表TDr用于完成所述SM4算法的第r轮运算,并对运算结果进行编码保护。
2.根据权利要求1所述的方法,其特征在于,所述对所述明文信息进行32轮变换之前,还包括:
获取主密钥KEY;
基于所述主密钥KEY,通过密钥扩展算法生成对应的轮密钥Kr,且r=1,2,3,…,32;选定整数t1,t2,其中,4≤t1≤t2≤29;
当1≤r≤t1或t2≤r≤32时,基于公式构造查找表TAr;
当1≤r≤t1或t2≤r≤32时,基于公式构造查找表TBr;
当1≤r≤t1或t2≤r≤32时,基于公式构造查找表TCr;
当1≤r≤t1或t2≤r≤32时,基于公式构造查找表TDr;
其中,x,x′,Fr,Gr,Hr,Pr-1,Pr,Pr+1,Pr+3均为上的可逆映射,且P0、P1、P2、P3、P32、P33、P34、P35为恒等变换;T表示所述SM4算法中的轮函数,且L为32阶线性变换,τ=S||S||S||S,S表示8比特非线性变换;表示异或运算。
3.根据权利要求2所述的方法,其特征在于,所述基于所述主密钥KEY,通过密钥扩展算法生成对应的轮密钥Kr之后,还包括:
若t1<t2,且当t1<r<t2时,查找表TAr、TBr、TDr均用于直接对输入的两个32比特向量进行异或运算;查找表TCr用于对输入的信息x进行运算;
其中,且此时均为32比特随机向量。
4.根据权利要求1至3任一项所述的方法,其特征在于,包括:
根据预设条件,确定所述SM4算法每一轮变换中查找表的构造方式,所述预设条件包括预设安全性条件、预设存储条件、预设效率条件。
5.一种SM4算法白盒实现装置,其特征在于,包括:
第一获取模块,用于获取待加密的明文信息;
第一处理模块,用于对所述明文信息进行32轮变换,得到所述明文信息对应的加密结果;所述32轮变换中的每一轮变换步骤包括:在该轮查找表TAr中,查找该轮第二个待处理数据和该轮第三个待处理数据对应的第一查找结果;在该轮查找表TBr中,查找该轮第一个查找结果和该轮第四个待处理数据对应的第二查找结果;在该轮查找表TCr中,查找该轮第二查找结果对应的第三查找结果;在该轮查找表TDr中,查找该轮第一个待处理数据和该轮第三查找结果对应的第四查找结果;r=1,2,3,…,32;
其中,查找表TAr、查找表TBr、查找表TCr、查找表TDr用于完成所述SM4算法的第r轮运算,并对运算结果进行编码保护。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都卫士通信息产业股份有限公司,未经成都卫士通信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911059536.X/1.html,转载请声明来源钻瓜专利网。