[发明专利]一种标准密文输出格式的商密SM4算法的白盒软件实现方法有效

专利信息
申请号: 201611202361.X 申请日: 2016-12-23
公开(公告)号: CN107070636B 公开(公告)日: 2019-12-13
发明(设计)人: 周洁;白健;刘尚麟;安红章 申请(专利权)人: 中国电子科技集团公司第三十研究所
主分类号: H04L9/06 分类号: H04L9/06;H04L9/08;H04L9/30;H04L29/06
代理公司: 51214 成都九鼎天元知识产权代理有限公司 代理人: 项霞
地址: 610000 *** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 查找表 密钥 算法 运算 线性变换 白盒 混淆 输入输出变换 密钥隐藏 软件实现 输出变换 输出格式 中间数据 密文 三层 抵消 分析 复合 抵抗 合并
【权利要求书】:

1.一种标准密文输出格式的商密SM4算法的白盒软件实现方法,其特征在于,包括如下步骤:

步骤一:产生一组128bit的字符串作为根密钥;

步骤二:将128bit的根密钥按照标准SM4密钥扩展算法扩展为32个32bit的轮密钥,设为rk0,rk1,...,rk31,分别用于第1轮到第32轮的计算,第33、34、35、36轮计算的密钥分别为r28,r29,r30,r31

步骤三:随机生成420个8×8的可逆矩阵,分别记为Mi,i=1,...,420;

步骤四:定义四类矩阵,分别为P、Ei、Qj、Rk;令:

P=diag(P1,1,P1,2,P1,3,P1,4),

Ei=diag(Ei,1,Ei,2,Ei,3,Ei,4),(i=1、2、3......36);

Qj=diag(Qj,1,Qj,2,Qj,3,Qj,4),(j=1、2、3......36);

Rk=diag(Rk,1,Rk,2,Rk,3,Rk,4),(k=1、2、3......32);

其中P1,1=M1,P1,2=M2,P1,3=M3,P1,4=M4,Ei,l=M4(i+1)+l,Qj,l=M4(j+37)+l,Rk,l=M4(k+73)+l,i=1,...,36,j=1,...,36,k=1,...,32,l=1,...,4;

步骤五:产生复合线性变化Ai,j,i=1,...,36,j=1,2,3;

步骤六:构造第一个查找表,具体方法为:

步骤6.1:设在第i轮计算中,第一个查找表的输入为yi=(yi,1,yi,2,yi,3,yi,4)T

第一个查找表的构建方法如下:

首先,yi经过线性变换作用,输出为:

其中

步骤6.2:将本轮计算的密钥rki隐藏在S盒中,

设经过S盒作用后的输出为:

步骤6.3:计算Qi*P*L*(zi,1,zi,2,zi,3,zi,4)T

记Hi=QiPL=(Hi,1Hi,2Hi,3Hi,4),Hi,j为32*8的矩阵,则:

据上,可获得4个8bit到32bit的查找表:yi,j(→zi,j)→vi,j,j=1,2,3,4;

第一个查找表其中Hi=QiPL=(Hi,1Hi,2Hi,3Hi,4),Hi,j为32*8的矩阵,i=1,...36,j=1,...,4;

步骤七:构造第二个查找表,具体方法为:

设在第i轮中,第二个查找表的输入为si=(si,1,si,2,si,3,si,4)和ti=(ti,1,ti,2,ti,3,ti,4);

对于第1轮到第4轮计算,第二个查找表的构建方法如下:

步骤7.1:计算RiP(si)和

RiP(si)=(Ri,1P1,1si,1,Ri,2P1,2si,2,Ri,3P1,3si,3,Ri,4P1,4si,4);

步骤7.2:计算

对于第5轮到第32轮,第二个查找表的构建方法如下:

步骤7.1:计算和

步骤7.2:计算

对于第33轮到第36轮,第二个查找表的构建方法如下:

步骤7.1:计算和

步骤7.2:计算

据上,得到第二个查找表的构造为

步骤八:设明文输入为(x0,x1,x2,x3),经过36轮运算,最后输出的密文为(x39,x38,x37,x36),每一轮根据已经建立的复合线性变化Ai,j,第一个查找表及第二个查找表按如下步骤进行加密运算:

设第i轮的输入为(xi-1,xi,xi+1,xi+2),其中xi-1,xi,xi+1,xi+2都为32bit;

步骤8.1:利用复合线性变换Ai,1,Ai,2,Ai,3分别左乘xi,xi+1,xi+2,然后将结果进行异或,即:

步骤8.2:计算yi=(yi,1,yi,2,yi,3,yi,4)T经过查找表一变换后的结果,即:

步骤8.3:计算si=xi-1=(si,1,si,2,si,3,si,4)T和ti=(ti,1,ti,2,ti,3,ti,4)T经过查找表二变换后的结果,即:

经过上述3步变换后,第i轮的输出为xi+3=(xi+3,1,xi+3,2,xi+3,3,xi+4,4)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611202361.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top