CN111555862B - 基于掩码保护的随机冗余轮函数的白盒aes实现方法 - Google Patents

基于掩码保护的随机冗余轮函数的白盒aes实现方法 Download PDF

Info

Publication number
CN111555862B
CN111555862B CN202010404203.2A CN202010404203A CN111555862B CN 111555862 B CN111555862 B CN 111555862B CN 202010404203 A CN202010404203 A CN 202010404203A CN 111555862 B CN111555862 B CN 111555862B
Authority
CN
China
Prior art keywords
round
key
wheel
byte
exclusive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010404203.2A
Other languages
English (en)
Other versions
CN111555862A (zh
Inventor
龚征
毛振宁
孙涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Normal University
Original Assignee
South China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China Normal University filed Critical South China Normal University
Priority to CN202010404203.2A priority Critical patent/CN111555862B/zh
Publication of CN111555862A publication Critical patent/CN111555862A/zh
Application granted granted Critical
Publication of CN111555862B publication Critical patent/CN111555862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于掩码保护的随机冗余轮函数的白盒AES实现方法,方法包括以下步骤,调整加密操作顺序,对原始的AES操作次序进行调整;构造查找表,构造T表和TboxTyi表;编码保护,包括非线性编码保护和线性编码保护;加密程序,包括查表操作和移位操作,先进行查表操作再进行移位操作。本发明要解决的技术问题是Chow等人提出的白盒AES分组加密算法虽然有效的隐藏了加密密钥,但难以抵挡DCA/DFA等侧信道分析技术。本发明将混淆轮的动态性和噪声性结合到一起,成为动态噪声轮,经实验结果分析,基于本发明可有效抵抗DFA攻击,对DCA攻击有一定影响。

Description

基于掩码保护的随机冗余轮函数的白盒AES实现方法
技术领域
本发明属于信息安全技术领域,具体为一种基于掩码保护的随机冗余轮函数的白盒AES实现方法。
背景技术
高级加密标准(AES)是目前使用广泛的一种对称分组密码算法,常用于数据加密传输。
白盒加密是一种能抵御白盒攻击的加密算法技术。
侧信道攻击是针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的侧信道信息泄露而对加密设备进行攻击。侧信道攻击手段包括差分错误分析(DFA)以及差分计算分析(DCA)。
2002年,Chow等人首次提出了白盒攻击的概念,并提出了AES的白盒化实现。Chow等设计的白盒AES的主要方法是先选定一个密钥,再把AES的每一轮拆分成一个个小模块,然后对每个小模块进行置乱编码,最后用一些查找表来表示。
Chow等人公布的白盒AES加密方案中,白盒表的结构是固定的,轮数是固定的,攻击者能够轻易的确定轮边界。对于DFA而言,攻击者可通过注入错误轻松获得错误密文对,从而进行分析并提取密钥。对于DCA而言,攻击者能够直接对首轮进行攻击。
发明内容
本发明的主要目的在于克服现有技术方案的不足,提供一种基于掩码保护的随机冗余轮函数的白盒AES实现方法,使隐藏密钥不被泄露,同时混淆轮边界,进一步加大攻击者破解难度。
为了达到上述目的,本发明采用以下技术方案:
一种基于掩码保护的随机冗余轮函数的白盒AES实现方法,包括以下步骤:
调整加密操作顺序,对原始AES每轮的操作顺序进行调整,所述操作包括字节代换、行位移、列混合以及异或加轮密钥;
构造查找表,首先构造T表,将存在异或加轮密钥和字节代换操作且能合成的部分合成后的表成为T表,利用T表完成轮密钥加与字节代换操作;然后利用MC代表的列混合操作的结果和MC-1列混合逆操作的结果,其与T表合并,得到查找表,所述查找表称为TboxTyi表;
编码保护,包括非线性编码保护和线性编码保护,所述非线性编码保护是在每一轮增加输入编码和输出编码,所述输入编码和输出编码加入到查找表中,并在异或表中抵消;所述线性编码保用于抵消线性变换;
加密程序,包括查表操作与移位操作;加密程序的执行包括字节代换、行位移、列混合以及异或加轮密钥,加密程序能够转换为一系列的查找表TboxTyi的查表操作与移位操作。
进一步的,所述调整加密操作顺序具体为:
将原始的AES操作的异或加轮密钥、字节代换、行移位、列混合操作顺序调整为异或加轮密钥、字节代换、列混合、行移位操作顺序,行位移调整至每轮的最后一步操作。
进一步的,所述调整加密操作顺序后,加密操作的顺序具体为:
首先执行行移位操作,然后第1到第9轮分别执行异或加轮密钥、字节代换、列混合、行移位操作,最后第10轮执行异或加轮密钥、字节代换、异或加轮密钥操作。
进一步的,所述T表的构成分为2种情况,实际轮和噪声轮,噪声轮成对出现,每一个噪声轮需要一个能够相互抵消的逆向噪声轮,噪声轮抵消后才能够不影响实际轮的最后运算结果;对于一个字节的输入x,首先定义公式,
Figure BDA0002490661960000031
其中r表示轮数,i,j表示状态中的位置,S代表字节代换或逆字节代换,
Figure BDA0002490661960000032
代表异或加,
Figure BDA0002490661960000033
表示对应位置密钥。
进一步的,所述构造T表具体为:
T表首轮阶段,该阶段存在一组特殊噪声轮,每轮结构均有差异,对于一个字节的输入x,在第1轮,
Figure BDA0002490661960000034
S代表字节代换,dkey随机生成,与实际加密密钥无关;第2轮,无轮密钥加和字节代换操作,
Figure BDA0002490661960000035
第3轮,
Figure BDA0002490661960000036
invS代表逆字节代换,dkey-1 i,j代表
Figure BDA0002490661960000037
的移位后密钥;
T表中间轮阶段,该阶段分为9轮实际轮与若干组噪声轮,当为实际轮时,对于一个字节的输入x,在实际轮时,
Figure BDA0002490661960000038
S代表字节代换,key为该轮对应的实际轮密钥;当为噪声加密轮时,
Figure BDA0002490661960000039
rand_key是随机生成的噪声子密钥;当为噪声解密轮时,
Figure BDA00024906619600000310
T表末轮阶段,该阶段存在一组特殊噪声轮,对于一个字节的输入x,在第13+λ轮,即实际第10轮时,改变其轮边界,在原第10轮基础上增加了轮密钥加与逆字节代换等操作,此时
Figure BDA00024906619600000311
在第14+λ和第15+λ轮,无轮密钥加和字节代换操作,
Figure BDA00024906619600000312
在第16+λ轮,
Figure BDA00024906619600000313
进一步的,所述TboxTyi的构造具体为:
TboxTyi表首轮阶段,该阶段存在一组特殊噪声轮,列混合操作需要相互抵消;对于一个字节的输入x,在第1轮,异或加轮密钥、字节代换、列混合操作构成的查找表
Figure BDA0002490661960000041
MC代表列混合;在第2轮,抵消上一轮列混合,所以,
Figure BDA0002490661960000042
MC-1代表逆列混合操作;在第3轮,无列混合操作,
Figure BDA0002490661960000043
TboxTyi表中间轮阶段,该阶段分为9轮实际轮与若干组噪声轮,当为实际轮时,对于一个字节的输入x,在实际轮时,
Figure BDA0002490661960000044
当为噪声轮时,无列混合操作,
Figure BDA0002490661960000045
TboxTyi表末轮阶段,该阶段存在一组特殊噪声轮,对于一个字节的输入x,在第13+λ轮,无列混合操作,
Figure BDA0002490661960000046
在第14+λ轮,存在逆列混合操作,
Figure BDA0002490661960000047
在15+λ轮,为构造能够混淆DFA攻击错误密文对的结果,添加列混合操作,
Figure BDA0002490661960000048
在第16+λ轮,根据AES实际加密最后一轮不存在列混合操作,
Figure BDA0002490661960000049
进一步的,在进行编码保护时,还包括下述步骤:
在第1到15+λ轮的输出位异或表中,添加非线性Er编码,在第2到16+λ轮的T表输入前,添加非线性E-1 r-1解码,非线性编码一方面用于保护异或表的输入输出,另一方面用于抵消TboxTyi表的非线性编码。
进一步的,所述线性编码保护的线性变换是可逆的,具体为:
在第2到第16+λ轮中,每轮选择16个8比特到8比特的混合双射L,将L-1应用到T表的输入中,L-1代表L的逆;在第1到第15+λ轮中,每轮选择4个32比特的混合双射MB,将MB应用到TboxTyi的输出中。
进一步的,所述加密程序的移位操作应用于查表操作之后。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明基于可变轮数的思想,使得加密过程中提升了加密过程的安全性,轮与轮之间的界限变得模糊,使得攻击难度加大。
2、本发明增加了轮混淆,提高了DFA攻击破解外部编码和恢复密钥的难度。
3、本发明的外部编码防护对普通白盒的代数攻击是有效的,因此本发明在一定程度上也能提高白盒实现对理论代数分析的安全性。
4、本发明的安全性与增加的轮数有关,增加的越多,越安全。
5、本发明将混淆轮的动态性和噪声性结合到一起,成为动态噪声轮,使得在白盒AES加密中,密钥更加安全,更能抵抗DCA和DFA的攻击。
附图说明
图1是本发明的白盒AES分组密码算法的流程图;
图2是本发明的白盒AES分组密码算法1-9轮噪声轮添加示意图;
图3a是本发明的白盒AES分组密码算法实际轮或噪声解密轮T表构造图;
图3b是本发明的白盒AES分组密码算法噪声加密轮T表构造图;
图4是本发明的白盒AES分组密码算法末轮构造示意图;
图5a是本发明的白盒AES分组密码算法实际轮或噪声解密轮TboxTyi表构造图;
图5b是本发明的白盒AES分组密码算法噪声加密轮TboxTyi表构造图;
图6是本发明的白盒AES分组密码算法首轮构造示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
在Chow等的白盒AES加密方案中,他们改变算法每一轮的边界,把异或加轮密钥和下一轮的字节代换组合起来作为一个步骤,称为T-Box。这样就把密钥隐藏在AES的S盒中。由于密钥已经给定了,T-Box可以被计算出来,它可以用一些8比特到8比特的查找表来表示。每一轮有16个T-Box,总共有160个。T-Box可以用如下公式表示:
Figure BDA0002490661960000061
Figure BDA0002490661960000062
在T-Box中,S盒是公开的,选定任意的输入x,可以计算出密钥Ki,j,因而T-Box需要用上述的置乱编码方式进行保护。在T-Box之前还加入一个线性变换MBi用来对T-Box的变换进行混淆。这些混淆作用会在计算T-Box之前添加一个额外的操作进行抵消。
在传统AES加密方案中,由于列混合操作每一次作用在一列上,所以这是一个32比特到32比特的矩阵乘法,MC代表列混合操作的32x32矩阵,MC被分块成4个32x8部分,MC0、MC1、MC2、MC3。将每列拆分成四个字节分别与对应的四个部分相乘,然后将得到4个32比特向量异或加,可以得到MC代表的列混合操作的结果。
最后,对白盒AES的输入和输出分别用128比特到128比特的双射F、G进行置乱编码。第一轮的T-Box的混淆变换MBi的逆变换将结合到在F中,用来抵消MBi的混淆作用,双射G将与第10轮的白盒AES结合在一起。由此,整个AES的执行过程都可以用查找表来实现。
实施例
如图1至图6所示,本发明所提出的基于掩码保护的随机冗余轮函数的白盒AES实现方法,将混淆轮的动态性和噪声性结合到一起,成为动态噪声轮,使得在白盒AES加密中,密钥更加安全,更能抵抗DCA和DFA的攻击;本实施例的实现方法主要包含下述步骤:
S1、调整AES操作次序,为了能够实现白盒AES加密算法,将原始的AES操作次序进行如下调整,这并不会影响最后的结果(其中Kr是轮密钥,r=0,1,...,9+λ)
原始的操作步骤为:
明文STATE
异或加轮密钥(STATE,K0)
FOR r=1...9
字节代换(STATE)
行移位(STATE)
列混合(STATE)
异或加轮密钥(STATE,Kr)
字节代换(STATE)
行移位(STATE)
异或加轮密钥(STATE,,K10)
密文STATE
按照伪代码所述,加密算法首先执行异或加轮密钥操作,然后第1到第9轮分别执行字节代换、行移位、列混合、异或加轮密钥操作,最后第10轮执行字节代换、行移位、异或加轮密钥操作。
调整后的操作步骤为:
明文STATE
行移位(STATE)
FOR r=1...9
异或加轮密钥(STATE,Kr-1)
字节代换(STATE)
列混合(STATE)
行移位(STATE)
异或加轮密钥(STATE,K9)
字节代换(STATE)
异或加轮密钥(STATE,K10)
密文STATE
按照伪代码所述,加密算法首先执行的是行移位操作,然后第1到第9轮分别执行异或加轮密钥、字节代换、列混合、行移位操作,最后第10轮执行异或加轮密钥、字节代换、异或加轮密钥操作。
经此调整,便可在实际运行轮中添加噪声轮。
S2、构造查找表,将存在异或加轮密钥和字节代换操作且能合成的部分合成为8比特到8比特的表(简称T表),一轮需要16个T表。如图3a和图3b所示,T表的构成2种情况,即实际轮和噪声轮,噪声轮成对出现,对于一个字节的输入x,首先定义公式,
Figure BDA0002490661960000081
其中r表示轮数,i,j表示状态中的位置,S代表字节代换或逆字节代换,
Figure BDA0002490661960000082
代表异或加,
Figure BDA0002490661960000083
表示对应位置密钥。下面分三个阶段进行T表的构造:
S21、T表首轮阶段,该阶段存在一组特殊噪声轮,每轮结构均有差异。对于一个字节的输入x,在第1轮,
Figure BDA0002490661960000084
S代表字节代换,dkey随机生成,与实际加密密钥无关;在第2轮,由于无轮密钥加和字节代换操作,所以,
Figure BDA0002490661960000091
在第3轮,
Figure BDA0002490661960000092
invS代表逆字节代换,dkey-1 i,j代表
Figure BDA0002490661960000093
的移位后密钥,其作用是抵消第1轮的轮密钥加以及字节代换操作,如图6所示。
S22、T表中间轮阶段,该阶段分为9轮实际轮与若干组噪声轮,当为实际轮时,对于一个字节的输入x,在实际轮时,
Figure BDA0002490661960000094
S代表字节代换,key该轮对应的实际轮密钥;当为噪声加密轮时,
Figure BDA0002490661960000095
rand_key是随机生成的噪声子密钥;当为噪声解密轮时,
Figure BDA0002490661960000096
S23、T表末轮阶段,该阶段存在一组特殊噪声轮,对于一个字节的输入x,在第13+λ轮,即实际第10轮时,改变其轮边界,在原第10轮基础上增加了轮密钥加与逆字节代换等操作,此时
Figure BDA0002490661960000097
在第14+λ和第15+λ轮,由于无轮密钥加和字节代换操作,所以
Figure BDA0002490661960000098
r=14+λ,15+λ;在第16+λ轮,需要抵消在13+λ轮的增加操作,所以构成了一个类第10轮操作,
Figure BDA0002490661960000099
如图4所示。
至此,T表的构造已完毕,T表完成了轮密钥加与字节代换操作,其中还有列混合操作可以通过查表实现。
列混合操作沿用Chow的白盒AES加密算法中的方案,利用较小规模的查找表完成列混合操作的32比特到32比特的矩阵乘法。MC是代表列混合的32×32矩阵。MC被分块成4个32×8部分:MC0,MC1,MC2,MC3。通过把状态的一列,即4个字节,分别与这4个部分相乘,然后将得到4个32比特向量异或加,可以得到MC代表的列混合操作的结果,同理,列混合的逆操作同样也是由MC-1分块成4个32×8部分:MC0 -1,MC1 -1,MC2 -1,MC3 -1通过相应计算,得到MC-1列混合逆操作一样的结果。将其与T表合并,得到8比特到32比特的查找表,称为TboxTyi表,TboxTyi表构造如图5a和图5b所示。下面分三个阶段进行TboxTyi表的构造。
S24、TboxTyi表首轮阶段,该阶段存在一组特殊噪声轮,列混合操作需要相互抵消。对于一个字节的输入x,在第1轮,
Figure BDA0002490661960000101
MC代表列混合;在第2轮,抵消上一轮列混合,所以,
Figure BDA0002490661960000102
MC-1代表逆列混合操作;在第3轮,无列混合操作,
Figure BDA0002490661960000103
如图6所示。
S25、TboxTyi表中间轮阶段,该阶段分为9轮实际轮与若干组噪声轮,当为实际轮时,对于一个字节的输入x,在实际轮时,
Figure BDA0002490661960000104
当为噪声轮时,无列混合操作,
Figure BDA0002490661960000105
S26、TboxTyi表末轮阶段,该阶段存在一组特殊噪声轮,对于一个字节的输入x,在第13+λ轮,无列混合操作,
Figure BDA0002490661960000106
在第14+λ轮,存在逆列混合操作,
Figure BDA0002490661960000107
在15+λ轮,为构造能够混淆DFA攻击错误密文对的结果,添加列混合操作,
Figure BDA0002490661960000108
在第16+λ轮,根据AES实际加密最后一轮不存在列混合操作,所以
Figure BDA0002490661960000109
如图4所示。
S3、编码保护,为了保护查找表不被通过穷举的方法爆破密钥,和Chow的编码保护一致,需要为查找表增加保护。
S31、非线性编码保护,为每一轮增加大小为4比特的输入编码和输出编码,这些编码加入到查找表中,并在异或表中抵消。
S32、线性编码保护,为抵消线性变换,该线性变换是可逆的,这样的线性变换称为混合双射,即在第2到第16+λ轮中,每轮选择16个8比特到8比特的混合双射L,将L-1(L的逆)应用到T表的输入中,在第1到第15+λ轮中,每轮选择4个32比特的混合双射MB,将MB应用到TboxTyi的输出中。
为了抵抗DCA,需要在轮与轮之间添加非线性编码,具体做法如下:在第1到15+λ轮的输出位异或表中,添加Er编码,在第2到16+λ轮的T表输入前,添加E-1 r-1解码。
S4、加密程序,至此,加密和解密操作便成了查表操作和移位操作,Chow方案是先移位再查表,而为了抵抗DFA攻击,因已知的deadpool应用DFA攻击会根据错误密文的分布来判断是否将错误注入到理想位置,所以将移位应用于查表以后来伪造该理想位置。由于轮控制器是随机生成的,所以这使得轮数可变、噪声轮的位置也可变。
还需要说明的是,在本说明书中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (4)

1.一种基于掩码保护的随机冗余轮函数的白盒AES实现方法,其特征在于,包括以下步骤:
调整加密操作顺序,对原始AES每轮的操作顺序进行调整,所述操作包括字节代换、行位移、列混合以及异或加轮密钥;所述调整加密操作顺序具体为:
将原始的AES操作的异或加轮密钥、字节代换、行移位、列混合操作顺序调整为异或加轮密钥、字节代换、列混合、行移位操作顺序,行位移调整至每轮的最后一步操作;
所述调整加密操作顺序后,加密操作的顺序具体为:
首先执行行移位操作,然后第1到第9轮分别执行异或加轮密钥、字节代换、列混合、行移位操作,最后第10轮执行异或加轮密钥、字节代换、异或加轮密钥操作;
构造查找表,首先构造T表,将存在异或加轮密钥和字节代换操作且能合成的部分合成后的表成为T表,利用T表完成轮密钥加与字节代换操作;然后利用MC代表的列混合操作的结果和MC-1列混合逆操作的结果,其与T表合并,得到查找表,所述查找表称为TboxTyi表;所述T表的构成分为2种情况,实际轮和噪声轮,噪声轮成对出现,每一个噪声轮需要一个能够相互抵消的逆向噪声轮,噪声轮抵消后才能够不影响实际轮的最后运算结果;对于一个字节的输入x,首先定义公式,
Figure FDA0004118768330000011
其中r表示轮数,i,j表示状态中的位置,S代表字节代换,
Figure FDA0004118768330000012
代表异或加,
Figure FDA0004118768330000013
表示对应位置密钥;
所述构造T表具体为:
T表首轮阶段,该阶段存在一组特殊噪声轮,每轮结构均有差异,对于一个字节的输入x,在第1轮,
Figure FDA0004118768330000014
S代表字节代换,dkey随机生成,与实际加密密钥无关;第2轮,无轮密钥加和字节代换操作,
Figure FDA0004118768330000015
第3轮,
Figure FDA0004118768330000016
invS代表逆字节代换,
Figure FDA0004118768330000017
代表
Figure FDA0004118768330000018
的移位后密钥;
T表中间轮阶段,该阶段分为9轮实际轮与若干组噪声轮,当为实际轮时,对于一个字节的输入x,在实际轮时,
Figure FDA0004118768330000021
S代表字节代换,key为该轮对应的实际轮密钥;当为噪声加密轮时,
Figure FDA0004118768330000022
rand_key是随机生成的噪声子密钥;当为噪声解密轮时,
Figure FDA0004118768330000023
T表末轮阶段,该阶段存在一组特殊噪声轮,对于一个字节的输入x,在第13+λ轮,即实际第10轮时,改变其轮边界,在原第10轮基础上增加了轮密钥加与逆字节代换操作,此时
Figure FDA0004118768330000024
在第14+λ和第15+λ轮,无轮密钥加和字节代换操作,
Figure FDA0004118768330000025
在第16+λ轮,
Figure FDA0004118768330000026
所述TboxTyi的构造具体为:
TboxTyi表首轮阶段,该阶段存在一组特殊噪声轮,列混合操作需要相互抵消;对于一个字节的输入x,在第1轮,异或加轮密钥、字节代换、列混合操作构成的查找表
Figure FDA0004118768330000027
MC代表列混合;在第2轮,抵消上一轮列混合,所以,
Figure FDA0004118768330000028
MC-1代表逆列混合操作;在第3轮,无列混合操作,
Figure FDA0004118768330000029
TboxTyi表中间轮阶段,该阶段分为9轮实际轮与若干组噪声轮,当为实际轮时,对于一个字节的输入x,在实际轮时,
Figure FDA00041187683300000210
当为噪声轮时,无列混合操作,
Figure FDA00041187683300000211
TboxTyi表末轮阶段,该阶段存在一组特殊噪声轮,对于一个字节的输入x,在第13+λ轮,无列混合操作,
Figure FDA00041187683300000212
在第14+λ轮,存在逆列混合操作,
Figure FDA00041187683300000213
在15+λ轮,为构造能够混淆DFA攻击错误密文对的结果,添加列混合操作,
Figure FDA00041187683300000214
在第16+λ轮,根据AES实际加密最后一轮不存在列混合操作,
Figure FDA00041187683300000215
编码保护,包括非线性编码保护和线性编码保护,所述非线性编码保护是在每一轮增加输入编码和输出编码,所述输入编码和输出编码加入到查找表中,并在异或表中抵消;所述线性编码保用于抵消线性变换;
加密程序,包括查表操作与移位操作;加密程序的执行包括字节代换、行位移、列混合以及异或加轮密钥,加密程序能够转换为一系列的查找表TboxTyi的查表操作与移位操作。
2.根据权利要求1所述的一种基于掩码保护的随机冗余轮函数的白盒AES实现方法,其特征在于,在进行编码保护时,还包括下述步骤:
在第1到15+λ轮的输出位异或表中,添加非线性Er编码,在第2到16+λ轮的T表输入前,添加非线性E-1 r-1解码,非线性编码一方面用于保护异或表的输入输出,另一方面用于抵消TboxTyi表的非线性编码。
3.根据权利要求1所述的一种基于掩码保护的随机冗余轮函数的白盒AES实现方法,其特征在于,所述线性编码保护的线性变换是可逆的,具体为:
在第2到第16+λ轮中,每轮选择16个8比特到8比特的混合双射L,将L-1应用到T表的输入中,L-1代表L的逆;在第1到第15+λ轮中,每轮选择4个32比特的混合双射MB,将MB应用到TboxTyi的输出中。
4.根据权利要求1所述的一种基于掩码保护的随机冗余轮函数的白盒AES实现方法,其特征在于,所述加密程序的移位操作应用于查表操作之后。
CN202010404203.2A 2020-05-13 2020-05-13 基于掩码保护的随机冗余轮函数的白盒aes实现方法 Active CN111555862B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010404203.2A CN111555862B (zh) 2020-05-13 2020-05-13 基于掩码保护的随机冗余轮函数的白盒aes实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010404203.2A CN111555862B (zh) 2020-05-13 2020-05-13 基于掩码保护的随机冗余轮函数的白盒aes实现方法

Publications (2)

Publication Number Publication Date
CN111555862A CN111555862A (zh) 2020-08-18
CN111555862B true CN111555862B (zh) 2023-04-28

Family

ID=72008205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010404203.2A Active CN111555862B (zh) 2020-05-13 2020-05-13 基于掩码保护的随机冗余轮函数的白盒aes实现方法

Country Status (1)

Country Link
CN (1) CN111555862B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112003687B (zh) * 2020-08-26 2023-04-07 成都卫士通信息产业股份有限公司 一种白盒运算方法、装置、电子设备及计算机存储介质
CN113541942B (zh) * 2021-07-12 2022-06-07 西安电子科技大学 基于arx白盒分组密码的数字内容加解密方法
CN114205157B (zh) * 2021-12-13 2024-04-12 航天信息股份有限公司 基于冗余轮的sm4白盒加密实现方法、计算机设备和介质
TWI827237B (zh) * 2022-09-06 2023-12-21 新唐科技股份有限公司 密碼加速器以及加解密運算防篡改方法
CN116566588B (zh) * 2023-04-25 2023-12-01 广州南网科研技术有限责任公司 一种白盒sm4算法的防护方法及装置
CN116232561B (zh) * 2023-05-09 2023-08-25 杭州海康威视数字技术股份有限公司 抵抗差分故障攻击的冗余加密优化方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099666A (zh) * 2015-06-26 2015-11-25 中国科学院信息工程研究所 混淆轮边界的白盒密码系统和方法
CN109962768A (zh) * 2017-12-26 2019-07-02 中国航空工业集团公司西安航空计算技术研究所 一种基于白盒aes的航电系统加解密方法
CN109981256A (zh) * 2019-04-03 2019-07-05 华南师范大学 基于FeisitelBox结构的白盒分组密码构造方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479016B2 (en) * 2006-03-10 2013-07-02 Irdeto B.V. Method and system for obfuscating a cryptographic function
WO2010146139A1 (en) * 2009-06-19 2010-12-23 Irdeto B.V. White-box cryptographic system with configurable key using intermediate data modification
EP2293487A1 (en) * 2009-09-08 2011-03-09 Thomson Licensing A method of diversification of a round function of an encryption algorithm
US9189425B2 (en) * 2011-09-01 2015-11-17 Apple Inc. Protecting look up tables by mixing code and operations
US10097342B2 (en) * 2015-07-30 2018-10-09 Nxp B.V. Encoding values by pseudo-random mask

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099666A (zh) * 2015-06-26 2015-11-25 中国科学院信息工程研究所 混淆轮边界的白盒密码系统和方法
CN109962768A (zh) * 2017-12-26 2019-07-02 中国航空工业集团公司西安航空计算技术研究所 一种基于白盒aes的航电系统加解密方法
CN109981256A (zh) * 2019-04-03 2019-07-05 华南师范大学 基于FeisitelBox结构的白盒分组密码构造方法及系统

Also Published As

Publication number Publication date
CN111555862A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN111555862B (zh) 基于掩码保护的随机冗余轮函数的白盒aes实现方法
Chow et al. A white-box DES implementation for DRM applications
Alabaichi et al. Enhance security of advance encryption standard algorithm based on key-dependent S-box
US20120170739A1 (en) Method of diversification of a round function of an encryption algorithm
CN110278072A (zh) 一种16轮sm4-128/128白盒密码实现方法
US20220271916A1 (en) Method and apparatus for implementing a white-box cipher
US20120121083A1 (en) Encryption apparatus and method
CN105591734A (zh) 一种基于查表的白盒密码非线性编码保护方法
US20110138182A1 (en) Method for Generating a Cipher-based Message Authentication Code
CN104618094B (zh) 一种增强抗攻击能力的密码Mask方法
CN104751401A (zh) 一种新型的分段线性混沌映射图像加密与编码方法
Charnes et al. Comments on Soviet encryption algorithm
CN109617667B (zh) 一种针对aes算法线性部分的高效掩码防护方法
US11201724B2 (en) Method to counter DCA attacks of order 2 and higher on table-based implementations
CN116405194A (zh) 一种基于北斗短报文的数据加密传输方法
CN116192364A (zh) 抗侧信道的aes白盒加密方法及相关设备
CN115987490A (zh) 一种适用于arx结构的轻量级分组密码算法白盒化构造方法
Ledda et al. Enhancing IDEA algorithm using circular shift and middle square method
Gupta et al. Correlation power analysis of KASUMI and power resilience analysis of some equivalence classes of KASUMI S-boxes
CN109714152B (zh) 基于大型仿射编码的白盒aes加密方法
CN109962768B (zh) 一种基于白盒aes的航电系统加解密方法
Ferguson et al. Cryptanalysis of Akelarre
Feng et al. Fault analysis on a new block cipher DBlock with at most two fault injections
Kim A White-box Implementation of SEED
CN114337993B (zh) 一种应用于边缘物联代理的白盒sm4加解密方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant