CN112953703A - 一种基于MILP的Tweakable GOST2差分路线搜索方法 - Google Patents

一种基于MILP的Tweakable GOST2差分路线搜索方法 Download PDF

Info

Publication number
CN112953703A
CN112953703A CN202110122266.3A CN202110122266A CN112953703A CN 112953703 A CN112953703 A CN 112953703A CN 202110122266 A CN202110122266 A CN 202110122266A CN 112953703 A CN112953703 A CN 112953703A
Authority
CN
China
Prior art keywords
gost2
tweakable
differential
algorithm
tweak
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
CN202110122266.3A
Other languages
English (en)
Other versions
CN112953703B (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.)
East China Normal University
Original Assignee
East 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 East China Normal University filed Critical East China Normal University
Priority to CN202110122266.3A priority Critical patent/CN112953703B/zh
Publication of CN112953703A publication Critical patent/CN112953703A/zh
Application granted granted Critical
Publication of CN112953703B publication Critical patent/CN112953703B/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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种针对TweakableGOST2算法自动化搜索差分路径的方法。本发明提供了两种添加Tweak的方法,并提出针对TweakableGOST2算法搜索差分路径的方法。在字节层面,通过分析TweakableGOST2算法之间的传播特性,使用MILP模型去建立TweakableGOST2算法各组件的具体模型,进行求解,若有则得到TweakableGOST2算法最小活跃S盒的具体数量和活跃S盒所在位置。然后根据TweakableGOST2算法的S盒求出TweakableGOST2算法的差分分布表和差分模式P,使用SAGEMATH不等式生成器可以得到TweakableGOST2的P凸包的H‑表示,由此得到不等式组,然后使用贪心法削减不等式的数量,得到最终的不等式组;在比特层面,利用MILP模型对TweakableGOST2算法进行建模,利用求解得到的S盒信息,得到高概率的差分路线。本发明可以较快地找出TweakableGOST2算法活跃S盒及其差分特征。

Description

一种基于MILP的Tweakable GOST2差分路线搜索方法
技术领域
本发明属于密码分析技术领域,涉及一种基于MILP的Tweakable GOST2差分路线搜索方法,针对Tweakable GOST2算法,该方法可以有效且快速搜索S盒及差分路径。
背景技术
在互联网时代,信息作为重要资源受到各个国家的重视,近年来机密数据被盗事件在国内外时有发生,其所带来的经济损失和社会影响持续加剧。尽管已有若干外部防御措施保护重要数据,但如果发生数据被盗的情况怎么尽可能减少损失这就需要密码算法来保护。而密码算法的安全性就显得尤为重要,密码算法可以加密重要数据,即使发生了丢失的情况,也可以让敌手提取不到重要信息。
差分分析是由Bihma和Shamir在1990年提出,是一种有效的分析密码算法安全性的方法。差分分析几乎适用于所有的分组密码算法,可以说差分分析是密码学安全分析的基础。值得注意的是,差分分析最重要的一步,是寻找一条高概率的差分路径,如何寻找高概率路径成为研究的重心。
可调分组密码是一种带有额外输入的分组密码,最先由Liskov等人在文献Tweakable BlockCipher中提出,这个额外输入通常称之为“Tweak”,可用于提高分组密码的灵活性。“Tweak”不同于密钥,不需要保密,比较容易改变,或者说改变的开销较小。可调分组密码有很好的应用背景。特别在磁盘分区加密中,应用可调分组密码可以保证同一消息在不同的磁盘分区中加密得到不同的密文。
GOST是一种广泛应用的分组密码,是俄罗斯标准密码,GOST2是Andrey Dmukh等人对其改进,分组密码算法GOST2整体采用Feistel结构,通过迭代32轮完成加密过程,在实现信息机密性和完整性保护方面有着至关重要的作用。GOST2作为密码标准在工业中有广泛应用,因此其安全性能显得尤为重要,如果可以在GOST2加入Tweak,则可以进一步拓宽应用场景。
发明内容
为了解决现有技术存在的不足,本发明的目的是提供一种基于MILP的TweakableGOST2差分路线搜索方法,通过向GOST2算法调整组件,提出了两种添加调整组件即Tweak模块的方法,并提出针对Tweakable GOST2自动化搜索差分路径的模型,分析GOST2加入可调组件后的安全性,可以快速精确的自动化搜索S盒和差分路线。所述方法具体包括以下步骤:
步骤A:在字节层面,使用MILP模型对Tweakable GOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到Tweakable GOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;
步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;
步骤C:在比特层面,使用MILP模型对Tweakable GOST2进行建模设定求解器的初始值和终止条件,得到Tweakable GOST2高概率的差分路线。
所述步骤A进一步包括:
步骤A1:在字节层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;
步骤A2:对Tweakable GOST2密码算法的Tweak模块进行建模;
步骤A3:对Tweakable GOST2密码算法的不同轮间关系进行建模;
步骤A4:使用python语言建模,并使用gurobi求解器求解,由于最优解不止一个,得到最优解后将当前解作为约束写入模型中,直到当前解不是最优解,或者求解器无解。
所述步骤A1中,对基于字节的密码组件进行建模是利用不等式组来描述传播规则的。
所述步骤A1进一步包括:
步骤A11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;
步骤A12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;
步骤A13:使用不等式组刻画模加操作中基于字节的差分扩散路径。
所述步骤A2中,有两种添加Tweak模块的方式:假设i表示Tweakable GOST2算法中的第i轮,一种是在第i轮右侧输入差分异或Tweak、另一种是在第i轮输出后面异或Tweak,使用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的的信息。
所述步骤A3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系等信息,进而来描述Tweakable GOST2差分传播特征。
所述步骤B进一步包括:
步骤B1:在比特层面,根据GOST2算法S盒生成其对应的差分分布表和差分模式,并将差分模式按照概率分组;
步骤B2:使用SAGEMATH不等式生成器得到Tweakable GOST2的P凸包的H-表示;
步骤B3:对生成的不等式进行处理,得到不同概率对应的不等式。
所述步骤C进一步包括:
步骤C1:在比特层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;
步骤C2:对Tweakable GOST2密码算法的Tweak模块进行建模;
步骤C3:根据步骤A得到的活跃S盒位置和个数和步骤B得到的描述S盒的不等式进行建模,设定求解器的初始值和终止条件,使用gurobi求解后得到Tweakable GOST2的差分路径及其概率。
所述步骤C1进一步包括:
步骤C11:使用不等式组刻画XOR操作中基于比特的差分扩散路径;
步骤C12:使用不等式组刻画S盒操作中基于比特的差分扩散路径;
步骤C13:使用不等式组刻画模加操作中基于比特的差分扩散路径。
所述步骤C2中,使用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的信息。
所述步骤C3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系等信息,进而来描述Tweakable GOST2差分传播特征。
本发明还提出了一种向GOST2算法中加入可调模块即Tweak模块的方法,并针对GOST2的性质,采用高效的自动化求解方法,精确地对Tweakable GOST2算法进行建模,并获得比较精准S盒,进一步提高搜索差分路径的效率。
本发明的有益效果在于:本发明可以精确评估Tweakable GOST2的安全性能,不仅可以评估Tweakable GOST2算法单密钥的安全性能,而且可以评估相关密钥的安全性能。在字节层面建模时,加入不同轮间的差分传播关系不仅有利于更精确的确定活跃S盒的个数,而且能够加快算法运行速度,在比特层面,使用MILP模型可以排除无效路线,对TweakableGOST2的安全性能有较好的评估。
附图说明
图1和图2是本发明对于所分析两种Tweakable GOST2算法的轮函数的描述示意图。
图3是本发明在字节层面对Tweakable GOST2算法S盒的数量及位置搜索的工作示意图。
图4是本发明在比特层面对Tweakable GOST2算法差分路径搜索的工作示意图。
图5是本发明在比特层面获得Tweakable GOST2算法生成S盒不等式的工作示意图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明提出了一种基于MILP的Tweakable GOST2差分路径搜索方法,通过向GOST2算法调整组件,提出了两种添加调整组件,提出针对Tweakable GOST2自动化搜索差分路径的模型,分析GOST2加入可调组件即Tweak模块后的安全性,可以快速精确的自动化搜索S盒和差分路线。所述方法具体包括以下步骤:
步骤A:在字节层面,使用MILP模型对Tweakable GOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到Tweakable GOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;
步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;
步骤C:在比特层面,使用MILP模型对Tweakable GOST2进行建模设定求解器的初始值和终止条件,得到Tweakable GOST2高概率的差分路线。
所述步骤A进一步包括:
步骤A1:在字节层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;
步骤A2:对Tweakable GOST2密码算法的Tweak模块进行建模;
步骤A3:对Tweakable GOST2密码算法的不同轮间关系进行建模;
步骤A4:使用python语言建模,并使用gurobi求解器求解,由于最优解不止一个,得到最优解后将当前解作为约束写入模型中,直到当前解不是最优解,或者求解器无解。
所述步骤A1中,对基于字节的密码组件进行建模是利用不等式组来描述传播规则的。
所述步骤A1进一步包括:
步骤A11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;
步骤A12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;
步骤A13:使用不等式组刻画模加操作中基于字节的差分扩散路径。
所述步骤A2中,有两种添加Tweak模块的方式:假设i表示Tweakable GOST2算法中的第i轮,一种是在第i轮右侧输入差分异或Tweak、另一种是在第i轮输出后面异或Tweak,使用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的的信息。
所述步骤A3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系等信息,进而来描述Tweakable GOST2差分传播特征。
所述步骤B进一步包括:
步骤B1:在比特层面,根据GOST2算法S盒生成其对应的差分分布表和差分模式,并将差分模式按照概率分组;
步骤B2:使用SAGEMATH不等式生成器得到Tweakable GOST2的P凸包的H-表示;
步骤B3:对生成的不等式进行处理,得到不同概率对应的不等式。
所述步骤C进一步包括:
步骤C1:在比特层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;
步骤C2:对Tweakable GOST2密码算法的Tweak模块进行建模;
步骤C3:根据步骤A得到的活跃S盒位置和个数和步骤B得到的描述S盒的不等式进行建模,设定求解器的初始值和终止条件,使用gurobi求解后得到Tweakable GOST2的差分路径及其概率。
所述步骤C1进一步包括:
步骤C11:使用不等式组来刻画XOR操作中基于字节的差分扩散路径;
步骤C12:使用不等式组来刻画S盒操作中基于字节的差分扩散路径;
步骤C13:使用不等式组来刻画模加中基于字节的差分扩散路径。
所述步骤C2中,使用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的信息。
所述步骤C3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系等信息,进而来描述Tweakable GOST2差分传播特征。
本发明还提出了一种向GOST2算法中加入可调模块即Tweak模块的方法,并针对GOST2的性质,采用高效的自动化求解方法,精确地对Tweakable GOST2算法进行建模,并获得比较精准S盒,进一步提高搜索差分路径的效率。
实施例
如图3,4,5,一种基于MILP的Tweakable GOST2差分路径搜索方法具体包括以下步骤:
步骤A:在字节层面,使用MILP模型对Tweakable GOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到Tweakable GOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;
步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;
步骤C:在比特层面,使用MILP模型对Tweakable GOST2进行建模设定求解器的初始值和终止条件,得到Tweakable GOST2高概率的差分路线。
所述步骤A进一步包括以下步骤:
步骤A1:在字节层面利用MILP模型对Tweakable GOST2密码算法中XOR,S盒,模加组件进行建模,建模包括如下:
对于XOR操作,假设
Figure BDA0002920884600000051
其中x,y,z∈{0,1}w,x,y是输入差分,z是输出差分,w表示x,y,z的长度,d∈{0,1},d为临时变量。建模如下:
Figure BDA0002920884600000052
对于GOST2的S盒以及线性置换操作,(x0,x1,x2,x3)和(y0,y1,y2,y3)分别代表线性置换的输入和输出,对于GOST2来说B=2,d∈{0,1},d为临时变量。建模如下:
Figure BDA0002920884600000061
对于移位操作,假设输入差分为xi,输出差分为yi,xi,yi∈{0,1},Ai,j表示第i轮第j个S盒的活跃状态,oi,j表示第i轮第j个字节输出,0≤i≤31,1≤j≤8,oi,j,ai,j∈{0,1}。建模如下:
Figure BDA0002920884600000062
对于模加操作,Ai,j表示第i轮第j个S盒的活跃状态,moi表示第i轮模加模块的输出,Ki表示第i轮密钥的活跃状态,ri,j表示第i轮第j个字节的输入差分,Ri表示第i轮模加操作的输入差分,Ri,ri,j,moi,Ki,Ai,j∈{0,1},d∈{0,1},d为临时变量,建模如下:
Figure BDA0002920884600000063
步骤A2:对Tweakable GOST2密码算法的Tweak模块进行建模,建模如下:
假设Tweak置换操作为h=[6,5,14,15,0,1,2,3,7,12,13,4,8,9,10,11],
记Ti
Figure BDA0002920884600000064
Ti∈{0,1}16
Figure BDA0002920884600000065
对于不同轮之间,x表示第i轮第x个Tweak值,主Tweak的传播可以用以下式子描述:
Figure BDA0002920884600000066
对于子Tweak选取有三种方案:
(1)
Figure BDA0002920884600000067
(2)
Figure BDA0002920884600000068
(3)
Figure BDA0002920884600000069
其中TKi为第i轮加密算法使用的Tweak值。
如图1,2,有两种添加Tweak的方法,假设Li,Ri表示第i轮输入差分,第一种在第i轮右侧输入差分异或TKi,即
Figure BDA0002920884600000071
另一种是在第i轮输出后面异或TKi,即
Figure BDA0002920884600000072
Figure BDA0002920884600000073
步骤A3:对于连续三轮的GOST2算法,假设wi,j表示第i轮第j个字节移位后的输出,li,j,ri,j分别表示第i轮第j个字节左右两侧的输入差分,Outi表示第i轮移位后的输出差分,Outi=(wi,1,wi,2…wi,8),Li,Ri表示第i轮输入差分,Li,Ri,Outi∈{0,1}8,0≤i≤31,1≤j≤8,di,j,ui,j为临时变量,li,j,ri,j,wi,j,Ai,j,di,j,ui,j∈{0,1}:
Figure BDA0002920884600000074
Figure BDA0002920884600000075
Figure BDA0002920884600000076
Figure BDA0002920884600000077
步骤A4:使用python语言建模,并使用gurobi求解器求解,由于最优解不止一个,得到最优解后将当前解作为约束写入模型中,直到当前解不是最优解,或者求解器无解。
使用gurobi求解时,将目标函数建模如下,即建模求得活跃S盒的最小值:
Minimize:∑i,jAi,j
其中Ai,j表示第i轮第j个S盒的活跃状态,0≤i≤31,1≤j≤8;
初始状态应不全为0,即:
Minimize:Π0,jA0,j≥1
所述步骤B具体包括以下步骤:
步骤B1:在比特层面,根据GOST2算法S盒生成其对应的差分分布表和差分模式,并将差分模式按照概率分组;
步骤B2:使用SAGEMATH不等式生成器得到Tweakable GOST2的P凸包的H-表示;
步骤B3:对生成的不等式进行处理,得到不同概率对应的不等式。
对于双射S盒,非零输入差必须导致非零输出差,反之亦然,对于GOST2的S盒来说,有如下建模:
4(y0+y1+y2+y3)-(x0+x1+x2+x3)≥0
4(x0+x1+x2+x3)-(y0+y1+y2+y3)≥0
假设A2,A3为得到不同概率不等式的系数,表示为A2(x,y)-B=0,A3(x,y)-B=0,x,y代表(x0…x3,y0…y3),B是不等式常数项,x0...x3,y0...y3表示S盒输入差分和输出差分,GOST2差分分布的概率分别为2-2与2-3,记Ai,j表示第i轮第j个S盒的活跃状态,Q2i,j,Q3i,j∈{0,1}分别表示第i轮第j个概率2-2与2-3所生成的不等式的状态,例如,Q2i,j=1代表不等式取得2-2差分模式对应的不等式,M是足够大的正整数,有如下建模:
Figure BDA0002920884600000081
所述步骤C进一步包括:
步骤C1:在比特层面利用MILP模型对Tweakable GOST2密码算法移位,异或组件进行建模:
对于移位操作,假设xi是输入差分第i位,yi是输出差分第i位,L是左移位长度,建模如下:
yi=x(i+L+32)%32
对于XOR操作,假设
Figure BDA0002920884600000082
其中x,y,z∈{0,1},x,y是输入差分,z是输出差分,d表示临时变量,d∈{0,1},建模如下:
Figure BDA0002920884600000083
对于模加操作,假设
Figure BDA0002920884600000085
其中x,y表示输入,z表示输出,x,y,z∈{0,1}32,xi,yi,zi表示x,y,z的第i比特,d表示临时变量,x-,yi,zi,d∈{0,1},建模如下:
Figure BDA0002920884600000084
记向量(xi,yi,zi,xi+1,yi+1,zi+1)为可能的输入差分和输出差分不同比特的关系,向量应满足上述建模。将上述向量筛选后的所有差分模式放入SAGEMATH生成不等式,然后用贪心法选取最后不等式,建模如下:
-x--yi-zi+xi+1+yi+1+zi+1+2≥0
+xi+yi+zi-xi+1-yi+1-zi+1+2≥0
+xi+yi+zi+xi+1+yi+1-zi+1≥0
+xi+yi+zi+xi+1-yi+1+zi+1≥0
+xi+yi+zi-xi+1+yi+1+zi+1≥0
-xi-yi-zi+xi+1-yi+1-zi+1+4≥0
-xi-yi-zi-xi+1+yi+1-zi+1+4≥0
-x--yi-zi-xi+1-yi+1+zi+1+4≥0
步骤C2:对Tweakable GOST2密码算法的Tweak模块进行建模,根据步骤A得到Tweak的值进一步建模,建模如下:
在字节层面,记Ti为Tweak,Ti∈{0,1}16,TKi为第i轮加密算法使用的Tweak值。在比特层面,记
Figure BDA0002920884600000091
为第i轮使用的主Tweak值,tki为第i轮加密算法使用的Tweak值。
Figure BDA0002920884600000092
Figure BDA0002920884600000093
ti∈{0,1}128,tki{0,1}32,0≤m≤127,0≤i≤31
Figure BDA0002920884600000094
Figure BDA0002920884600000095
Figure BDA0002920884600000096
Figure BDA0002920884600000097
x为第i轮第x个Tweak,k为每个字节中第k位比特,0≤x≤15,0≤k≤7,
Figure BDA0002920884600000098
步骤C3:根据步骤A得到的活跃S盒位置和个数和步骤B得到的描述S盒的不等式进行建模,使用gurobi求解后得到Tweakable GOST2的差分路径及其概率。
记Ai,j表示第i轮第j个S盒的活跃状态,为第0≤i≤31,1≤j≤8,记
Figure BDA0002920884600000099
为第i轮第j个S盒第k个输入差分,1≤k≤4。
若Ai,j=0,则
Figure BDA00029208846000000910
若Ai,j=1,则
Figure BDA00029208846000000911
使用gurobi求解时,将目标函数建模如下:
Minimize:∑i,j3Q2i,j+2Q3i,j
本发明将Tweak模块加入GOST2密码算法,并提出了两种添加Tweak的方法,并对添加可调组件即Tweak模块后的Tweakable GOST2密码算法进行安全分析,可以根据密码单轮差分传播关系和不同轮差分传播关系找到Tweakable GOST2密码算法活跃S盒数量的下界,并根据布尔函数原理对差分模式进行比特建模,精确地约束了差分传播的路径,可以在有效的时间内求得多轮Tweakable GOST2密码算法单密钥和相关密钥的高概率差分路线,从而进行密钥恢复。
本发明的保护内容不局限于以上实施例。在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (9)

1.一种基于MILP的Tweakable GOST2差分路径搜索方法,其特征在于,所述方法包括以下步骤:
步骤A:在字节层面,使用MILP模型对Tweakable GOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到Tweakable GOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;
步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;
步骤C:在比特层面,使用MILP模型对Tweakable GOST2进行建模设定求解器的初始值和终止条件,得到Tweakable GOST2高概率的差分路线。
2.根据权利要求1所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤A进一步包括:
步骤A1:在字节层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;
步骤A2:对Tweakable GOST2密码算法的Tweak模块进行建模;
步骤A3:对Tweakable GOST2密码算法的不同轮间关系进行建模;
步骤A4:使用python语言建模,并使用gurobi求解器求解,由于最优解不止一个,得到最优解后将当前解作为约束写入模型中,直到当前解不是最优解,或者求解器无解。
3.根据权利要求2所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤A1中,对基于字节的密码组件进行建模是利用不等式组来描述传播规则的。
4.根据权利要求2所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤A1进一步包括:
步骤A11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;
步骤A12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;
步骤A13:使用不等式组刻画模加操作中基于字节的差分扩散路径。
5.根据权利要求2所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤A2中,有两种添加Tweak模块的方式:假设i表示Tweakable GOST2算法中的第i轮,一种是在第i轮右侧输入差分异或Tweak、另一种是在第i轮输出后面异或Tweak,用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的信息。
6.根据权利要求2所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤A3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系信息,进而来描述Tweakable GOST2差分传播特征。
7.根据权利要求1所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤B进一步包括:
步骤B1:在比特层面,根据GOST2算法S盒生成其对应的差分分布表和差分模式,并将差分模式按照概率分组;
步骤B2:使用SAGEMATH不等式生成器得到Tweakable GOST2的P凸包的H-表示;
步骤B3:对生成的不等式进行处理,得到不同概率对应的不等式。
8.根据权利要求1所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤C进一步包括:
步骤C1:在比特层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;
步骤C2:对Tweakable GOST2密码算法的Tweak模块进行建模;
步骤C3:根据步骤A得到的活跃S盒位置和个数和步骤B得到的描述S盒的不等式进行建模,设定求解器的初始值和终止条件,使用gurobi求解后得到Tweakable GOST2的差分路径及其概率;
所述步骤C2中,使用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的信息;
所述步骤C3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系信息,进而来描述Tweakable GOST2差分传播特征。
9.根据权利要求8所述的Tweakable GOST2差分路径搜索方法,其特征在于,所述步骤C1进一步包括:
步骤C11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;
步骤C12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;
步骤C13:使用不等式组刻画模加中基于字节的差分扩散路径。
CN202110122266.3A 2021-01-28 2021-01-28 一种基于MILP的Tweakable GOST2差分路线搜索方法 Active CN112953703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110122266.3A CN112953703B (zh) 2021-01-28 2021-01-28 一种基于MILP的Tweakable GOST2差分路线搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110122266.3A CN112953703B (zh) 2021-01-28 2021-01-28 一种基于MILP的Tweakable GOST2差分路线搜索方法

Publications (2)

Publication Number Publication Date
CN112953703A true CN112953703A (zh) 2021-06-11
CN112953703B CN112953703B (zh) 2022-12-06

Family

ID=76239606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110122266.3A Active CN112953703B (zh) 2021-01-28 2021-01-28 一种基于MILP的Tweakable GOST2差分路线搜索方法

Country Status (1)

Country Link
CN (1) CN112953703B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389791A (zh) * 2021-12-21 2022-04-22 中国电子科技集团公司第三十研究所 一种基于milp的线性扩散层分支数快速计算方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427986A (zh) * 2013-08-22 2013-12-04 中国科学院信息工程研究所 获取分组密码活跃s盒个数下界的方法
CN103986722A (zh) * 2014-05-28 2014-08-13 浪潮电子信息产业股份有限公司 一种使用反弹攻击技术攻击Grostl加密算法的处理方法
CN104486069A (zh) * 2014-12-23 2015-04-01 天津光电通信技术有限公司 一种基于fpga实现的gost加解密设备及其方法
CN106027226A (zh) * 2016-05-13 2016-10-12 西安电子科技大学 一种分组密码相关密钥不可能差分路径的搜索方法
CN107070632A (zh) * 2017-03-15 2017-08-18 中国人民解放军信息工程大学 基于sat的不可能差分及零相关路径自动搜索方法
CN108737067A (zh) * 2018-04-04 2018-11-02 中国电子科技集团公司第三十研究所 一种基于s盒的分割方法
CN110572250A (zh) * 2019-07-23 2019-12-13 华东师范大学 一种基于三集合分离属性的自动化积分分析方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427986A (zh) * 2013-08-22 2013-12-04 中国科学院信息工程研究所 获取分组密码活跃s盒个数下界的方法
CN103986722A (zh) * 2014-05-28 2014-08-13 浪潮电子信息产业股份有限公司 一种使用反弹攻击技术攻击Grostl加密算法的处理方法
CN104486069A (zh) * 2014-12-23 2015-04-01 天津光电通信技术有限公司 一种基于fpga实现的gost加解密设备及其方法
CN106027226A (zh) * 2016-05-13 2016-10-12 西安电子科技大学 一种分组密码相关密钥不可能差分路径的搜索方法
CN107070632A (zh) * 2017-03-15 2017-08-18 中国人民解放军信息工程大学 基于sat的不可能差分及零相关路径自动搜索方法
CN108737067A (zh) * 2018-04-04 2018-11-02 中国电子科技集团公司第三十研究所 一种基于s盒的分割方法
CN110572250A (zh) * 2019-07-23 2019-12-13 华东师范大学 一种基于三集合分离属性的自动化积分分析方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈少真,薛平,杨行: "减轮GOST2 的相关密钥差分攻击", 《信息工程大学学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389791A (zh) * 2021-12-21 2022-04-22 中国电子科技集团公司第三十研究所 一种基于milp的线性扩散层分支数快速计算方法

Also Published As

Publication number Publication date
CN112953703B (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
US7783045B2 (en) Secure approach to send data from one system to another
Gafsi et al. High securing cryptography system for digital image transmission
WO2021129470A1 (zh) 基于多项式完全同态的二进制数据加密系统及方法
Achkoun et al. SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes
CN112953703B (zh) 一种基于MILP的Tweakable GOST2差分路线搜索方法
Ullah et al. An efficient construction of S-box based on the fractional-order Rabinovich–Fabrikant chaotic system
CN103310157B (zh) 基于rt-dna元胞自动机的图像加密方法
WO2023093004A1 (zh) 密钥数据处理方法和电子设备
CN112507357B (zh) 一种基于密钥生成器的多级接口设计方法
CN113824548B (zh) 一种应用于边缘物联代理的非线性白盒sm4实现方法
He et al. Cryptanalysis and improvement of a block cipher based on multiple chaotic systems
CN115001651A (zh) 适用于半诚实模型下基于全同态加密的多方计算方法
Fadlan Three Layer Encryption Protocol: an Approach of Super Encryption Algorithm
Iwamura et al. Fast secure computation based on a secret sharing scheme for n< 2k− 1
Ma et al. Correlation attacks on SNOW-V-like stream ciphers based on a heuristic MILP model
Keliher et al. Modeling linear characteristics of substitution-permutation networks
Gong et al. Combining MILP modeling with algebraic bias evaluation for linear mask search: improved fast correlation attacks on SNOW
Meng et al. A novel color image encryption algorithm based on fractional-order memristive chaotic circuit and DNA coding technology
Chang et al. Research on forgery attack on authentication encryption algorithm ACE
Gnatyuk et al. Studies on Cryptographic Security and Speed Analysis of New Advanced Block Cipher.
Yadav et al. Image encryption based on random scrambling and chaotic logistic map
CN114337993B (zh) 一种应用于边缘物联代理的白盒sm4加解密方法及系统
Hoki et al. Practical Integral Distinguishers on SNOW 3G and KCipher-2
Li et al. Integral attack on reduced-round BORON based on bit-based division property
CN113132102B (zh) 一种基于三层密钥的量子密钥保护方法、装置及系统

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