当前位置: 首页 > 专利查询>之江实验室专利>正文

基于神经网络的白盒加密方法和系统技术方案

技术编号:38853817 阅读:20 留言:0更新日期:2023-09-17 10:00
基于神经网络的白盒加密方法,包括混淆技术和白盒AES加解密过程,将固定密钥的AES方案核心步骤总结成多个映射表,通过对表的过拟合训练来使神经网络代替加解密操作以实现混淆效果。白盒AES加密过程分为两个阶段,先将AES每轮的轮密钥加与字节代替结果用随机双射进行置乱以保护密钥,并将结合后的映射用神经网络混淆;其次在列混淆操作中引入对应的置乱复原操作,并在进行有限域乘法运算后异或一个随机生成的密钥字节,并将上述操作用神经网络代替。解密过程同理。本发明专利技术与神经网络高度结合,首次利用神经网络混淆了分组加密中的部分步骤,通过神经网络的不可解释性对部分操作提供了一个可靠的黑盒环境,具有安全性好、抗攻击能力强和扩展性高的优点。能力强和扩展性高的优点。能力强和扩展性高的优点。

【技术实现步骤摘要】
基于神经网络的白盒加密方法和系统


[0001]本专利技术涉及白盒加密技术,尤其涉及基于神经网络的白盒加密方法和系统。

技术介绍

[0002]传统密码学原语的安全性基于黑盒攻击模型[1],在黑盒环境下,攻击者只能获取算法的输入输出信息,无法得知程序运行时的内部信息。然而在实际环境中,很难实现一个真正的黑盒环境,攻击者拥有许多手段来获取程序的运行细节,由此导致了许多非预期的安全问题,比如密钥泄露。在这种情况下,密码算法的安全性需要更进一步的讨论。因此,在2002年Chow等人提出了白盒环境的概念[2],其假设在白盒环境下攻击者拥有对设备完全控制的能力,包括对程序进行逆向工程,观察程序运行时的中间结果,也可以访问程序运行时的内存状态,读取在内存中的密钥等。不难发现,在白盒环境下,对算法的安全性有了更高的要求。同时,Chow也提出了在白盒环境下的白盒密码方案,其包括白盒AES。其主要思想是将密钥固定,这样就可以得出输入输出之间具体的映射,然后将其总结为查找表,密钥便隐含在查找表中。单纯的查找表很容易被攻击,因此,在Chow的方案中引入了额外的双射来进行混淆,从而可以实现内嵌密钥的方案使攻击者无法提取。
[0003]已知的各种白盒加密手段参见文献[2至6]。
[0004]白盒加密方法的安全性可以通过多样性、含混度、密钥掩饰度、密钥恢复难度、抗攻击性能等指标进行衡量。根据这些评价标准,目前的白盒加密技术存在以下不足:
[0005](1)现有白盒加密方法如文献[2至6]等,提出的方案往往暴露出可利用的弱点,基于如文献[7至13]等中介绍的对白盒加密方法的攻击方案,使得攻击者可以借助这些弱点来还原128比特的AES密钥,从而对白盒密码进行破译。
[0006](2)现有白盒加密方法如文献[5,6]等类似的新型白盒密码方案并不能够满足密码处理性能或者缺少安全度量与相应的证明,很容易遭到攻击者的推翻。
[0007](3)已有的白盒加密算法往往只能应对某些特定的攻击,对许多正常攻击变形或改进缺少免疫力。比如在文献[13]中所展示的攻击改进方法,可以有效的攻击基于masking的白盒加密方案,而这是原本的攻击方法无法做到的。
[0008]引用的参考文献罗列如下:
[0009][1]Claus Peter Schnorr,Serge Vaudenay."The Black

Box Model for Cryptographic Primitives",Journal of Cryptology,Volume 11,Issue 2,March 1998,pp 125

140.
[0010][2]Stanley Chow,Philip A.Eisen,Harold Johnson,Paul C.van Oorschot."White

Box Cryptography and an AES Implementation",SAC 2002,St.John's,Newfoundland,Canada,August 15

16,2002.
[0011][3]Chung Hun Baek,Jung Hee Cheon,Hyunsook Hong."White

box AES implementation revisited",Journal of Communications and Networks,Volume 18,Issue 3,June 2016.
[0012][4]Julien Bringer,Herve Chabanne,Emmanuelle Dottax."White Box Cryptography:Another Attempt",January 2006.
[0013][5]Jaesung Yoo,Hanjae Jeong,Dongho Won."A method for secure and efficient block cipher using white

box cryptography",ICUIMC'12:Proceedings of the 6th International Conference on UbiquitousInformation Management and Communication,February 2012,No.89,pp 1

8.
[0014][6]Andrey Bogdanov,Takanori Isobe."White

Box CryptographyRevisited:Space

Hard Ciphers",CCS'15:Proceedings of the 22nd ACMSIGSAC Conference on Computer and Communications Security,October2015,pp 1058

1069.
[0015][7]Olivier Billet,Henri Gilbert,Charaf Ech

Chatbi."Cryptanalysis ofa white box AES implementation",SAC'04:Proceedings of the 11thinternational conference on Selected Areas in Cryptography,August 2004,pp 227

240.
[0016][8]Wil Michiels,Paul Gorissen,Henk D.L.Hollmann."Cryptanalysisof a Generic Class of White

Box Implementations",SAC 2008,Sackville,New Brunswick,Canada,August 14

15,2008.
[0017][9]Joppe W.Bos,Charles Hubain,Wil Michiels,Philippe Teuwen.
[0018]"Differential Computation Analysis:Hiding Your White

Box Designs is NotEnough",International Conference on Cryptographic Hardware andEmbedded Systems,August 2016.
[0019][10]Subhadeep Banik,Andrey Bogdanov,Takanori Isobe,MartinJepsen."Analysis of Software Countermeasures for本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于神经网络的白盒加密方法,其特征在于,包括如下步骤:A1)确定白盒AES方案;白盒AES方案包括初始轮密钥加、字节代替、行位移、列混淆和轮密钥加的操作;A2)对步骤A1)所提供的白盒AES加密步骤施加初步混淆操作,即将轮密钥加和字节代替操作相融合,并加入随机双射进行置乱操作,将运算后的输入输出映射作为训练集从而训练出第一类神经网络;用第一类神经网络代替原始白盒AES加密步骤中的轮密钥加和字节代替操作,构造出初步混淆后的白盒AES结构;A3)在步骤A2)所构造的初步混淆后的白盒AES结构的基础上,行移位不做混淆;在列混淆操作中,先加入对应的置乱还原操作,再进行有限域乘法,随后异或一个随机生成的秘密字节,将运算后的输入输出映射同样进行训练得出第二类神经网络;用第二类神经网络代替初步混淆后的白盒AES结构中列混淆的部分操作,构造出第二次混淆后的白盒AES结构;A4)在步骤A3)所构造的第二次混淆后的白盒AES结构的基础上,用神经网络模拟异或操作,得出第三类神经网络,其对第二类网络输出结果进行异或,完成列混淆功能;用第三类神经网络代替第二次混淆后的白盒AES结构中的异或操作,构造出第三次混淆后的白盒AES结构;A5)在步骤A4)所构造的第三次混淆后的白盒AES结构的基础上,并对经过步骤A3)所提的置乱还原和最后一轮密钥操作进行融合,得出第四类神经网络;用第四类神经网络代替第三次混淆后的白盒AES结构中最后一次轮密钥加的操作;A6)对经过步骤A2)至A5)训练得到的四类神经网络进行导入,得出已进行混淆的白盒AES加密结构。2.如权利要求1所述的基于神经网络的白盒加密方法,其特征在于:步骤A2所述的置乱操作被设计为随机生成的双射运算。3.如权利要求2所述的基于神经网络的白盒加密方法,其特征在于:步骤A2所述的训练集为输入输出程序映射后放入神经网络进行过拟合训练。4.如权利要求1所述的基于神经网络的白盒加密方法,其特征在于:所述步骤A2中第一类神经网络的训练包括初始轮密钥加AddRoundKey、字节代替SubBytes、160个随机生成的双射Shuffle1与Shuffle2用以置乱。5.如权利要求1所述的基于神经网络的白盒加密方法,其特征在于:所述步骤A3中第二类神经网络的训练包括160个不同的逆置乱Inv_Shuffle2与Inv_Shuffle1、有限域乘法Mul与160个随机秘密字节Rand_Key。6.如权利要求1所述的基于神经网络的白盒加密方法,其特征在于:所述步骤A4中第三类神经网络的训练包括异或Xor。7.如权利要求1所述的基于神经网络的白盒加密方法,其特征在于:所述步骤A5中第四类神经网络的训练包括16个不同的逆私有字节代替Inv_Shuffle2与Inv_Shuffle1、最后的轮密钥加AddRoundKey。8.如权利要求1所述的基于神经网络的白盒加密方法,其特征在于,该白盒加密方法的加密和解密过程包括以下步骤:B1)向需要被加密的明文导入步骤A2至A5中所训练的四类神经网络后,进行常规的AES加密过程;
B2)通过常规的AES解密过程对经步骤B1加密所得的密文进...

【专利技术属性】
技术研发人员:马昊玉丁常峰
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1