CN116938437A - 一种基于最小猜测基的密钥恢复方法 - Google Patents
一种基于最小猜测基的密钥恢复方法 Download PDFInfo
- Publication number
- CN116938437A CN116938437A CN202311004320.XA CN202311004320A CN116938437A CN 116938437 A CN116938437 A CN 116938437A CN 202311004320 A CN202311004320 A CN 202311004320A CN 116938437 A CN116938437 A CN 116938437A
- Authority
- CN
- China
- Prior art keywords
- key
- bits
- round
- guess
- guessed
- 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.)
- Pending
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000009977 dual effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于最小猜测基的密钥恢复方法,该方法用于密钥恢复阶段,根据密钥编排和猜测的密钥比特,加入新的等价关系构建更加完备的连接关系,有效补全对密钥编排的刻画;并设置新的初始约束,将最小猜测基中的元素限制在密钥恢复过程所涉及到的密钥比特中,最终得到MILP模型;用求解器对模型求解得到最小猜测基,完成密钥恢复攻击。本发明方法通过加入等价关系和新的初始约束对原有的MILP最小猜测基搜索模型进行改进,可以更加快速地搜索最小猜测基。本发明方法准确度高,适用于所有对称密码算法密钥恢复攻击中最小猜测基的搜索,通过最小猜测基能够有效降低密钥恢复攻击的复杂度。
Description
技术领域
本发明涉及信息安全领域,具体是一种基于最小猜测基的密钥恢复方法。
背景技术
分组密码的攻击分为两个主要阶段:区分器搜索阶段和密钥恢复阶段。首先在区分器搜索阶段,攻击者常用差分或者线性等分析方法找到一个r2轮的高概率特征,来区分r2轮的密码算法与随机置换。然后在密钥恢复攻击阶段,攻击者在r2轮区分器的基础上向前和向后分别扩展r1和r3轮,共同构成了r=r1+r2+r3轮的密钥恢复攻击。在密钥恢复过程中,猜测r1和r3轮中涉及到的部分轮密钥,通过区分器两端的内部特征进行猜测密钥的过滤,从而恢复出轮密钥的部分比特位,进而恢复主密钥。此外为了进一步降低攻击复杂度,需要仔细寻找猜测密钥之间的内在推导关系以降低猜测密钥总数。
在密钥恢复过程中,常常会因为需要猜测的轮密钥总数过多,攻击的复杂度超过穷搜索的复杂度,导致攻击无效。密码分析者发现,因为轮密钥都是主密钥通过密钥编排算法生成的,所以不同轮的密钥之间存在着内部推导关系。因此在猜测r1和r3轮的轮密钥时,并非所有的比特都需要独立进行猜测,而是猜测部分必要轮密钥比特,剩余的部分由密钥编排算法给出的内在关系推导而得。将必需猜测的轮密钥比特组成的集合记为最小猜测基。通过手动方式去寻找猜测密钥间关系的方法速度慢且易出错,并且随着轮数的增加寻找的难度也越发困难。
为了减少密钥恢复过程中的复杂度,2010年Dunkelman等人在文献[1]中提出了密钥桥技术,通过密钥编排,找到多轮轮密钥之间的关系;他们在AES-192中的两个轮密钥之间发现了一条长达8轮的密钥桥。2013年,Derbez等人通过密钥桥技术改进了AES-192的8轮攻击,有效降低了攻击的复杂度[2]。随后Li等人提出了自动化寻找密钥桥的方法并将其应用到23轮Lblock的密钥恢复攻击中,大幅度降低了密钥恢复攻击的复杂度[3]。在文献[4]中,Cen等人首次将猜测确定攻击转化为了MILP问题,并应用到流密码snow2.0和Enocoro-128v2上。随后,文献[5]提出了一个用于自动化猜测确定攻击和密钥桥技术的开源工具Autogues,作者用Autoguess搜索出来的最小猜测基对Present-80、TWINE-80的密钥恢复攻击进行了改进。
针对密钥恢复攻击中的最小猜测基的自动化搜索方法研究方法较多,最新的最小猜测基搜索工具Autoguess能够在密钥恢复阶段通过密钥编排,快速的找到最小猜测基。但该工具对密钥编排的约束刻画并不完整,尤其是针对密钥编排中循环移位和拉线变换的约束刻画,这可能会导致结果的不准确,使得最小猜测基并不适合用于实际的密钥恢复攻击。
针对上述问题,本发明提出一种基于最小猜测基的密钥恢复方法,该方法基于混合整数线性规划(Mixed Integer Linear Programming,MILP)模型,通过密钥编排和猜测的密钥比特,构建连接关系得到MILP模型,用求解器对模型求解得到最小猜测基,具有准确且高效的优势。
参考文献:
[1]Dunkelman,O.,Keller,N.,Shamir,A.:Improved single-key attacks on8-round AES-192and AES-256.In:Advances in Cryptology–ASIACRYPT2010.pp.158–176.Springer(2010);
[2]Derbez P,Fouque P A,Jean J.Improved key recovery attacks onreduced-round AES in the single-key setting.In:Advances in Cryptology–EUROCRYPT 2013.pp.371-387.Springer(2013);
[3]Lin,L.,Wu,W.,Zheng,Y.:Automatic search for key-bridging technique:applications to LBlock and TWINE.In:Fast Software Encryption–FSE 2016.pp.247–267.Springer(2016);
[4]Cen,Z.,Feng,X.,Wang,Z.,Cao,C.:Minimizing deduction system and itsapplication.arXiv preprint arXiv:2006.05833(2020);
[5]Hadipour H,Eichlseder M.Autoguess:A tool for finding guess-and-determine attacks and key bridges.In:International Conference on AppliedCryptography and Network Security.Pp.230-250.Springer(2022)。
发明内容
本发明的目的是提出一种基于最小猜测基的密钥恢复方法,该方法用于密钥恢复阶段,根据密钥编排和猜测的密钥比特,加入新的等价关系构建更加完备的连接关系,有效补全对密钥编排的刻画;并设置新的初始约束,将最小猜测基中的元素限制在密钥恢复过程所涉及到的密钥比特中,最终得到MILP模型;用求解器对模型求解得到最小猜测基,完成密钥恢复攻击。
实现本发明目的的技术方案是:
一种基于最小猜测基的密钥恢复方法,包括如下步骤:
(1)在已知的区分器上,根据密码算法,对区分器进行向上和向下的扩展,根据每一轮的活跃S盒位置,得到能够进行猜测的密钥;
(2)根据密钥编排和猜测的密钥,构建连接关系,建立局部的MILP模型;
根据密钥编排算法和猜测的密钥,在包含关系和对称关系基础上,新增等价关系,构建更加完备的连接关系,建立相应的约束不等式,并以之建立局部的MILP模型;
(3)根据猜测比特与知识传播迭代次数,设置初始约束并构建目标函数;
为了找到最小猜测基,根据知识传播迭代次数,设置初始约束;
为了方便密钥恢复,加入了新的约束不等式,该约束能将最小猜测基中的元素限制在密钥恢复过程所涉及到的密钥比特中;
构建目标函数,建立完整的MILP模型;
(4)使用求解器gurobi对MILP模型求解,得到最小猜测基;
(5)根据得到的最小猜测基,完成对密码算法的密钥恢复并计算复杂度。
进一步地,步骤(1)所述对区分器进行扩展得到能够猜测的密钥,其具体步骤如下:
(1.1)根据密码算法,对选中的区分器进行向上和向下的扩展,假设区分器长度为r2,向上扩展r1轮,向下扩展r3轮,总轮数为r=r1+r2+r3;
当内部状态经过S盒时,由于S的差分和线性特性,一个输入对应多个输出,且一个输出对应多个输入,所以对于无法确定“0”和“1”的输入和输出比特位用“*”号表示;
扩展轮数根据“*”的情况确定,若扩展的下一轮为全“*”时,停止扩展;
(1.2)找到扩展轮中输入为非“0”的活跃S,根据密码算法,输入这些S盒的轮密钥就是能够猜测的密钥。
进一步地,步骤(2)所述在得到能够猜测的密钥以后,根据密钥编排建立连接关系,构建部分MILP模型,其具体步骤如下:
(2.1)构建对称关系:
对称关系常用来描述模加、异或操作下的密钥比特关系,该关系有如下特性,在给定的n个密钥比特中,如果其中一个密钥比特未知,其他均已知,那么这个未知比特通过这些已知推导得出;否则无法推导出;
因此,用表示密钥的已知或未知状态,当变量为0时,表示未知,为1时,表示已知,对称关系的约束不等式表示为:
(2.2)构建包含关系:
包含关系通常用来描述n个密钥比特S盒操作;若已知S盒输入的每一位比特,就能够推导出输出的每一位比特;而对于双射S盒,则根据S盒输出的每一位比特推导出输入的每一位比特;对于n比特S盒,令表示输入S盒的密钥比特的状态、表示输出S盒的密钥比特的状态,不等式约束关系为:
针对双射S盒,还需要添加以下不等式约束关系:
(2.3)由于Autoguess对密钥编排刻画的不完备,为了完善模型对密钥编排的刻画,加入了新的等价关系;等价关系是指在循环移位、拉线变换等操作的影响下,在连续的多轮轮密钥之间,所出现的等价或者相等比特的连接关系;在由等价关系连接起来的比特之间,如果有一个变量已知,那么这条关系链上的所有变量都已知;
假设在等价关系中有n个密钥比特,表示这些比特的已知或未知状态,则密钥编排操作中的等价关系的不等式约束如下:
进一步地,步骤(3)所述根据猜测比特与知识传播迭代次数,设置初始约束并构建目标函数,其具体步骤如下:
(3.1)构建知识传播:
用第r-1轮中的已知变量,通过连接关系推导出第r轮未知变量的过程,被称为知识传播;用X表示轮密钥中所有的状态变量,R表示状态变量之间的所有内在关系,则得到推理系统(X,R);以xi,j(0≤i≤n-1,0≤j≤r)表示xi(xi∈X)在推演过程中第j步的已知或未知状态,Xj表示一个包含了所有xi,j的集合,用xi,j,k表示在第j步的第k条关系能够推导出xi;用Path(xi,j)={xi,j,k:0≤k≤λ-1}表示所有xi,j,k的集合,且假设集合有λ个;当且仅当如下两个条件至少有一个满足时,xi,j才能等于1:
①xi,j-1=1,其表示xi在之前的步骤中是已知的;
②Path(xi,j)中的元素至少有一个等于1,其表示存在至少一条连接关系,使得在第j步xi能够通过之前的已知变量推导出来;由此可以得出第j步与第j-1步之间变量的关系,从而得到知识传播的约束不等式(0≤i≤n-1,0≤j≤r,0≤k≤λ-1)如下:
(3.2)构建初始条件约束:
假设进行了α次的知识传播,其表示成X0→X1→...→Xα;用集合K表示密钥恢复过程中涉及到的子密钥,|K|表示K中变量的数量;Kj表示在第j步所有属于K集合的xi的状态集合;在知识传播的过程中,希望X的最小猜测基中的元素数量小于g,并且在经过了α次的知识传播后,Kα中的元素的值尽可能都为1,则初始约束关系不等式为:
(3.3)构建新加入的初始约束:
在密钥恢复过程中,并不是所有轮密钥比特都可以进行猜测和验证,但是这些不能进行猜测和验证的密钥比特在寻找最小猜测基的过程中又能起到桥梁作用,将这些密钥比特构成的集合用Y表示,Yi表示Y集合在知识传播的第i轮中所有变量的状态;在知识传播的第0轮中,状态为1的密钥比特集合为最小猜测基,若上述密钥比特都被加入最小猜测基,则在后续的密钥恢复过程中很难进行猜测和验证,为了能够在后续的密钥恢复中更快速地进行密钥恢复,在第0轮知识传播中加入的新的初始约束,表示如下:
(3.4)为获得最小猜测基,目标函数设置为:
进一步地,步骤(5)所述根据得到的最小猜测基,完成对密码算法的密钥恢复并计算复杂度,其具体步骤如下:
(5.1)令最小猜测基K′的大小为k′,用Keyi表示密钥恢复第i(0≤i≤r-1)轮需要猜测的比特,大小为ki;Keyi′表示在第i轮中属于最小猜测基中的比特集合,ki′表示Keyi′中未知比特的数目(ki′≤ki);
(5.2)基于(5.1)的定义,设在向上和向下扩展中每轮密钥恢复中属于最小猜测基的比特集合分别表示为Key′u-1(1≤u≤r1)和Keyr′-v(1≤v≤r3),设u和v的初始值均为1;
(5.3)比较k′u-1和k′r-v,选择小的一方对应的轮数进行密钥恢复;在密钥恢复过程中,只需要猜测Key′u-1或Keyr′-v中的比特即可,其它需要猜测的比特均可通过最小猜测基中已知的比特通过密钥编排推导出来,该轮密钥恢复结束后,若选择的是k′u-1或k′v-1,则u=u+1或v=v+1;
(5.4)若u<r1或v<r3,转(5.3);否则,密钥恢复结束;
(5.5)假设经过n-1轮密钥恢复后,总共猜测了keyn-1比特,剩余明密文对数量为2m;在密钥恢复的第n轮,活跃S盒数目为sact,S盒总数为ssum,对keyn比特进行了猜测;若第n轮猜测了keyn比特,则第n轮的时间复杂度猜测完所有最小猜测基中的比特以后,假设主密钥中还有keyng比特未能恢复,则整个密钥恢复总的时间复杂度为/>若不使用最小猜测基,key′n-1(keyn-1≤key′n-1)表示前n-1轮猜测的密钥比特数目,则第n轮的时间复杂度则使用最小猜测基和未使用进行密钥恢复的时间复杂度之差为/>
本发明方法与背景技术方法不同的是:在原来的连接关系中加入等价关系,该关系能够有效补全原方法对密钥编排的刻画,同时,用这种关系对一些密钥编排操作进行约束刻画时,可以将原来的个不等式降到2n个不等式,且准确性更高。此外,构建新的初始约束,将最小猜测基中的元素限制在密钥恢复过程所涉及到的密钥比特中,便于后续密钥恢复攻击,使得最小猜测基结果可直接应用于密钥恢复攻击中从而进一步降低攻击复杂度。
本发明的有益效果是:
(1)本发明方法通过加入等价关系和新的初始约束对原有的MILP最小猜测基搜索模型进行改进,可以更加快速地搜索最小猜测基。
(2)本发明方法准确度高,适用于所有对称密码算法密钥恢复攻击中最小猜测基的搜索,通过最小猜测基能够有效降低密钥恢复攻击的复杂度。
附图说明
图1为本发明方法建立MILP模型流程图;
图2为本发明方法判别密钥编排的操作为何种连接关系的流程图;
图3为本发明方法根据最小猜测基进行密钥恢复流程图。
具体实施方式
下面结合实施例和附图对本发明内容作进一步的说明,但不是对本发明的限定。
实施例
基于最小猜测基的密钥恢复方法,包括如下步骤:
(1)在已知的区分器上,根据密码算法,对区分器进行向上和向下的扩展,根据每一轮的活跃S盒位置,找到能够进行猜测的密钥;
(2)根据密钥编排和猜测的密钥,构建连接关系,建立局部的MILP模型;
(3)根据猜测比特与知识传播迭代次数,设置初始约束并构建目标函数;
(4)使用求解器gurobi对MILP模型求解,得到最小猜测基;
(5)根据得到的最小猜测基,完成对密码算法的密钥恢复并计算复杂度。
步骤(1)所述对区分器进行扩展得到能够猜测的密钥,其具体步骤如下:
(1.1)根据密码算法,对选中的区分器进行向上和向下的扩展,假设区分器长度为r2,向上扩展r1轮,向下扩展r3轮,总轮数为r=r1+r2+r3;
当内部状态经过S盒时,由于S的差分和线性特性,一个输入对应多个输出,且一个输出对应多个输入,所以对于无法确定“0”和“1”的输入和输出比特位用“*”号表示;
扩展轮数根据“*”的情况确定,若扩展的下一轮为全“*”时,停止扩展;
(1.2)找到扩展轮中输入为非“0”的活跃S,根据密码算法,输入这些S盒的轮密钥就是能够猜测的密钥。
参照图1-2,步骤(2)所述在得到能够猜测的密钥以后,根据密钥编排建立连接关系,构建部分MILP模型,其具体步骤如下:
(2.1)构建对称关系:
对称关系常用来描述模加、异或操作下的密钥比特关系,该关系有如下特性,在给定的n个密钥比特中,如果其中一个密钥比特未知,其他均已知,那么这个未知比特通过这些已知推导得出;否则无法推导出;
因此,用表示密钥的已知或未知状态,当变量为0时,表示未知,为1时,表示已知,对称关系的约束不等式表示为:
(2.2)构建包含关系:
包含关系通常用来描述n个密钥比特S盒操作;若已知S盒输入的每一位比特,就能够推导出输出的每一位比特;而对于双射S盒,则根据S盒输出的每一位比特推导出输入的每一位比特;对于n比特S盒,令表示输入S盒的密钥比特的状态、表示输出S盒的密钥比特的状态,不等式约束关系为:
针对双射S盒,还需要添加以下不等式约束关系:
(2.3)由于Autoguess对密钥编排刻画的不完备,为了完善模型对密钥编排的刻画,加入了新的等价关系;等价关系是指在循环移位、拉线变换等操作的影响下,在连续的多轮轮密钥之间,所出现的等价或者相等比特的连接关系;在由等价关系连接起来的比特之间,如果有一个变量已知,那么这条关系链上的所有变量都已知;
假设在等价关系中有n个密钥比特,表示这些比特的已知或未知状态,则密钥编排操作中的等价关系的不等式约束如下:
参照图1,步骤(3)所述根据猜测比特与知识传播迭代次数,设置初始约束并构建目标函数,其具体步骤如下:
(3.1)构建知识传播:
用第r-1轮中的已知变量,通过连接关系推导出第r轮未知变量的过程,被称为知识传播;用X表示轮密钥中所有的状态变量,R表示状态变量之间的所有内在关系,则得到推理系统(X,R);以xi,j(0≤i≤n-1,0≤j≤r)表示xi(xi∈X)在推演过程中第j步的已知或未知状态,Xj表示一个包含了所有xi,j的集合,用xi,j,k表示在第j步的第k条关系能够推导出xi;用Path(xi,j)={xi,j,k:0≤k≤λ-1}表示所有xi,j,k的集合,且假设集合有λ个;当且仅当如下两个条件至少有一个满足时,xi,j才能等于1:
①xi,j-1=1,其表示xi在之前的步骤中是已知的;
②Path(xi,j)中的元素至少有一个等于1,其表示存在至少一条连接关系,使得在第j步xi能够通过之前的已知变量推导出来;由此可以得出第j步与第j-1步之间变量的关系,从而得到知识传播的约束不等式(0≤i≤n-1,0≤j≤r,0≤k≤λ-1)如下:
(3.2)构建初始条件约束:
假设进行了α次的知识传播,其表示成X0→X1→...→Xα;用集合K表示密钥恢复过程中涉及到的子密钥,|K|表示K中变量的数量;Kj表示在第j步所有属于K集合的xi的状态集合;在知识传播的过程中,希望X的最小猜测基中的元素数量小于g,并且在经过了α次的知识传播后,Kα中的元素的值尽可能都为1,则初始约束关系不等式为:
(3.3)构建新加入的初始约束:
在密钥恢复过程中,并不是所有轮密钥比特都可以进行猜测和验证,但是这些不能进行猜测和验证的密钥比特在寻找最小猜测基的过程中又能起到桥梁作用,将这些密钥比特构成的集合用Y表示,Yi表示Y集合在知识传播的第i轮中所有变量的状态;在知识传播的第0轮中,状态为1的密钥比特集合为最小猜测基,若上述密钥比特都被加入最小猜测基,则在后续的密钥恢复过程中很难进行猜测和验证,为了能够在后续的密钥恢复中更快速地进行密钥恢复,在第0轮知识传播中加入的新的初始约束,表示如下:
(3.4)为获得最小猜测基,目标函数设置为:
参照图3,步骤(5)所述根据得到的最小猜测基,完成对密码算法的密钥恢复并计算复杂度,其具体步骤如下:
(5.1)令最小猜测基K′的大小为k′,用Keyi表示密钥恢复第i(0≤i≤r-1)轮需要猜测的比特,大小为ki;Key′i表示在第i轮中属于最小猜测基中的比特集合,k′i表示Key′i中未知比特的数目(k′i≤ki);
(5.2)基于(5.1)的定义,设在向上和向下扩展中每轮密钥恢复中属于最小猜测基的比特集合分别表示为Key′u-1(1≤u≤r1)和Key′r-v(1≤v≤r3),设u和v的初始值均为1;
(5.3)比较k′u-1和k′r-v,选择小的一方对应的轮数进行密钥恢复;在密钥恢复过程中,只需要猜测Key′u-1或Key′r-v中的比特即可,其它需要猜测的比特均可通过最小猜测基中已知的比特通过密钥编排推导出来,该轮密钥恢复结束后,若选择的是k′u-1或k′v-1,则u=u+1或v=v+1;
(5.4)若u<r1或v<r3,转(5.3);否则,密钥恢复结束;
(5.5)假设经过n-1轮密钥恢复后,总共猜测了keyn-1比特,剩余明密文对数量为2m;在密钥恢复的第n轮,活跃S盒数目为sact,S盒总数为ssum,对keyn比特进行了猜测;若第n轮猜测了keyn比特,则第n轮的时间复杂度猜测完所有最小猜测基中的比特以后,假设主密钥中还有keyng比特未能恢复,则整个密钥恢复总的时间复杂度为/>若不使用最小猜测基,key′n-1(keyn-1≤key′n-1)表示前n-1轮猜测的密钥比特数目,则第n轮的时间复杂度则使用最小猜测基和未使用进行密钥恢复的时间复杂度之差为/>
本发明基于最小猜测基的密钥恢复新方法的核心在于对在密钥恢复攻击过程中涉及到的密钥比特,通过密钥编排,找到连接关系构建MILP模型,然后通过求解器求解得到最小猜测基,进而通过最小猜测基进行密钥恢复有效地降低时间复杂度。
Claims (5)
1.基于最小猜测基的密钥恢复方法,其特征在于,包括如下步骤:
(1)在已知的区分器上,根据密码算法,对区分器进行向上和向下的扩展,根据每一轮的活跃S盒位置,找到能够进行猜测的密钥;
(2)根据密钥编排和猜测的密钥,构建连接关系,建立局部的MILP模型;
根据密钥编排算法和猜测的密钥,在包含关系和对称关系基础上,新增等价关系,构建更加完备的连接关系,建立相应的约束不等式,并以之建立局部的MILP模型;
(3)根据猜测比特与知识传播迭代次数,设置初始约束并构建目标函数;
为了找到最小猜测基,根据知识传播迭代次数,设置初始约束;
为了方便密钥恢复,加入了新的约束不等式,该约束能将最小猜测基中的元素限制在密钥恢复过程所涉及到的密钥比特中;
构建目标函数,建立完整的MILP模型;
(4)使用求解器gurobi对MILP模型求解,得到最小猜测基;
(5)根据得到的最小猜测基,完成对密码算法的密钥恢复并计算复杂度。
2.根据权利要求1所述的基于最小猜测基的密钥恢复方法,其特征在于:
步骤(1)所述对区分器进行扩展得到能够猜测的密钥,其具体步骤如下:
(1.1)根据密码算法,对选中的区分器进行向上和向下的扩展,假设区分器长度为r2,向上扩展r1轮,向下扩展r3轮,总轮数为r=r1+r2+r3;当内部状态经过S盒时,由于S的差分和线性特性,一个输入对应多个输出,且一个输出对应多个输入,所以对于无法确定“0”和“1”的输入和输出比特位用“*”号表示;扩展轮数根据“*”的情况确定,若扩展的下一轮为全“*”时,停止扩展;
(1.2)找到扩展轮中输入为非“0”的活跃S,根据密码算法,输入这些S盒的轮密钥就是能够猜测的密钥。
3.根据权利要求1所述的基于最小猜测基的密钥恢复方法,其特征在于:
步骤(2)所述在得到能够猜测的密钥以后,根据密钥编排建立连接关系,构建部分MILP模型,其具体步骤如下:
(2.1)构建对称关系:
对称关系常用来描述模加、异或操作下的密钥比特关系,该关系有如下特性,在给定的n个密钥比特中,如果其中一个密钥比特未知,其他均已知,那么这个未知比特通过这些已知推导得出;否则无法推导出;
因此,用表示密钥的已知或未知状态,当变量为0时,表示未知,为1时,表示已知,对称关系的约束不等式表示为:
(2.2)构建包含关系:
包含关系通常用来描述n个密钥比特S盒操作;若已知S盒输入的每一位比特,就能够推导出输出的每一位比特;而对于双射S盒,则根据S盒输出的每一位比特推导出输入的每一位比特;对于n比特S盒,令0≤i≤n-1,表示输入S盒的密钥比特的状态、/>0≤i≤n-1,表示输出S盒的密钥比特的状态,不等式约束关系为:
针对双射S盒,还需要添加以下不等式约束关系:
(2.3)由于Autoguess对密钥编排刻画的不完备,为了完善模型对密钥编排的刻画,加入了新的等价关系;等价关系是指在循环移位、拉线变换等操作的影响下,在连续的多轮轮密钥之间,所出现的等价或者相等比特的连接关系;在由等价关系连接起来的比特之间,如果有一个变量已知,那么这条关系链上的所有变量都已知;
假设在等价关系中有n个密钥比特,xi e,0≤i≤n-1,表示这些比特的已知或未知状态,则密钥编排操作中的等价关系的不等式约束如下:
4.根据权利要求1所述的基于最小猜测基的密钥恢复方法,其特征在于:
步骤(3)所述根据猜测比特与知识传播迭代次数,设置初始约束并构建目标函数,其具体步骤如下:
(3.1)构建知识传播:
用第r-1轮中的已知变量,通过连接关系推导出第r轮未知变量的过程,被称为知识传播;用X表示轮密钥中所有的状态变量,R表示状态变量之间的所有内在关系,则得到推理系统(X,R);以xi,j,0≤i≤n-1,0≤j≤r,表示xi(xi∈X)在推演过程中第j步的已知或未知状态,Xj表示一个包含了所有xi,j的集合,用xi,j,k表示在第j步的第k条关系能够推导出xi;用Path(xi,j)={xi,j,k:0≤k≤λ-1}表示所有xi,j,k的集合,且假设集合有λ个;当且仅当如下两个条件至少有一个满足时,xi,j才能等于1:
①xi,j-1=1,其表示xi在之前的步骤中是已知的;
②Path(xi,j)中的元素至少有一个等于1,其表示存在至少一条连接关系,使得在第j步xi能够通过之前的已知变量推导出来;由此可以得出第j步与第j-1步之间变量的关系,从而得到知识传播的约束不等式如下,式中,0≤i≤n-1,0≤j≤r,0≤k≤λ-1;
(3.2)构建初始条件约束:
假设进行了α次的知识传播,其表示成X0→X1→...→Xα;用集合K表示密钥恢复过程中涉及到的子密钥,|K|表示K中变量的数量;Kj表示在第j步所有属于K集合的xi的状态集合;在知识传播的过程中,希望X的最小猜测基中的元素数量小于g,并且在经过了α次的知识传播后,Kα中的元素的值尽可能都为1,则初始约束关系不等式为:
(3.3)构建新加入的初始约束:
在密钥恢复过程中,并不是所有轮密钥比特都可以进行猜测和验证,但是这些不能进行猜测和验证的密钥比特在寻找最小猜测基的过程中又能起到桥梁作用,将这些密钥比特构成的集合用Y表示,Yi表示Y集合在知识传播的第i轮中所有变量的状态;在知识传播的第0轮中,状态为1的密钥比特集合为最小猜测基,若上述密钥比特都被加入最小猜测基,则在后续的密钥恢复过程中很难进行猜测和验证,为了能够在后续的密钥恢复中更快速地进行密钥恢复,在第0轮知识传播中加入的新的初始约束,表示如下:
(3.4)为获得最小猜测基,目标函数设置为:
5.根据权利要求1所述的基于最小猜测基的密钥恢复方法,其特征在于:步骤(5)所述根据得到的最小猜测基,完成对密码算法的密钥恢复并计算复杂度,其具体步骤如下:
(5.1)令最小猜测基K′的大小为k′,用Keyi表示密钥恢复第i,0≤i≤n-1,轮需要猜测的比特,大小为ki;Key′i表示在第i轮中属于最小猜测基中的比特集合,k′i表示Key′i中未知比特的数目,k′i≤ki;
(5.2)基于(5.1)的定义,设在向上和向下扩展中每轮密钥恢复中属于最小猜测基的比特集合分别表示为Key′u-1,1≤u≤r1,和Key′r-v,1≤v≤r3,,设u和v的初始值均为1;
(5.3)比较k′u-1和k′r-v,选择小的一方对应的轮数进行密钥恢复;在密钥恢复过程中,只需要猜测Key′u-1或Key′r-v中的比特即可,其它需要猜测的比特均可通过最小猜测基中已知的比特通过密钥编排推导出来,该轮密钥恢复结束后,若选择的是k′u-1或k′v-1,则u=u+1或v=v+1;
(5.4)若u<r1或v<r3,转(5.3);否则,密钥恢复结束;
(5.5)假设经过n-1轮密钥恢复后,总共猜测了keyn-1比特,剩余明密文对数量为2m;在密钥恢复的第n轮,活跃S盒数目为sact,S盒总数为ssum,对keyn比特进行了猜测;若第n轮猜测了keyn比特,则第n轮的时间复杂度 猜测完所有最小猜测基中的比特以后,假设主密钥中还有keyng比特未能恢复,则整个密钥恢复总的时间复杂度为/> 若不使用最小猜测基,key′n-1(keyn-1≤key′n-1)表示前n-1轮猜测的密钥比特数目,则第n轮的时间复杂度/>则使用最小猜测基和未使用进行密钥恢复的时间复杂度之差为Δ/>
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311004320.XA CN116938437A (zh) | 2023-08-10 | 2023-08-10 | 一种基于最小猜测基的密钥恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311004320.XA CN116938437A (zh) | 2023-08-10 | 2023-08-10 | 一种基于最小猜测基的密钥恢复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938437A true CN116938437A (zh) | 2023-10-24 |
Family
ID=88384395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311004320.XA Pending CN116938437A (zh) | 2023-08-10 | 2023-08-10 | 一种基于最小猜测基的密钥恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938437A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155546A (zh) * | 2023-10-27 | 2023-12-01 | 苏州元脑智能科技有限公司 | 分组密码类立方攻击的搜索方法、装置、电子设备及介质 |
-
2023
- 2023-08-10 CN CN202311004320.XA patent/CN116938437A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155546A (zh) * | 2023-10-27 | 2023-12-01 | 苏州元脑智能科技有限公司 | 分组密码类立方攻击的搜索方法、装置、电子设备及介质 |
CN117155546B (zh) * | 2023-10-27 | 2024-02-09 | 苏州元脑智能科技有限公司 | 分组密码类立方攻击的搜索方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116938437A (zh) | 一种基于最小猜测基的密钥恢复方法 | |
US11334353B2 (en) | Multiparty computation method, apparatus and program | |
CN110324147B (zh) | 基于混沌模型的gan博弈对抗加密方法 | |
Shrimpton et al. | Building a collision-resistant compression function from non-compressing primitives | |
Pradel et al. | Privacy-preserving biometric matching using homomorphic encryption | |
Mendel et al. | Collision attacks on the reduced dual-stream hash function RIPEMD-128 | |
CN111756521A (zh) | 基于Feistel-SP结构的密码S盒设计方法 | |
CN109218008B (zh) | 一种针对sm4密钥扩展算法的模板攻击方法 | |
Xu et al. | Do NOT misuse the markov cipher assumption-automatic search for differential and impossible differential characteristics in ARX ciphers | |
CN115514488A (zh) | 基于伊辛模型的大整数分解问题映射方法及系统 | |
Datta et al. | Improved security bound of (E/D) WCDM | |
CN116599657A (zh) | 一种基于二维贝尔态的多方半量子秘密大小性比较方法 | |
CN108270548B (zh) | 一种Grain型流密码的判别方法 | |
CN112134679B (zh) | 针对sm4的组合高阶侧信道攻击方法、装置、设备及介质 | |
CN117857020A (zh) | 以milp模型可解为判定条件的最优不可能差分分析方法 | |
Molotkov | Quantum key distribution as a scheme with Bernoulli tests | |
Kasselman et al. | Cryptanalysis of reduced version of HAVAL | |
Tang et al. | Toward reverse engineering on secret S-boxes in block ciphers | |
Guo et al. | Differential power analysis on dynamic password token based on SM3 algorithm, and countermeasures | |
EP4335050A1 (en) | Methods and systems for a 2-qubit multi-user quantum key distribution protocol | |
Sovyn et al. | Minimization of Bitsliced Representation of 4× 4 S-Boxes based on Ternary Logic Instruction | |
Lin et al. | The differential meet-in-the-middle attack on FUTURE and CRAFT | |
CN108111296B (zh) | 一种Hitag2密码的破解方法和防御方法 | |
CN118278034B (zh) | 基于数据库切换用户验证的数据加密方法及系统 | |
Dwivedi et al. | Differential Cryptanalysis in ARX Ciphers with specific applications to LEA |
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 |