CN109981256A - 基于FeisitelBox结构的白盒分组密码构造方法及系统 - Google Patents

基于FeisitelBox结构的白盒分组密码构造方法及系统 Download PDF

Info

Publication number
CN109981256A
CN109981256A CN201910264826.1A CN201910264826A CN109981256A CN 109981256 A CN109981256 A CN 109981256A CN 201910264826 A CN201910264826 A CN 201910264826A CN 109981256 A CN109981256 A CN 109981256A
Authority
CN
China
Prior art keywords
wheel
affine transformation
function
whitepack
block cipher
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.)
Granted
Application number
CN201910264826.1A
Other languages
English (en)
Other versions
CN109981256B (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 CN201910264826.1A priority Critical patent/CN109981256B/zh
Publication of CN109981256A publication Critical patent/CN109981256A/zh
Application granted granted Critical
Publication of CN109981256B publication Critical patent/CN109981256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

本发明公开了一种基于FeisitelBox结构的白盒分组密码构造方法及系统,该方法包括:输入n位明文,设置块的大小na、FeistelBox结构的迭代处理轮数r,采用T函数进行比特转换,将输入的na位比特转换为nb位比特输出,其中na+nb=n;在迭代处理轮数的轮与轮之间添加仿射变换,进行链式连接,每一轮的运行与上一轮、下一轮的运行紧密连接,通过把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,仿射变换层采用可逆的仿射变换矩阵;执行S1‑S2的加密运算,获得加密结果;该系统包括比特转换模块、仿射变换模块和执行运算模块。本发明使得攻击者无法获得密文的信息,增加了攻击者的破解密码难度,加强密钥存放的安全性。

Description

基于FeisitelBox结构的白盒分组密码构造方法及系统
技术领域
本发明属于信息安全技术领域,具体涉及一种基于FeisitelBox结构的白盒分组密码构造方法及系统。
背景技术
随着网络和计算机的迅速发展,信息与每个人息息相关,人们对信息的保护愈加重视,如何有效保护自己的个人信息成为了大家重视的问题。传统的密码学中,加密环境默认是在黑盒环境下进行的。在黑盒环境中,是假设所有的加密算法处于绝对安全的环境下进行的,即使攻击者拿到了明文和密文以及加密算法,攻击者对软件运行内存状态,运行过程都无法得知并且无法更改。但是现实中,攻击者还是可以通过程序运行时的物理信息,比如运行时间,功率消耗,电磁辐射,频率等,获取软件运行数据。在不安全的环境中,密码软件的运行过程对于攻击者来说,是可见的,即软件运行过程透明化。这使得人们对软件安全性的需求不断增加。因此加解密算法的安全性基于密钥的安全性,能否将密钥隐藏在加解密算法中,有效的保护密钥,成了目前致力解决的问题。
现有技术中的提出DES和AES的白盒实现、国密算法SM4的白盒化实现,而Billet等人提出针对Chow白盒化AES的有效攻击(简称BGE攻击),使得几乎所有发布的DES和AES,SM4白盒实现方案都被密钥提取和表分解攻击这两种方式破坏了。
Andrey Bogdanoy和Takanori lsobeti提出的SPACE结构系列的分组密码。SPACE是Feistel网络结构的变体。SPACE是n位明文的输入,k位密钥,n位密文的输出。但是SPACE采用了非常保守的设计策略。第一,完全依赖于的Feistel结构,其不允许并行实现。第二,由于Feistel结构本身的对称性,加密过程可以推导出解密过程。将SPACE的方案用于白盒加解密中,对于解密,攻击者只要按照相反的顺序来使用密钥,倒推获得相应的明文。第三,SPACE的内部F函数需要调用至少一个完整的10轮AES-128。在文献[9]估计,执行单块加密需要调用至少128次全面的AES-128,在现实软件应用程序中是不太可行,不能接受的。
Andrey Bogdanov和Takanori Isobe等人设计了SPNbox分组密码。SPNbox一种新分组密码系列,它显着改进了SPACE分组密码。但SPNbox构造基于经典的置换排列网络结构,是基于SPN型小块密码,其由公共非线性和线性扩散层以及仿射变换层组成,密钥加密构建依赖密钥的S-box。关于小型内部分组密码的设计,存在效率问题,块的大小越小,避免中间相遇攻击所需的轮数就越多,这限制了它们的效率。这需要构建具非常小的块长度和相对大的密钥的更高效的块密码。但是,小块密码的快速密钥混合和高效的密钥调度功能基本上是未知的。
发明内容
为了克服现有技术存在的缺陷与不足,本发明提出一种基于FeisitelBox结构的白盒分组密码构造方法及系统,分析FesitelBox结构对隐藏密钥的独特保护性,并且实现了国密算法SM4白盒化。
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于FeisitelBox结构的白盒分组密码构造方法,包括下述步骤:
S1:输入n位明文,设置块的大小na、FeistelBox结构的迭代处理轮数r,采用T函数进行比特转换,将输入的na位比特转换为nb位比特输出,其中na+nb=n;
S2:在迭代处理的轮与轮之间添加仿射变换,进行链式连接,通过把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,仿射变换层采用可逆的仿射变换矩阵;
S3:执行S1-S2的加密运算,获得加密结果。
作为优选的技术方案,步骤S1中所述T函数包括分组密码算法和随机密钥。
作为优选的技术方案,步骤S1的具体步骤为:
设置块的大小,其中每一块的大小是na=(n/l)比特,其中l表示块的数量,设在第r轮时,n位明文输入表示为其中表示第r轮时,xi是由na位组成的二进制数值;
设置T函数所述T函数为其中Ek表示具有n位明文和k位密钥的任意分组密码,C是nb=n-na位的二进制零值,msbu(x)是选择x的最显著的u位。
作为优选的技术方案,步骤S2中所述仿射变换采用线性映射函数和平移函数的复合,所述线性映射采用矩阵乘法,所述平移函数采用向量加法。
作为优选的技术方案,步骤S2中所述的在迭代处理轮数的轮与轮之间添加仿射变换,具体步骤为:
设X0表示为明文,XR表示为密文,r代表轮数,则每一轮更新的状态表示为:其中是表示仿射连接符,||是联接符,pr为仿射变换函数,表示T函数,是表示第r轮时的第一块分组,是表示第r轮的第l块分组;
pr为仿射变换函数,第i轮时表示为:
其中Ci是第i轮的对应x′i的可逆仿射变换矩阵,是第i-1轮对应x′i-1的Ci-1的可逆仿射变换矩阵,是第i-1轮对应x′i-1的Di-1的可逆仿射变换矩阵,Di是第i轮的对应x′i的可逆仿射变换矩阵,x′i是表示第i轮时,经过T函数输出的分组,x′i-1是表示第i-1轮时,经过T函数输出的分组。
作为优选的技术方案,所述可逆仿射变换矩阵根据线性映射矩阵及平移向量得到,具体为:
仿射变换映射f为:
其中,A表示线性映射矩阵,表示平移向量,
可逆仿射变换矩阵根据仿射变换映射f得到,表示为:
其中A-1为线性映射矩阵A的逆矩阵。
作为优选的技术方案,所述FeistelBox结构采用了随机无效轮的算法,随机无效轮在feistelbox结构中的具体步骤为,设Pl为输入明文的前半部分,Pr为输入明文的后半部分,α为任意的常数值,ki表示为密钥K的子密钥,i∈{1,...,n},β表示特定值,随机无效轮表示为:
作为优选的技术方案,还包括解密运算,具体步骤如下所述:
将迭代处理轮数第r轮的最后一个分组作为已知分组,输入T函数进行T函数的运算,T函数输出后与第r轮的各个分组进行异或运算,最后通过仿射变换依次输出得到第r-1轮的各个分组,得到解密结果。
本发明还提供一种基于FeisitelBox结构的白盒分组密码构造系统,包括:
比特转换模块:比特转换模块采用T函数进行比特转换,用于将输入的na位比特转换为nb位比特输出,且na+nb为输入明文的总比特数,所述比特转换模块包括分组密码算法和随机密钥;
仿射变换模块:用于在FeistelBox结构的迭代处理轮的轮与轮之间添加仿射变换,进行链式连接,把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,仿射变换模块采用可逆的仿射变换矩阵;
执行运算模块:用于执行比特转换模块与仿射变换模块的加密运算,获得加密结果。
作为优选的技术方案,还包括解密模块,将迭代处理第r轮的最后一个分组输入T函数进行T函数的运算,T函数输出后与第r轮的各个分组进行异或运算,再进行仿射变换后得到解密结果。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明采用的FesitelBox结构中,轮与轮之间添加了仿射变换,通过把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,从而消除上一轮的仿射变换并应用独属于本轮的仿射变换,使得算法只能从上往下运算,因此攻击者难以仅从加密函数下得到解密函数,即使拿到解密函数也很难推出加密函数,使得存放密钥的安全性显著提高。
(2)本发明采用的FeistelBox的结构中,采用了随机无效轮的算法,可以检查和防止故障攻击,增加了攻击者攻击的难度,感染密文,使得攻击者无法获得任何关于本轮的密文的信息,增加了攻击者的破解密码难度。
(3)本发明采用FeistelBox结构中,T函数中选用的Ek分组密码的选择是任意的,产生了FeistelBox系列的分组密码,为白盒算法提供很多的研究方向。
(4)本发明设定FeistelBox的迭代处理轮数,在SM4安全的前提下,能保证整体GFN结构算法的在抗差分、线性、不可能差分等密码学分析下达到高于暴力破解SM4的安全性。
附图说明
图1为本实施例的FeistelBox结构示意图;
图2为本实施例的T表的算法结构图;
图3为本实施例的仿射变换图;
图4为本实施例的加密过程示意图;
图5为本实施例的解密过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
SPACE和SPNbox的设计为白盒算法提出了新的方向和思想,SPACE是n位明文的输入,k位密钥,n位密文的输出,设第r轮时,输入的n位明文,分为l块,其中每一块的大小为na=(n/l)bit。即可表示为:每一轮更新的状态即可表示为:其中nb=n-na,||是联接符。是一个被定义为的函数,Ek是具有n位明文和k位密钥的分组密码。C0是nb=n-na位的二进制零值,msb u(x)是选择x的最显著的u位。每一轮都是通过函数进行运算,进行查找。本实施例提出FeistelBox,一种新的高效白盒分组密码。FeistelBox是基于Feistel网络结构的变体。Feistel结构:一种由加密可以推到解密的结构。FeistelBox结构是以n位明文的输入,k位密钥加密,n位明文的输出。
本实施例要解决的技术问题是解决在不受信任的环境(白盒环境)下,加强密钥存放的安全性。本实施例中FeistelBox的设计结构,使得密钥提取的安全性大大增强。
SPACE和FeistelBox的构造都是基于经典的Feistel网络,主要差异是FeistBox在轮与轮之间加了仿射变换。对于加解密的推导,SPACE依赖的Feistel结构,由于本身的对称性,加密过程可以推导出解密过程。将SPACE的方案用于白盒加解密中,对于解密,攻击者只要按照相反的顺序来使用密钥,倒推获得相应的明文。与SPACE的设计相比,在FeistelBox结构中先是采用了SPACE的整体结构,但是与之不同的是,在每一轮之间加了仿射变换,进行链式连接,不可逆的解密过程,对密钥进行了双重保护。这大大增加了攻击者破解的难度,加密和解密操作就变得十分不同,不能由加密操作推出解密操作。这种差异使得FeistelBox在安全论据以及实现效率具有深远的效果。
在本实施例中,链式连接在Feistelbox中是,每一轮的运行都与上一轮和下一轮的运行紧密连接,每一轮单独被拿出来分析的结果是毫无意义的。对于攻击者而言,如果没有链式连接,每一轮的结果可以单独被拿出来进行分析,算法的安全性会大大降低。
在本实施例中,关于白盒的实现性,SPACE结构性能取决于轮数R。轮数R又和白盒表的大小密切相关。SPACE的密钥提取和分解问题的困难程度依赖于F函数中Ek分组密码,这样将这个密钥提取的安全性降低到了传统分组密码黑盒环境下。SPNbox的密钥保护在标准的黑盒环境中,依赖于良好的密钥恢复攻击的分组密码。但FeistelBox密钥提取的安全性的依赖于T函数中分组密码Ek的key。只要攻击者拿不到key,就无法破解。其中白盒表为:在白盒环境中,选定密钥,然后对明文和密文的映射进行置乱编码,结果用一个查找表表示。这样通过密钥混淆技术,白盒加解密过程转变为一系列查找表的过程。
在本实施例中,FeistelBox结构是基于Feistel结构和SPACE结构的改进。在Feistel网络结构中,加密和解密时是一样的,只是轮密钥是使用顺序的变化。但在FeistelBox结构中,加密无法直接推出解密。这是因为在FesitelBox结构中,轮与轮之间添加了仿射变换,通过把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,从而消除上一轮的仿射变换并应用独属于本轮的仿射变换,使得算法只能从上往下运算,因此攻击者难以仅从加密函数下得到解密函数。反之,攻击者拿到解密函数也很难推出加密函数。这使得存放密钥的安全性有显著的提高。
本实施例提供一种基于FeisitelBox结构的白盒分组密码构造系统,包括:
比特转换模块:比特转换模块采用T函数进行比特转换,用于将输入的na位比特转换为nb位比特输出,且na+nb为输入明文的总比特数,所述比特转换模块包括分组密码算法和随机密钥;
仿射变换模块:用于在FeistelBox结构的迭代处理轮的轮与轮之间添加仿射变换,进行链式连接,把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,仿射变换模块采用可逆的仿射变换矩阵;
执行运算模块:用于执行比特转换模块与仿射变换模块的加密运算,获得加密结果。
在本实施例中基于FeisitelBox结构的白盒分组密码构造系统,还设有解密模块执行解密运算,将迭代处理第r轮的最后一个分组输入T函数进行T函数的运算,T函数输出后与第r轮的各个分组进行异或运算,仿射变换后得到解密结果。
在本实施例中,FeistelBox结构是以n位明文的输入,k位密钥加密,n位明文的输出。
如图1所示,并结合图4,本实施例提供一种基于FeisitelBox结构的白盒分组密码构造方法,具体步骤为:
S1:输入n位明文,其中每一块的大小是na=(n/l)比特,其中l表示块的数量,例如是128位的明文输入,定义有16块时,则每一块的大小na是8位。设在第r轮时,n位明文输入,可表示为是表示第r轮时,xi是由na位组成的二进制数值;例如在第二轮时,则可表示为:
如图1、图2所示,采用T函数进行比特转换,将输入的na位比特转换为nb位比特输出,其中na+nb=n;T函数nb=n-na,r是轮数,T函数的作用是将输入的na比特转换为nb比特输出。例如第二轮时,将输入的8位转换为120位输出,可表示为:T函数可以定义为:Ek是具有n位明文和k位密钥的任意分组密码。C是nb=n-na位的二进制零值,msbu(x)是选择x的最显著的u位。
S2:在迭代处理轮数的轮与轮之间添加仿射变换,进行链式连接,每一轮的运行与上一轮、下一轮的运行紧密连接,通过把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,仿射变换层采用可逆的仿射变换矩阵;
如图1、图3所示,设X0表示为明文,XR表示为密文,r代表轮数,则每一轮更新的状态可以表示为:
其中是表示仿射连接符,||是联接符,是表示第r轮时的第一块分组,是表示第r轮的第l块分组;
pr是仿射变换函数,第i轮时,可表示为:其中Ci是第i轮对应x′i可逆仿射变换矩阵,是第i-1轮对应x′i-1的Ci-1的可逆仿射变换矩阵,是第i-1轮对应x′i-1的Di-1的可逆仿射变换矩阵,Di是第i轮对应x′i的可逆仿射变换矩阵,x′i是表示第i轮时,经过T函数输出的分组,x′i-1是表示第i-1轮时,经过T函数输出的分组。Ci和Di可以相同,也可以不同。例如第2轮的仿射变换可以表示为:
在本实施例中,仿射变换为两函数的复合:平移函数及线性映射函数。普通向量代数用矩阵乘法呈现线性映射函数,用向量加法表示平移函数。本实施例中的矩阵“A”表示线性映射函数,向量表示平移函数。仿射映射f表示为则其可逆的仿射变换矩阵表示为其中A-1为线性映射矩阵A的逆矩阵。
S3:执行S1-S2的加密运算,获得加密结果。
如图5所示,本实施例还设有解密运算步骤,将迭代处理轮数第r轮的最后一个分组作为已知分组,输入T函数进行T函数的运算,T函数输出后与第r轮的各个分组进行异或运算,最后通过仿射变换依次输出得到第r-1轮的各个分组,得到解密结果。
在本实施例中,FeistelBox结构中的仿射变换层中的矩阵A必须是可逆的,可逆矩阵是设P是数域,A∈Pn×n,若存在B∈Pn×n,使得AB=BA=E,E为单位矩阵,则称A为可逆矩阵,B为A的逆矩阵,记为B=-1
在本实施例中,FeistelBox的结构中增加了随机无效轮的方式,使得算法不能被错误的感染计算,可以检查和防止故障攻击,增加了攻击者攻击的难度,使得攻击者无法获得任何关于本轮的密文的信息,增加了攻击者的破解难度。
在本实施例中,随机无效轮是对于某一轮,无论该轮进行多少次的计算,始终与第一轮的结果一样。随机无效轮在feistelbox网络中的实现步骤为,设Pl为输入明文的左边部分,Pr为输入明文的右边部分,α为任意的常数值,ki表示为密钥K的子密钥,i∈{1,...,n},β表示特定值。则它们之间的联系为:
在本实施例中,FeistelBox结构中的仿射变换层中的矩阵A必须是可逆的,要用来抵消下一轮,但T函数中选用的Ek分组密码的选择是任意的,包括SM4国家商用密码,但不仅限于SM4。这产生了FeistelBox系列的分组密码,为白盒算法提供很多的研究方向。
在本实施例中,基于优化的高性能软件实现提供实验测量,并与CCS提出的SPACE系列白盒密码等效实例和Asiacrypt提出的SPNbox系列的白盒密码等效实例进行比较,如下表1、表2、表3所示:
其中,密钥k=128位,Ek为SM4国密算法,即FeistelBox-(8,R),输入的明文n=128位,块的数量l=16,每块大小na为8比特,T函数本实施例的实验数据均在1600MHz的Intel(R)Corei5-4210CPU双核上进行,所有性能数据均以每字节周期数(cpb)给出。
表1:英特尔平台上的FeistelBox和SPACE的白盒性能。
表2:英特尔平台上的FeistelBox白盒性能。
Algorithm Rounds Table size Affine size
FeistelBox-8 100 37.5KB 400KB
FeistelBox-8 200 750KB 800KB
FeistelBox-8 300 1.09MB 1200KB
FeistelBox-16 100 87.5MB 400KB
FeistelBox-16 200 112MB 512KB
FeistelBox-16 300 262.5MB 1200KB
表3:英特尔平台上的FeistelBox、SPACE和SPNbox的白盒性能。
本实施例经过实验测试众多FeistelBox的变体,选取了300轮作为FeistelBox的迭代处理轮数,该轮数在SM4安全的前提下,能保证整体GFN结构算法的抗差分、线性、不可能差分等密码学分析下达到高于暴力破解SM4的安全性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,包括下述步骤:
S1:输入n位明文,设置块的大小na、FeistelBox结构的迭代处理轮数r,采用T函数进行比特转换,将输入的na位比特转换为nb位比特输出,其中na+nb=n;
S2:在迭代处理的轮与轮之间添加仿射变换,进行链式连接,通过把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,仿射变换层采用可逆的仿射变换矩阵;
S3:执行S1-S2的加密运算,获得加密结果。
2.根据权利要求1所述的基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,步骤S1中所述T函数包括分组密码算法和随机密钥。
3.根据权利要求1所述的基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,步骤S1的具体步骤为:
设置块的大小,其中每一块的大小是na=(n/l)比特,其中l表示块的数量,设在第r轮时,n位明文输入表示为其中表示第r轮时,xi是由na位组成的二进制数值;
设置T函数所述T函数为其中Ek表示具有n位明文和k位密钥的任意分组密码,C是nb=n-na位的二进制零值,msbu(x)是选择x的最显著的u位。
4.根据权利要求1所述的基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,步骤S2中所述仿射变换采用线性映射函数和平移函数的复合,所述线性映射采用矩阵乘法,所述平移函数采用向量加法。
5.根据权利要求1所述的基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,步骤S2中所述的在迭代处理轮数的轮与轮之间添加仿射变换,具体步骤为:
设X0表示为明文,XR表示为密文,r代表轮数,则每一轮更新的状态表示为:
其中是表示仿射连接符,||是联接符,pr为仿射变换函数,表示T函数,是表示第r轮时的第一块分组,是表示第r轮的第l块分组;
pr为仿射变换函数,第i轮时表示为:
其中Ci是第i轮的对应x'i的可逆仿射变换矩阵,是第i-1轮对应xi-1的Ci-1的可逆仿射变换矩阵,是第i-1轮对应xi-1的Di-1的可逆仿射变换矩阵,Di是第i轮的对应x'i的可逆仿射变换矩阵,x'i是表示第i轮时,经过T函数输出的分组,x'i-1是表示第i-1轮时,经过T函数输出的分组。
6.根据权利要求1或5所述的基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,所述可逆仿射变换矩阵根据线性映射矩阵及平移向量得到,具体为:
仿射变换映射f为:
其中,A表示线性映射矩阵,表示平移向量,
可逆仿射变换矩阵根据仿射变换映射f得到,表示为:
其中A-1为线性映射矩阵A的逆矩阵。
7.根据权利要求1所述的基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,所述FeistelBox结构采用了随机无效轮的算法,随机无效轮在feistelbox结构中的具体步骤为,设Pl为输入明文的前半部分,Pr为输入明文的后半部分,α为任意的常数值,ki表示为密钥K的子密钥,i∈{1,...,n},β表示特定值,随机无效轮表示为:
8.根据权利要求1所述的基于FeisitelBox结构的白盒分组密码构造方法,其特征在于,还包括解密运算,具体步骤如下所述:
将迭代处理轮数第r轮的最后一个分组作为已知分组,输入T函数进行T函数的运算,T函数输出后与第r轮的各个分组进行异或运算,最后通过仿射变换依次输出得到第r-1轮的各个分组,得到解密结果。
9.一种基于FeisitelBox结构的白盒分组密码构造系统,其特征在于,包括:
比特转换模块:比特转换模块采用T函数进行比特转换,用于将输入的na位比特转换为nb位比特输出,且na+nb为输入明文的总比特数,所述比特转换模块包括分组密码算法和随机密钥;
仿射变换模块:用于在FeistelBox结构的迭代处理轮的轮与轮之间添加仿射变换,进行链式连接,把上一轮的仿射变换的逆变换嵌入到本轮的查找表运算中,再对查找表的结果应用上一轮的仿射变换,仿射变换模块采用可逆的仿射变换矩阵;
执行运算模块:用于执行比特转换模块与仿射变换模块的加密运算,获得加密结果。
10.一种基于FeisitelBox结构的白盒分组密码构造系统,其特征在于,还包括解密模块,将迭代处理第r轮的最后一个分组输入T函数进行T函数的运算,T函数输出后与第r轮的各个分组进行异或运算,再进行仿射变换后得到解密结果。
CN201910264826.1A 2019-04-03 2019-04-03 基于FeistelBox结构的白盒分组密码构造方法及系统 Active CN109981256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910264826.1A CN109981256B (zh) 2019-04-03 2019-04-03 基于FeistelBox结构的白盒分组密码构造方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910264826.1A CN109981256B (zh) 2019-04-03 2019-04-03 基于FeistelBox结构的白盒分组密码构造方法及系统

Publications (2)

Publication Number Publication Date
CN109981256A true CN109981256A (zh) 2019-07-05
CN109981256B CN109981256B (zh) 2022-08-05

Family

ID=67082636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910264826.1A Active CN109981256B (zh) 2019-04-03 2019-04-03 基于FeistelBox结构的白盒分组密码构造方法及系统

Country Status (1)

Country Link
CN (1) CN109981256B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111555862A (zh) * 2020-05-13 2020-08-18 华南师范大学 基于掩码保护的随机冗余轮函数的白盒aes实现方法
CN111737689A (zh) * 2020-06-10 2020-10-02 北京奇艺世纪科技有限公司 数据处理方法、处理器、电子设备、存储介质及程序产品
CN111901097A (zh) * 2020-08-06 2020-11-06 成都卫士通信息产业股份有限公司 一种白盒实现方法、装置、电子设备及计算机存储介质
CN110247754B (zh) * 2019-06-17 2020-12-01 中国科学院数学与系统科学研究院 一种分组密码fbc的实现方法及装置
CN112054896A (zh) * 2020-08-12 2020-12-08 深圳市欢太科技有限公司 白盒加密方法、装置、终端及存储介质
CN112199696A (zh) * 2020-10-09 2021-01-08 西安电子科技大学 基于白盒分组密码的加解密方法
CN113965311A (zh) * 2021-10-19 2022-01-21 北京安御道合科技有限公司 一种实现格式保持加密的方法、系统、介质、终端及应用
CN114244552A (zh) * 2021-10-27 2022-03-25 中国银行股份有限公司 基于区块链的数据加密传输方法及装置
CN117061092A (zh) * 2023-10-12 2023-11-14 仰恩大学 一种Simon加密算法的可逆电路构造方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101023621A (zh) * 2004-09-24 2007-08-22 塞纳普蒂克实验室有限公司 替代盒
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置
US20170149559A1 (en) * 2015-11-25 2017-05-25 Nxp, B.V. Protecting white-box feistel network implementation against fault attack

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101023621A (zh) * 2004-09-24 2007-08-22 塞纳普蒂克实验室有限公司 替代盒
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法
US20170149559A1 (en) * 2015-11-25 2017-05-25 Nxp, B.V. Protecting white-box feistel network implementation against fault attack
CN105681025A (zh) * 2016-01-29 2016-06-15 中国科学院信息工程研究所 一种国家密码标准算法sm4的安全白盒实现方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BENEDIKT GIERLICHS ET AL.: "Infective Computation and Dummy Rounds: Fault Protection for Block Ciphers without Check-before-Output", 《LATINCRYPT 2012》 *
LU ZHOU ET AL.: "Towards practical white-box lightweight block cipher implementations for IoTs", 《FUTURE GENERATION COMPUTER SYSTEMS 86 (2018)》 *
龚涛等: "基于扩展Feistel结构S盒的构造分析", 《信息工程大学学报》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247754B (zh) * 2019-06-17 2020-12-01 中国科学院数学与系统科学研究院 一种分组密码fbc的实现方法及装置
CN111555862B (zh) * 2020-05-13 2023-04-28 华南师范大学 基于掩码保护的随机冗余轮函数的白盒aes实现方法
CN111555862A (zh) * 2020-05-13 2020-08-18 华南师范大学 基于掩码保护的随机冗余轮函数的白盒aes实现方法
CN111737689A (zh) * 2020-06-10 2020-10-02 北京奇艺世纪科技有限公司 数据处理方法、处理器、电子设备、存储介质及程序产品
CN111901097A (zh) * 2020-08-06 2020-11-06 成都卫士通信息产业股份有限公司 一种白盒实现方法、装置、电子设备及计算机存储介质
CN112054896A (zh) * 2020-08-12 2020-12-08 深圳市欢太科技有限公司 白盒加密方法、装置、终端及存储介质
CN112054896B (zh) * 2020-08-12 2023-10-03 深圳市欢太科技有限公司 白盒加密方法、装置、终端及存储介质
CN112199696A (zh) * 2020-10-09 2021-01-08 西安电子科技大学 基于白盒分组密码的加解密方法
CN112199696B (zh) * 2020-10-09 2022-12-06 西安电子科技大学 基于白盒分组密码的加解密方法
CN113965311B (zh) * 2021-10-19 2023-09-08 北京安御道合科技有限公司 一种实现格式保持加密的方法、系统、介质、终端及应用
CN113965311A (zh) * 2021-10-19 2022-01-21 北京安御道合科技有限公司 一种实现格式保持加密的方法、系统、介质、终端及应用
CN114244552A (zh) * 2021-10-27 2022-03-25 中国银行股份有限公司 基于区块链的数据加密传输方法及装置
CN114244552B (zh) * 2021-10-27 2024-04-19 中国银行股份有限公司 基于区块链的数据加密传输方法及装置
CN117061092A (zh) * 2023-10-12 2023-11-14 仰恩大学 一种Simon加密算法的可逆电路构造方法
CN117061092B (zh) * 2023-10-12 2023-12-15 仰恩大学 一种Simon加密算法的可逆电路构造方法

Also Published As

Publication number Publication date
CN109981256B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN109981256A (zh) 基于FeisitelBox结构的白盒分组密码构造方法及系统
Seyedzade et al. A novel image encryption algorithm based on hash function
Sahmoud et al. Enhancement the Security of AES Against Modern Attacks by Using Variable Key Block Cipher.
Hong et al. Rediscovery of time memory tradeoffs
CN110278072A (zh) 一种16轮sm4-128/128白盒密码实现方法
CN113940028A (zh) 实现白盒密码的方法和装置
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
Bhattacharyya et al. Secure message authentication against related-key attack
Chaitra et al. A survey on various lightweight cryptographic algorithms on FPGA
Chen et al. Cryptanalysis of a chaotic image cipher based on plaintext-related permutation and lookup table
Babu et al. In depth survey on SMS4 architecture
Li et al. Differential fault analysis on Camellia
Ananya et al. Survey of applications, advantages, and comparisons of AES encryption algorithm with other standards
Gupta et al. Ensuring data security in databases using format preserving encryption
Zhou et al. Towards practical white-box lightweight block cipher implementations for IoTs
Tang et al. A one-time pad encryption algorithm based on one-way hash and conventional block cipher
Forhad et al. An improvement of advanced encryption standard
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
Mahendra et al. Enhanced AES using MAC address for cloud services
Srisakthi et al. Towards the design of a stronger AES: AES with key dependent shift rows (KDSR)
Lin et al. A new Feistel-type white-box encryption scheme
Huang et al. Image observation on the modified ECB operations in Advanced Encryption Standard
Chahar et al. Design of a new Security Protocol
Nakahara Jr Lai-Massey Cipher Designs: History, Design Criteria and Cryptanalysis
Pirzada et al. The parallel CMAC synthetic initialization vector algorithm implementation on FPGA

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