[发明专利]基于依赖密钥的S盒的SM4白盒实现方法有效
申请号: | 201610555791.3 | 申请日: | 2016-07-15 |
公开(公告)号: | CN107623568B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 范修斌;白琨鹏 | 申请(专利权)人: | 青岛博文广成信息安全技术有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266200 山东省青岛市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 依赖 密钥 sm4 实现 方法 | ||
1.一种基于依赖密钥的S盒的SM4白盒实现方法,其特征在于:SM4白盒加密/解密方法共有32轮;每轮需要16个D盒和4个R盒;
其中,
D盒是用于将本轮输入的32比特数据进行状态变换的查找表,定义如下:
其中:
(1)r=1,2,…,32是当前的轮数,i,j=0,1,2,3,i,j都由右向左增序,i是指32比特输入的序,j是每个32比特输入的8比特分位的序;
(2)Dr,i,j算子8进32出,其为左作用算子,即Dr,i,j的作用方式为其中“ο”是函数或算子的作用;
(3)f=(mbr,3,…,mbr,0),MB是在GF(2)上随机选取的32×32可逆线性变换,mb是在GF(2)上随机选取的8×8可逆线性变换;
(4)br,α,i,j,α=0,1,2,3是4个独立随机选取的8比特数值;
(5)B和B′为:
(5.1)
(5.2)
(5.3)Br+i-1,1,3,Br+i-1,1,2,Br+i-1,1,1,Br+i-1,1,0,Br+i-1,0,3,Br+i-1,0,2,Br+i-1,0,1,Br+i-1,0,0是8个独立随机选取的32比特随机数;
(5.4)B′r+i-1,3,B′r+i-1,2,B′r+i-1,1,B′r+i-1,0是只有3个自由度的4个32比特随机数;
(5.5)XOR(x)是左作用算子,对于与x等长的值y,其中为比特异或运算;
R盒是用于密钥保护的查找表,定义如下:
其中:
(1)Rr,j算子8进32出,其为左作用算子,即Rr,j的作用方式为
(2)
(3)kr是SM4密码算法第r轮的32比特轮密钥,kr,j是kr的第j个字节,
kr=(kr,3,kr,2,kr,1,kr,0);
(4)Sr,j是SM4白盒实现方法轮函数中的8比特依赖密钥S盒,即其中f为g(x)=x8+x7+x6+x5+x4+x2+1生成的GF(28)上的求逆运算,λr,j为8×8的可逆线性变换,ur,j为8比特向量,且λr,j,ur,j由密钥控制生成,M是标准SM4密码算法轮函数中的32比特循环移位生成的线性变换,Mj是M的第j个32×8子变换,即M=(M3,M2,M1,M0);
(5)MB与D盒中的MB一致;
(6)Br+3,1,j是独立随机选取的32比特随机数,且
整个SM4白盒实现方法以(x′3,x′2,x′1,x′0)为输入,经过32轮变换后,输出(x′35,x′34,x′33,x′32),其中要保护E3,E2,E1,E0,E35,E34,E33,E32以及它们的逆;第r轮以4个32比特数值(x′r+2,x′r+1,x′r,x′r-1)=(Er+2(xr+2),Er+1(xr+1),Er(xr),Er-1(xr-1))为输入,其中,xl是标准SM4算法的中间值;
计算一个新的32比特数值x′r+3=Er+3(xr+3),每轮计算步骤如下:
(1)
(2)
其中:
(a)x′l,j是x′l的第j个字节;
(b)sr是32比特中间值;
(c)sr,j是sr的第j个字节。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛博文广成信息安全技术有限公司,未经青岛博文广成信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610555791.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型电镀用挂架
- 下一篇:一种汽车左右门饰条电镀挂载装置