[发明专利]基于非线性变换的SM4白盒实现方法有效
申请号: | 201610555295.8 | 申请日: | 2016-07-15 |
公开(公告)号: | CN107623566B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 范修斌;白琨鹏 | 申请(专利权)人: | 青岛博文广成信息安全技术有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266200 山东省青岛市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 非线性 变换 sm4 实现 方法 | ||
白盒技术是指通过查表来实现密码算法密钥保护的技术。本发明给出了基于非线性变换的SM4白盒实现方法。本发明属于信息安全技术领域,涉及密码算法。基于非线性变换的SM4白盒实现方法有三个基本算子构成,它们分别为D盒、R盒和X盒,分别称之为状态变换算子、密钥保护算子和异或算子。本发明给出了详细的基于非线性变换的SM4白盒实现方法步骤以及安全性分析。
技术领域
本发明属于信息安全技术领域,涉及密码算法的实现方法。
背景技术
白盒技术是指通过查表来实现密码算法密钥保护的技术。该技术提供了一种在终端用户没有专门介质保护密钥情况下的一种密码算法软件安全应用方法。白盒技术主要应用领域是数字产权保护。该技术虽然允许用户在设备中使用密码软件,但防止非法用户恢复、传播密码算法的密钥而牟利。同时,该技术又可以防止能量攻击。由此可见,白盒技术具有重要的实践意义。人们已经研发了基于仿射变换的SM4白盒实现方法,本发明给出了基于非线性变换的SM4白盒实现方法。
发明内容
在基于非线性变换的SM4白盒实现方法中,有三个基本算子,即D盒、R盒和X盒,分别称之为状态变换算子、密钥保护算子和异或算子。下面先介绍D盒、R盒和X盒,然后给出基于非线性变换的SM4白盒实现方法的描述。
D盒:
D盒算子用于将本轮输入的32比特数据进行状态变换,定义如下:
其中:
(1)Dr,i,j算子8进32出,其为左作用算子,即Dr,i,j的作用方式为
(2)r=1,2,…,32是当前的轮数,i,j=0,1,2,3,i由右向左增序,其为输入的位置参数,j由左向右增序,其为输入分割位置的参数;
(3)PD和PX都是随机选取的4比特可逆非线性变换;
(4)
(5)MB是在GF(2)上随机选取的32×32可逆线性变换,mb是在GF(2)上随机选取的8×8可逆线性变换。
R盒:
R盒是密钥保护算子,定义如下:
其中:
(1)Rr,j算子16进32出,其为左作用算子,即Rr,j的作用方式为由左向右增序;
(2)
(3)
(4)
(5)kr是标准SM4密码算法第r轮的32比特轮密钥,kr,j是kr的第j个字节;
(6)S是标准SM4密码算法轮函数中的8比特S盒,M是标准SM4密码算法轮函数中的32比特循环移位生成的线性变换,Mj是M的第j个32×8子变换,M=(M0,M1,M2,M3);
(7)MB与D盒中的MB一致;
(8)PR是随机选取的4比特可逆非线性变换。
X盒:
X盒用于连接D盒和R盒,用于实现异或运算,以两个4比特数据为输入,输出一个新的4比特数据。X盒分为两种:X0和X1,其定义如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛博文广成信息安全技术有限公司,未经青岛博文广成信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610555295.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电镀用带档电角的雾灯模具
- 下一篇:一种铜包铝电镀用导电轮