[发明专利]一种标准密文输出格式的商密SM4算法的白盒软件实现方法有效
申请号: | 201611202361.X | 申请日: | 2016-12-23 |
公开(公告)号: | CN107070636B | 公开(公告)日: | 2019-12-13 |
发明(设计)人: | 周洁;白健;刘尚麟;安红章 | 申请(专利权)人: | 中国电子科技集团公司第三十研究所 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L9/30;H04L29/06 |
代理公司: | 51214 成都九鼎天元知识产权代理有限公司 | 代理人: | 项霞 |
地址: | 610000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查找表 密钥 算法 运算 线性变换 白盒 混淆 输入输出变换 密钥隐藏 软件实现 输出变换 输出格式 中间数据 密文 三层 抵消 分析 复合 抵抗 合并 | ||
本发明提供了一种标准密文输出格式的商密SM4算法的白盒软件实现方法。本发明中,需要进行36轮运算,每轮运算将分为三层,每一层利用输入或者输出变换进行混淆,层与层之间的输入输出变换部分抵消,含有密钥的那一层运算通过查找表来实现,密钥不显式的出现在算法中,且无法通过分析中间数据获取密钥。本发明设计的SM4白盒算法将密钥隐藏在查找表中,且利用线性变换对查找表进行混淆,采用线性变换的复合来抵抗查找表的合并分析,达到有效保护密钥的目的。
技术领域
本发明涉及信息安全技术领域,特别是涉及一种标准密文输出格式的商密SM4算法的白盒软件实现方法。
背景技术
随着网络和计算机技术应用的快速发展,信息安全问题已经成为关乎国计民生的大事。传统密码学建立在黑盒模型下,该模型假设算法运行在一个可信的终端,其运行子结果、内存等均处在不可查看和不可更改的可信任环境中。然而,密码学的应用已经遍及到人们日常生活的各个角落,例如电子邮件、网页访问、数字内容分发、网络交易、电子政务等。这些应用虽然在一个标准的终端上执行,像手机、智能卡等,但却使用在一个不可信任的环境中,软件加解密的动态过程对于攻击者是可见的,他们很容易就获得密钥信息。传统的黑盒模型较少考虑这些问题,它已经不再满足越来越高的安全要求。
SM4算法是国家商用密码管理局制定的商用分组密码标准,主要用于无线局域网产品,其运行环境往往是不安全的。为了保护无线局域网产品中的密钥安全,设计能够抵抗白盒攻击的SM4算法是十分必要的。
2002年,Chow等人提出了白盒攻击环境的概念,允许攻击者对加密软件及其运行环境拥有完全的控制能力、与软件的执行者拥有同等的权利。白盒攻击环境颠覆了传统密码学对攻击者能力的诸多限制,更加符合实际生活中的安全威胁。我们将能够抵抗白盒攻击的密码算法及其实现称为白盒密码。随后,Chow等人提出了AES白盒算法和DES白盒算法。不久,Jacob、Wyseur、Goubin、Billet等人采用注入错误攻击、截断差分分析、合并查找表等技术对AES白盒算法和DES白盒算法进行攻击,证明了Chow等人提出的白盒算法是不安全的。虽然白盒密码算法一直是学术界讨论的热点,但却一直未有安全的白盒密码算法出现。
综上,目前并没有安全的SM4白盒算法被提出,这不利于保护无线局域网产品的密钥安全,产品中的密码模块存在着巨大的安全风险。
发明内容
为解决上述问题,本发明提供了一种标准密文输出格式的商密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、Qi、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);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611202361.X/2.html,转载请声明来源钻瓜专利网。