6轮Square密码算法的中间相遇攻击
- 格式:pdf
- 大小:1.29 MB
- 文档页数:5
几个国际标准分组密码算法的安全性分析分组密码是加解密双方用同一密钥进行加密和解密运算的密码算法,是保障数据机密性与完整性的重要技术。
分组密码的安全性分析有利于发现算法中存在的不足,以确保算法在实际应用中的安全,并指导新的算法设计。
上世纪末,随着美国AES计划[1]、欧洲NESSIE计划[2]和日本CRYPTREC计划[3]的相继实施,对相应标准密码算法的安全性分析被国际密码学者广泛关注,极大地推动了分组密码分析与设计工作的发展。
本文主要对三个国际标准分组密码算法AES、Camellia和CLEFIA的安全性进行分析,提出一些有意义的密码学性质,并与国际上最前沿的分析结果相比得到最优的结果。
1、分组密码AES的安全性分析分组密码Rijndael是由两位比利时密码学者Daemen和Rijmen于1997年设计,并于2000年10月被美国国家标准和技术研究所(NIST)公布为高级加密标准AES (Advanced Encryption Standard)。
之后,AES 被CRYPTREC工程和NESSIE工程推荐,并由国际标准化组织(ISO)选定为国际标准ISO/IEC18033-3。
AES的分组长度为128比特,采用SPN结构,密钥长度有128比特、192比特和256比特三个版本,本文分别用AES-128、AES-192与AES-256表示。
AES的中间相遇攻击是由Demirci和Selcuk于2008年FSE会议上提出[7],他们利用4轮AES区分器给出了7轮AES-192和8轮AES-256的分析结果。
在2010年亚密会上,Dunkelman, Keller和Shamir提出了差分列举技术思想和Multiset技术,有效的减少了Demirci和Selquk攻击的存储和时间复杂度。
同时,利用数据/时间/存储折衷技术给出了7轮AES-128的中间相遇分析结果。
在2013年欧密会上,Derbez, Fouque和Jean利用Hash函数分析中的反弹(Rebound)技术,极大减少了Dunkelman等人攻击的时间和存储复杂度。
《现代密码学习题》答案第一章判断题×√√√√×√√选择题1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。
A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。
A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。
A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击填空题:5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。
7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。
8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。
9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。
10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第二章判断题:×√√√选择题:1、字母频率分析法对(B )算法最有效。
A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。
A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。
南开大学21秋学期《密码学》在线作业下面属于对称算法的是()-A数字签名-B序列算法-CRSA算法-D数字水印上题正确答案:BCA的主要功能为()-A确认用户的身份-B为用户提供证书的申请、下载、查询、注销和恢复等操作-C定义了密码系统使用的方法和原则-D负责发放和管理数字证书上题正确答案:D以下有关软件加密和硬件加密不正确的是()-A硬件加密对用户是透明的,而软件加密需在操作系统或软件中写入加密程序-B硬件加密的兼容性比软件加密好-C硬件加密的安全性比软件加密好-D硬件加密的速度比软件加密快上题正确答案:BSMS4加密算法中只用到了一个S-盒,其输入是()比特位。
-A4-B6-C8-D16上题正确答案:C1949年,Shannon证明了只有一种密码算法是绝对安全的,这种密码算法是()-A Vernman密码-B一次一密密码-CRC4密码-DRC6密码上题正确答案:B若有一个序列的周期为15,则至少需要()级的线性反馈移位寄存器才能产生该序列-A3-B4-C5-D6上题正确答案:B在RSA密码算法中,选p=11,q=23,则模n的欧拉函数φ(n)的值为()-A253-B220-C139-D5上题正确答案:C在多重DES算法中,二重DES可以采用两个56比特的密钥进行加密,从而可以抵抗穷举密钥的攻击,但它易遭受下列哪种攻击()-A穷举密钥攻击-B字母频率攻击-C中间相遇攻击-D差分攻击上题正确答案:C加密有对称密钥加密、非对称密钥加密两种,数字签名采用的是()。
-A对称密钥加密-B非对称密钥加密上题正确答案:B在RSA密码算法中,选加密密钥e=139,若欧拉函数φ(n)的值为220,则解密密钥d为() -A11-B19-C23-D253上题正确答案:BElGamal算法是一种基于()的公钥体系。
-A素数不能分解-B离散对数困难性问题-C大数分解困难性假设-D背包问题上题正确答案:BSMS4加密算法中每一轮都需要用到一个子密钥,则每一个子密钥的长度是()比特位。
square分组密码算法
Square分组密码算法是一种对称密钥加密算法。
它的主要特点是使用代数结构来提供安全性,而不是使用传统的基于位操作的方法。
Square分组密码算法的主要步骤如下:
1. 初始化:选择一个随机的密钥,并将其用于生成密钥调度表。
这个表包含了加密过程中需要使用的所有信息。
2. 分组:将明文数据分组,每组包含一个固定数量的比特。
在Square 算法中,分组大小通常为40比特。
3. 加密:使用密钥调度表和一些代数操作(例如乘法和加法)来加密明文数据。
4. 解密:使用相同的密钥调度表和一些代数操作来解密密文数据。
Square算法的主要优点是它的安全性基于代数结构,而不是传统的位操作。
这意味着它能够抵抗某些类型的攻击,例如侧信道攻击和定时攻击。
然而,Square算法也有一些缺点。
首先,它需要使用大量的代数运算,这可能会导致加密和解密的速度变慢。
其次,它的分组大小相对较小,这可能导致一些安全问题。
一一、是非判断题(10分)1.差分分析是一种攻击迭代密码体制的选择明文攻击方法,所以,对于DES和AES都有一定的攻击效果。
(对)2.反馈移位寄存器输出序列生成过程中,抽头位对输出周期长度的影响起着决定性的作用,而初态对输出周期长度没影响。
(对)二、选择题(15分)1.公钥密码体制至少能抵御的攻击是(C.选择明文攻击)2.适合文件加密,而且有少量错误时不会造成同步失败,是软件加密的最好选择,这种分组密码的操作模式是指(D.输出反馈模式)3.按目前的计算能力,RC4算法的密钥长度至少应为(C.128)位才能保证安全强度。
4.密钥在其生命生命周期中处于不同的状态,每种状态包含若干时期,那么密钥备份时期是密钥处于(B.使用状态)5.量子密码更适合实现下面哪项密码技术。
(D.密钥分发)6.当用户收到一个证书是,应当从(C.CRL)中检查证书是否已经被撤销。
(CRL:证书撤销列表)A.在PKI中,关于RA的功能,下面说法正确的是(B.验证申请者身份)。
7.数字水印是信息隐藏技术研究领域的重要分支,现主要应用领域是(A.版权保护)8.在DES算法中,如果给定初始密钥K,经子密钥产生器产生的各个子密钥都相同,则称该密钥K为弱密钥,DES算法中弱密钥的个数为(B.4个)。
9.生日攻击是针对于下面哪种密码算法的分析方法(D.MD5)。
10.指数积分法是针对下面哪种密码算法的分析方法(C.ElGamal)11.密钥存档是密钥处于(C.过期状态)三、填空题(15分)1.关于DES算法的安全性,若Ek(m)=Dk(m),则这样的密钥称为弱密钥,又其互补性使DES在选择明文攻击下所需的工作量减半。
2.选择合适的n级线性反馈移位寄存器可使序列的周期达到最大值2^n-1,这样序列称为m 序列,但敌手知道这序列中一段长为 n 的明密文对即能破译其后序列的密文。
3.密钥分配和协商的最大区别是:密钥分配是通信双方中一方或密钥分配中心选取一个秘密密钥发给双方,而密钥协商是保密通信双方(或更多方)通过公开信道的通信来共同形成秘密密钥的过程。
第32卷第1期电子与信息学报Vol.32No.1 2010年1月 Journal of Electronics & Information Technology Jan. 20103D密码的Square攻击王美一①唐学海①李超①屈龙江①②①(国防科技大学数学与系统科学系长沙 410073)②(东南大学移动通信国家重点实验室南京 210096)摘要:3D密码是CANS 2008提出的新的分组密码算法,与以往的分组密码算法不同,该密码采用3维结构。
该文根据3D密码的结构特性,得到了3D密码的5.25轮和6.25轮新的Square区分器,重新评估了其抗Square 攻击的强度。
攻击结果表明:新区分器对6轮3D密码攻击的数据复杂度和时间复杂度比已有的结果好,并且还可应用到7轮,8轮和9轮的3D密码攻击中。
关键词:分组密码;3D密码;Square攻击中图分类号:TN918.1 文献标识码:A 文章编号:1009-5896(2010)01-0157-05 DOI: 10.3724/SP.J.1146.2008.01846Square Attacks on 3D CipherWang Mei-yi① Tang Xue-hai①Li Chao① Qu Long-jiang①②①(Department of Mathematics and System Science, National University of Defense Technology, Changsha 410073, China)②(National Mobile Communications Research Laboratory, Southeast University, Nanjing 210096, China)Abstract:3D cipher is a new block cipher proposed in CANS 2008. It is different from all known block cipher as it uses the three dimension structure. According to the structure properties of 3D cipher, a new 5.25-round and a new6.25-round square distinguishers are presented, and the square attacks on reduced- round 3D are improved.Attacking results demonstrate that 6-round attack is better than the known square attacks in data complexity and time complexity. Moreover, these two new distinguishers can be applied to 7/8/9-round 3D cipher.Key words:Block cipher;3D cipher; Square attack1引言3D密码是Nakahara Jr. J在CANS 2008上提出的一种新的SPN型分组密码算法[1],其主要设计思想来源于AES密码[2]。
浅谈中途相遇攻击--meet-in-the-middleattack
貌似挖的坑也够多了。
好多都没填,这篇最后会不会TJ还得看⼼情TUT
看过⼤⽩书的⼈应该都会发现⼀种神奇的算法:中途相遇法。
(在第58页)这种算法将以空间换时间的思路运⽤到了极致,但事实上它在密码学中的作⽤更⼤
DES在过去的很长时间⾥都是作为标准出现的,⼈们花了很多⼒⽓都没有发现它有什么唯密⽂攻击的⽅法(当然,当密钥恰巧为很少的⼏个弱密钥时是可⾏的TUT 不过我们不考虑这种情况),只有暴⼒破解这⼀条道。
你如果去⾃习查看下它S-box的构造,肯定为赞赞叹它算法的精妙
DES⼀共有64bit密钥,其中56bit是需要我们⼿动设置的,剩下8位为奇偶校验位。
因此暴⼒破解的话最坏情况下需要2^56次⽅!!但在各种⼤触计算机层出不穷的今天,在⼗⼏个⼩时内破解DES也成为了可⾏,这才有了AES招标的这⼀出
但在那之前就有⼈提出了DES的改进,即三重DES。
那问题就来了,⼆重DES你需要设置的密钥为112bit(56*2),那⼆重DES是否可⾏?
你也许会想,这时破解需要计算的的次数为2^112,这和2^56次⽅⽐⼏乎是天⽂数字,⼜何必三重DES呢?但事实上,只要制造出的计算机内存够⼤,我们就能以空间换时间,仅计算2^57就能破解⼆重DES。
其中⽤到的就是中途相遇攻击。
在我看来,中途相遇攻击其实和hash攻击中的⽣⽇攻击很类似。
针对密码协议的常见攻击方法密码协议是一种用于保护通信中的数据安全的方法。
它通过对数据进行加密和解密,使得只有授权的用户能够访问和使用这些数据。
然而,密码协议并非完美的,它们可能会受到各种攻击手段的威胁。
下面介绍一些常见的针对密码协议的攻击方法。
1. 重放攻击(Replay Attack):在重放攻击中,攻击者截获了一个或多个通信中的消息,并将其重新发送给目标。
这种攻击可以导致目标无法区分真实的消息和重复的消息,从而可能导致数据泄露或身份伪造。
2. 中间人攻击(Man-in-the-Middle Attack):中间人攻击是一种攻击者通过截获和篡改通信流量来获取信息的方法。
攻击者可以伪装成合法的通信方,并在其与通信方之间进行信息交流。
这样,攻击者可以窃取通信中的敏感信息,或者篡改通信内容。
3. 字典攻击(Dictionary Attack):字典攻击是一种通过尝试大量的可能密码组合来破解密码的方法。
攻击者使用一个事先准备好的密码字典,将其中的密码逐个尝试,直到找到正确的密码。
这种攻击方法强调了密码的强度与复杂性的重要性。
4. 差分攻击(Differential Attack):差分攻击是一种针对加密算法的攻击方法,攻击者通过对不同输入的加密结果之间的差异进行分析,来推断出加密算法的一些关键细节或密钥信息。
这种攻击方法通常需要大量的样本数据和高度专业的分析技术。
5. 肉眼攻击(Shoulder Surfing):肉眼攻击是一种直接观察密码输入过程的攻击方法。
攻击者可能站在密码输入者的背后,或者通过监控摄像头等手段来观察到密码输入的过程。
这种攻击方式不需要依赖计算机技术,而是依靠人类的视觉观察。
为了应对这些攻击方法,设计密码协议时需要考虑以下几点:1. 身份验证:使用可靠的身份验证方法,例如使用双因素身份验证,可以有效防止中间人攻击和字典攻击。
2. 安全传输:采用可靠的加密算法和协议来确保通信数据的机密性和完整性。
《现代密码学》练习题(含答案)一、填空题(每空1分,共7分)1. 加密算法的功能是实现信息的保密性。
2. 数据认证算法的功能是实现数据的完整性即消息的真实性。
3. 密码编码学或代数中的有限域又称为伽罗华(Galois)域。
记为GF(pn)4. 数字签名算法可实现不可否认性即抗依赖性。
信息安全基本要求:可用性、保密性、完整性、不可否认性、可控性、真实性。
5. Two-Track-MAC算法基于带密钥的RIPEMD-160。
密钥和输出MAC值都是20B6. AES和Whirlpool算法是根据宽轨迹策略设计的。
7. 序列密码的加密的基本原理是:用一个密钥序列与明文序列进行叠加来产生密文。
8. Rabin密码体制是利用合数模下求解平方根的困难性构造了一种非对称/公钥/双钥密码体制。
1. 现代对称密码的设计基础是:扩散和混淆。
2. 加密和解密都是在密钥控制下进行的。
3. 在一个密码系统模型中,只截取信道上传送信息的攻击方式被称为被动攻击。
4. Caesar密码体制属于单表代换密码体制。
(字母平移)5. 尽管双重DES不等价于使用一个56位密钥的单重DES,但有一种被称为中途相遇攻击的破译方法会对它构成威胁。
(成倍减少要解密的加密文本)6. 设计序列密码体制的关键就是要设计一种产生密钥流的方法。
2. 椭圆曲线密码是利用有限域GF(2n)上的椭圆曲线上点集所构成的群上定义的离散对数系统,构造出的公钥/非对称密码体制。
3. 在公钥密码体制中,加密密钥和解密密钥是不一样的,加密密钥可以公开传播而不会危及密码体制的安全性。
2. 密码学上的Hash函数是一种将任意长度的消息压缩为某一固定长度的消息摘要的函数。
3. 数字签名主要是用于对数字消息进行签名,以防止消息的伪造或篡改,也可以用于通信双方的身份认证。
2. CTR/计数器加密模式与CBC认证模式组合构成CCM模式;GMAX算法与CTR加密模式组合构成GCM模式。
密码科学技术国家重点实验室开放课题2018年度申请指南本着“开放、流动、联合、竞争”的建设方针,实验室面向全国高等院校、科研机构和其它相关单位设立开放课题基金,支持密码及相关交叉领域的基础性和前沿性研究,欢迎并鼓励多个团队就某一方向联合申请。
申请方向及研究内容如下(申请人可以对申请方向的部分研究内容开展研究):1.密钥同态伪随机函数及其应用构造基于LWE(Learning with Error)、LPN(Learning Parity with Noise)的可证明安全的密钥同态伪随机函数,并设计基于该伪随机函数的一些应用,如对称密钥代理重加密、分布式伪随机函数、可更新加密并用于不经意传输扩展等。
2.抗量子攻击的伪随机数发生器及伪随机函数研究构造可以抵抗量子计算攻击、低电路复杂度的伪随机函数、伪随机数发生器和随机性提取器;研究包括LWR(Learning with Rounding)等数学问题在内的几个常用问题在经典计算和量子计算下的安全强度;完善量子随机预言机模型的理论,并研究以上随机性构件和底层数学困难问题在该模型下的安全强度。
3.密码学困难问题研究对密码学中的一些基础理论问题:如大整数分解问题、离散对数问题、格困难问题、椭圆曲线同源计算、多变元代数方程组求解、纠错码译码等的困难性进行研究,给出更优求解算法;探索提出新的困难问题并给出密码学应用。
4.非交互零知识证明研究研究非交互零知识证明在各种安全模型下基于不同假设的高效构造;针对一些经典的非交互零知识证明,建立它们与可抽取单向函数之间的联系,探索利用非交互零知识证明构造可抽取单向函数;研究简洁非交互零知识证明(snark)的构造,探索snark 在金融科技等方面的应用。
5.安全多方计算的轮复杂性理论研究研究安全多方计算(MPC)协议的准确轮复杂性(交互的最优轮数);突破自适应安全MPC协议的设计理论;针对在Plain 模型下安全的MPC协议开展研究;研究达到最优轮数、且基于标准假设可证明安全的MPC协议。
6轮Square密码算法的中间相遇攻击李蒙福;苏凡军【摘要】Block ciphers are characterized by their high speed, easy standardization and hardware and software implementation, usually as the core system of data encryption, digital signature, authentication and key management in information and network security. It is difficult to separate the security analysis and design of cryptographic algorithms. On the one hand, in the process of ciphers security analysis, experience can be accumulated for the design of more secure ciphers. On the other hand, in the design of cryptographic algorithms, there will be a lot of practical significance of technology and application value of knowledge. SPN block ciphers are an important part of block ciphers, which is of great significance to be studied and analyzed. Square is a block cipher with substitution-permutation network, which operates on 128-bit blocks and 128-bit keys. By studying the structural characteristics and the properties of truncated differential of Square, we construct a 4-round meet-in-the middle distinguisher by using differential enumeration technique and multiple sets, and give a meet-in-the-middle attack on 6-round Square. The new distinguisher is determined by 10 parameters. Based on the new distinguisher, we extend the meet-in-the-middle attack on 6-round Square for the first time with 2109 chosen plantexts, 2109 computations and284memories.%分组密码具有速度快、易于标准化和便于软硬件实现等特点,通常是信息和网络安全中实现数据加密、数字签名、认证及密钥管理的核心体制.密码算法的安全性分析与设计两者难以分离,一方面,在对密码进行安全性分析的过程中,可以为设计出更加安全的密码积累经验,另一方面,在密码算法的设计中也会涉及很多具有现实意义的技术和应用价值的知识.作为分组密码的一个重要组成部分—SPN型分组密码,对其进行研究和分析具有很大的现实意义.Square是SPN型分组密码其中之一,其密钥长和分组长都为128 bit.通过研究Square算法的结构特征和一类截断差分的性质,利用差分枚举技术和多重集构造了Square算法的4轮中间相遇区分器,给出了对6轮Square密码算法的中间相遇攻击.新的区分器由10个参数决定.基于新的区分器,实现了对6轮Square算法的中间相遇攻击,攻击数据复杂度为2109,时间复杂度为2109,存储复杂度为284.【期刊名称】《计算机技术与发展》【年(卷),期】2019(029)003【总页数】5页(P106-110)【关键词】Square密码;差分枚举;多重集;中间相遇攻击【作者】李蒙福;苏凡军【作者单位】上海理工大学光电信息与计算机工程学院, 上海 200093;上海理工大学光电信息与计算机工程学院, 上海 200093【正文语种】中文【中图分类】TN918.11 概述随着信息技术的高速发展,数据安全的问题愈加凸显。
2021575分组密码算法是对称密码算法中非常重要的一大类。
它的安全性分析方法可以分为直接分析和间接分析两种,其中直接分析指的是利用数学、计算机等工具直接对密码算法本身的安全性进行分析[1-3],而间接分析指的是利用密码算法在密码设备中运行时泄露的信息进行分析[4-6],间接分析又称为侧信道分析。
很多密码学者在设计分组密码算法时,会考虑密码算法对侧信道攻击的抵抗能力。
为了有效抵抗侧信道攻击,2014年,Grosso等人[7]在“快速软件加密”会议上设计了一类新的分组密码算法族——基于LS设计的算法族。
该算法族采用比特切片设计,设计者根据该设计思想给出了两个具体的分组密码算法,一个是非对合的分组密码算法Fantomas,另外一个是对合的分组密码算法Robin。
Robin算法采用SP结构,其线性组件和非线性组件均是对合的。
不可能差分攻击是目前针对分组密码算法最有效的攻击方法之一,它对包括AES、SMS4、Camellia、ARIA、SIMON、SKINNY、Piccolo等[8-14]在内的许多分组密码算法的安全性分析效果显著。
该攻击方法由Knudsen[15]和Biham等人[16]独立提出,它由不可能差分构造和密钥恢复两个阶段组成,其中前者需要构造尽可能长的不可能差分区分器,后者利用已构造的区分器进行密钥恢复得⦾网络、通信与安全⦾Robin算法改进的6轮不可能差分攻击沈璇,王欣玫,何俊,孙志远国防科技大学信息通信学院,武汉430010摘要:Robin算法是Grosso等人在2014年提出的一个分组密码算法。
研究该算法抵抗不可能差分攻击的能力。
利用中间相错技术构造一条新的4轮不可能差分区分器,该区分器在密钥恢复阶段涉及到的轮密钥之间存在线性关系,在构造的区分器首尾各加一轮,对6轮Robin算法进行不可能差分攻击。
攻击的数据复杂度为2118.8个选择明文,时间复杂度为293.97次6轮算法加密。
与已有最好结果相比,在攻击轮数相同的情况下,通过挖掘轮密钥的信息,减少轮密钥的猜测量,进而降低攻击所需的时间复杂度,该攻击的时间复杂度约为原来的2−8。
密码编码学与网络安全(全)1.1 什么是OSI安全体系结构OSI安全体系结构是一个架构,它为规定安全(de)要求和表征满足那些要求(de)途径提供了系统(de)方式.该文件定义了安全攻击、安全机理和安全服务,以及这些范畴之间(de)关系.1.2 被动安全威胁和主动安全威胁之间(de)差别是什么被动威胁必须与窃听、或监控、传输发生关系.电子邮件、文件(de)传送以及用户/服务器(de)交流都是可进行监控(de)传输(de)例子.主动攻击包括对被传输(de)数据加以修改,以及试图获得对计算机系统未经授权(de)访问.1.4验证:保证通信实体之一,它声称是.访问控制:防止未经授权使用(de)资源(即,谁可以拥有对资源(de)访问,访问在什么条件下可能发生,那些被允许访问(de)资源做这个服务控制).数据保密:保护数据免受未经授权(de)披露.数据完整性:保证接收到(de)数据是完全作为经授权(de)实体(即包含任何修改,插入,删除或重播)发送.不可否认性:提供保护反对否认曾参加全部或部分通信通信中所涉及(de)实体之一.可用性服务:系统属性或访问和经授权(de)系统实体(de)需求,可用(de)系统资源,根据系统(即系统是可用(de),如果它提供服务,根据系统设计,只要用户要求(de)性能指标它们).第二章1.什么是对称密码(de)本质成分明文、加密算法、密钥、密文、解密算法.4.分组密码和流密码(de)区别是什么流密码是加密(de)数字数据流(de)一个位或一次一个字节.块密码是明文块被视为一个整体,用来产生一个相同长度(de)密文块......分组密码每次处理输入(de)一组分组,相应(de)输出一组元素.流密码则是连续地处理输入元素,每次输出一个元素.6.列出并简要定义基于攻击者所知道信息(de)密码分析攻击类型.惟密文攻击:只知道要解密(de)密文.这种攻击一般是试遍所有可能(de)密钥(de)穷举攻击,如果密钥空间非常大,这种方法就不太实际.因此攻击者必须依赖于对密文本身(de)分析,这一般要运用各种统计方法.已知明文攻击:分析者可能得到一个或多个明文消息,以及它们(de)密文.有了这些信息,分析者能够在已知明文加密方式(de)基础上推导出某些关键词.选择明文攻击:如果分析者有办法选择明文加密,那么他将特意选去那些最有可能恢复出密钥(de)数据.第三章思考题3.2分组密码和溜密码(de)差别是什么流密码是加密(de)数字数据流(de)一个位或一次一个字节.块密码是明文块被视为一个整体,用来产生一个相同长度(de)密文块.3.5混淆和扩散(de)差别是什么明文(de)统计结构中(de)扩散,成密文(de)远射统计消退.这是通过有每个明文两位数(de)影响许多密文数字,这相当于说,每个密文数字被许多明文数字影响(de)价值.混乱旨在使密文和加密密钥(de)尽可能复杂,再次挫败企图发现(de)关键值(de)统计之间(de)关系.因此,即使攻击者可以得到一些手柄上(de)密文,在其中(de)关键是使用(de)方式产生(de)密文是如此复杂,使其很难推断(de)关键统计.这是通过使用一个复杂(de)替换算法.3.8 解释什么是雪崩效应雪崩效应是任何加密算法等明文或关键(de)一个小(de)变化产生显着(de)变化,在密文(de)财产.3.9差分分析与线性分析(de)区别是什么差分密码分析是一项技术,特别是异差模式(de)选择明文被加密.差异所产生(de)密文(de)模式提供信息,可以用来确定加密密钥.线性密码分析(de)基础上寻找线性近似描述块密码进行转换.第四章习题4.19 (1)3239 (2)GCD(40902,24240)=34≠1,所以是没有乘法逆.3. 5504.23 a. 9x2 + 7x + 7 b. 5x3 + 7x2 + 2x + 64,24(1)可约:(X + 1)(X2 + X +1)2.不可约(de).如果你能分解多项式(de)一个因素将x或(X + 1),这会给你一个根为x =0或x= 1.这个多项式(de)0和1(de)替代,它显然没有根.(3)可约:(X +1)44.25 a. 1 b. 1 c. x + 1 d. x + 78第五章思考题5.10简述什么是轮密钥加变换5.11简述密钥扩展算法AES密钥扩展算法(de)4字(16字节)(de)密钥作为输入,并产生了44个字(156字节)(de)线性阵列.扩张是指由5.2节中(de)伪代码.5.12字节代替和字代替有何不同SubBytes国家,每个字节映射到一个新(de)字节使用(de)S-盒.子字输入字,每个字节映射到一个新(de)字节使用(de)S-盒.第六章思考题6.1 什么是三重加密三重加密,明文块进行加密,通过加密算法;结果,然后再通过相同(de)加密算法通过;第二次加密(de)结果是通过第三次通过相同(de)加密算法.通常情况下,第二阶段使用,而不是加密算法(de)解密算法.6.2什么是中间相遇攻击这是对双重加密算法中使用(de)攻击,并要求一个已知(de)(明文,密文)对.在本质上,明文加密产生一个中间值(de)双重加密,密文进行解密,以产生双重加密(de)中介值.查表技术,可以用这样(de)方式极大地改善蛮力尝试对所有键.6.3 在三重加密中用到多少个密钥第九章思考题9.1公钥密码体制(de)主要成分是什么明文:这是可读(de)消息或数据,将输入作为输入(de)算法.加密算法:加密算法,明文执行不同(de)转换.公钥和私钥:这是一对已被选中,这样如果一个用于加密,另一个是用于解密(de)密钥.作为输入提供(de)公共或私人密钥加密算法进行精确转换取决于.密文:这是炒消息作为输出.它依赖于明文和密钥.对于一个给定(de)消息,两个不同(de)密钥会产生两种不同(de)密文.解密算法:该算法接受密文匹配(de)关键,并产生原始明文.9.2 公钥和私钥(de)作用是什么用户(de)私钥是保密(de),只知道给用户.用户(de)公共密钥提供给他人使用.可以用私钥加密,可以由任何人与公共密钥验证签名.或公共密钥可以用于加密信息,只能由拥有私钥解密.9.5 什么事单向函数一个单向函数是一个映射到域范围等,每一个函数值(de)条件,而计算(de)逆函数(de)计算是容易(de),具有独特(de)逆是不可行(de):9.6 什么事单向陷门函数一个陷门单向函数是容易计算,在一个方向和计算,在其他方向,除非某些附加信息被称为不可行.逆与其他信息可以在多项式时间内计算.习题9.2 a. n = 33; (n) = 20; d = 3; C = 26.b. n = 55; (n) = 40; d = 27; C = 14.c. n = 77; (n) = 60; d = 53; C = 57.d. n = 143; (n) = 120; d = 11; C = 106.e. n = 527; (n) = 480; d = 343; C = 128. For decryption, we have128343 mod 527 = 128256 12864 12816 1284 1282 1281 mod527= 35 256 35 101 47 128 = 2 mod 527= 2 mod 2579.3 5第十章习题10.1 a. Y A = 75 mod 71= 51b. Y B = 712 mod 71= 4c. K = 45 mod 71= 3010.2 a. (11) = 10210 = 1024 = 1 mod 11If you check 2n for n < 10, you will find that none of the values is1 mod 11.b. 6, because 26 mod 11 = 9c. K = 36 mod 11= 3第十一章思考题11.1 安全hash函数需要具体哪些特征伪装:插入到网络欺诈来源(de)消息.这包括对手是声称来自授权(de)实体创造(de)消息.此外,还包括收到消息或邮件收件人以外(de)人放货欺诈确认.内容修改:更改消息(de)内容,包括插入,删除,换位,和修改.修改序列:各方之间(de)信息,包括插入,删除和重新排序(de)序列(de)任何修改.定时修改:延误或重播消息.在一个面向连接(de)应用程序,整个会话或消息序列可能是以前(de)一些有效(de)会话,或序列中(de)个人信息可能会推迟或重播重播.在连接(de)应用程序,个人信息(例如,数据报)可以延迟或重放.11.2抗弱碰撞和抗强碰撞之间(de)区别是什么11.4 高位在前格式和低位在前格式(de)区别是什么。
FOX算法的中间相遇攻击李荣佳;金晨辉【摘要】研究了FOX分组密码算法在中间相遇攻击下的安全性.首先,分别构造了FOX64和FOX128的3轮中间相遇区分器,实施了6轮中间相遇攻击,得到对6轮FOX64和FOX128较好的攻击结果.其次,将FOX128的中间相遇区分器扩展到4轮,并结合时间存储数据折衷的方法,攻击了7轮FOX128,与已有的攻击结果相比,攻击的时间复杂度和存储复杂度略大,而数据复杂度明显降低.【期刊名称】《通信学报》【年(卷),期】2016(037)008【总页数】6页(P185-190)【关键词】分组密码;密码分析;中间相遇攻击;FOX算法【作者】李荣佳;金晨辉【作者单位】解放军信息工程大学三院,河南郑州450002;解放军信息工程大学三院,河南郑州450002【正文语种】中文【中图分类】TP918.1FOX密码算法[1]是由Junod和Vaudenay在2004年提出的系列分组密码算法,分组规模可为64 bit和128 bit,分别记为FOX64和FOX128。
FOX密码的整体结构采用Lai-Massey结构,其轮函数采用SPS结构。
FOX密码算法在各平台都具有不错的性能,广泛地应用于欧洲有线电视等安全产品中。
对 FOX算法的主要攻击方法有积分攻击、不可能差分攻击、差分—碰撞攻击等。
文献[2]利用3轮积分区分器分析了 FOX算法。
文献[3]分析了FOX算法抵抗不可能差分攻击的能力。
文献[4]构造了4轮区分器并给出了对FOX算法的差分—碰撞攻击结果。
文献[5,6]分别对FOX64算法进行了零相关—积分分析和多维零相关线性分析。
在2014年FSE会议上,文献[7]提出的对FOX算法的全子密钥恢复攻击,目前取得对FOX算法的较好攻击结果。
中间相遇攻击由Diffie和Hellman在分析DES算法的安全性时首次提出。
近几年,中间相遇攻击被应用于AES算法的分析中,并得到了较好的攻击结果。
RAIN-128算法的中间相遇攻击杜小妮;郑亚楠;梁丽芳;李锴彬【期刊名称】《电子与信息学报》【年(卷),期】2024(46)1【摘要】RAIN是一族SPN结构的轻量级分组密码算法,该算法具有软硬件实现效率高、安_全性强等特点。
中间相遇攻击被广泛应用于分组密码算法的安全性分析中。
该文通过分析RAIN-128的结构特性和截断差分特征,利用差分枚举技术分别构造了4轮和6轮中间相遇区分器,给出了8轮及10轮的中间相遇攻击。
当攻击轮数为8轮时,预计算阶段的时间复杂度为2^(68)次8轮RAIN-128加密,存储复杂度为2^(75)bit,在线攻击阶段的时间复杂度为2^(109)次8轮加密,数据复杂度是2^(72)个选择明文;当攻击轮数为10轮时,预计算阶段的时间复杂度为2^(214)次10轮加密,存储复杂度为2^(219)bit,在线攻击阶段的时间复杂度为2^(109)次10轮加密,数据复杂度是2^(72)个选择明文,分析结果显示,RAIN-128可以抵抗中间相遇攻击,并具有较高的安全冗余。
【总页数】8页(P327-334)【作者】杜小妮;郑亚楠;梁丽芳;李锴彬【作者单位】西北师范大学数学与统计学院;西北师范大学密码技术与数据分析重点实验室;西北师范大学计算机科学与工程学院【正文语种】中文【中图分类】TN918.2;TP309.7【相关文献】1.6轮Square密码算法的中间相遇攻击2.改进的缩减轮Crypton-256分组密码算法的中间相遇攻击3.减轮SKINNY-128-384算法的中间相遇攻击4.MIBS-64算法的三子集中间相遇攻击5.改进的减轮Kiasu-BC算法的中间相遇攻击因版权原因,仅展示原文概要,查看原文内容请购买。
SNAKE(2)算法新的Square攻击
郑雅菲;卫宏儒
【期刊名称】《计算机科学》
【年(卷),期】2014(041)003
【摘要】重新评估了分组密码SNAKE(2)算法抵抗Square攻击的能力.指出文献[4]中给出的基于等价结构的错误5轮Square区分器.综合利用算法原结构与其等价结构,给出了一个新的6轮Square区分器.利用新的区分器,对不同轮数的SNAKE(2)算法应用了Square攻击来恢复部分等价密钥信息,7轮、8轮、9轮SNAKE(2)算法的Square攻击时间复杂度分别为212.19、221.59、230.41次加密运算,数据复杂度分别为29、29.59、210选择明文.攻击结果优于文献[4]中给出的Square攻击.
【总页数】4页(P169-171,180)
【作者】郑雅菲;卫宏儒
【作者单位】北京科技大学数理学院北京100083;北京科技大学数理学院北京100083;信息安全国家重点实验室北京100083
【正文语种】中文
【中图分类】TP309
【相关文献】
1.Zodiac算法新的Square攻击 [J], 张鹏;李瑞林;李超
2.对简化轮数的SNAKE(2)算法的中间相遇攻击 [J], 魏悦川;孙兵;李超
3.对简化轮数的SNAKE(2)算法的碰撞攻击 [J], 邱丰品;卫宏儒;潘锦航
4.SNAKE(2)分组密码的积分攻击 [J], 官翔;杨晓元;魏悦川;刘龙飞
5.6轮Square密码算法的中间相遇攻击 [J], 李蒙福;苏凡军
因版权原因,仅展示原文概要,查看原文内容请购买。
10轮3D分组密码算法的中间相遇攻击
苏崇茂;韦永壮;马春波
【期刊名称】《电子与信息学报》
【年(卷),期】2012(034)003
【摘要】3D密码算法是一个代换-置换网络(SPN)型结构的新分组密码。
与美国高级加密标准(AES)不同的是3D密码算法采用3维状态形式。
该文利用3D 算法结构,构造出一个5轮中间相遇区分器,并由此给出10轮3D的新攻击。
结果表明:新攻击的数据复杂度约为2128选择明文,时间复杂度约为2331.1次10轮3D加密。
与已有的攻击结构相比较,新攻击有效地降低了攻击所需的数据复杂度以及时间复杂度。
【总页数】4页(P694-697)
【作者】苏崇茂;韦永壮;马春波
【作者单位】^p^p
【正文语种】中文
【中图分类】TN918.1
【相关文献】
1.11轮3D密码算法的中间相遇攻击 [J], 李永光;曾光;韩文报
2.改进的10轮3D密码算法的中间相遇攻击 [J], 李曼曼;陈少真
3.11轮3D密码算法的中间相遇攻击 [J], 任炯炯;陈少真
4.11轮3D分组密码算法的中间相遇攻击 [J], 李灵琛;韦永壮;朱嘉良
5.改进的缩减轮Crypton-256分组密码算法的中间相遇攻击 [J], 郝泳霖;田呈亮;袁祺
因版权原因,仅展示原文概要,查看原文内容请购买。
对8轮mCrypton-96的中间相遇攻击王高丽;甘楠【摘要】在分析分组密码算法的安全性时,利用密钥关系来降低时间、存储和数据复杂度是一个常用的手段.在4轮mCrypton-96性质的基础上,利用密钥生成算法的弱点和S盒的性质,降低了攻击过程中需要猜测的密钥比特数,提出了对8轮mCrypton-96算法的中间相遇攻击,攻击的时间复杂度约为293.5次8轮mCrypton-96加密运算,存储复杂度为217B,数据复杂度为257个选择明文.【期刊名称】《计算机研究与发展》【年(卷),期】2016(053)003【总页数】8页(P666-673)【关键词】密码算法分析;中间相遇攻击;分组密码;mCrypton;密钥关系【作者】王高丽;甘楠【作者单位】华东师范大学计算机科学与软件工程学院上海 200062;东华大学计算机科学与技术学院上海 201620;东华大学计算机科学与技术学院上海 201620【正文语种】中文【中图分类】TP309Abstract mCrypton is a lightweight block cipher introduced in Information Security Application 2006 by Lim and Korkishko. mCrypton-6496128 denote 3 versions of the cipher with 6496128 b keys respectively. In this paper, we apply the meet-in-the-middle (MITM) attack on 8-roundmCrypton-96, which improves the best MITM attack result on mCrypton-96 by 1 round.When analyzing the security of block ciphers, using key relations to reduce the time complexity, memory complexity and data complexity is a common method. From the property of the key schedule of mCrypton-96, we know that each round key could calculate some information of the internal register by the algebraic structure of the key schedule, and some round keys could be deduced from the other round keys. By using the relationship of key schedule and the properties of S-box, we present a MITM attack on 8-round mCrypton-96 based on the 4-round distinguisher by adding 1 round on the top and 3 rounds at the bottom. The time, memory and data complexities of the attack are 293.5 encryptions, 247 B and 257 chosen plaintexts respectively. It is illustrated that mCrypton-96 not only has an efficient performance but also possesses strong security.Key words cryptanalysis; meet-in-the-middle (MITM) attack; block ciphers; mCrypton; relationship of keys分组密码算法在现代密码学中有着举足轻重的地位,1997—2000年美国高级加密标准(advance encryption stand, AES)算法征集活动大大促进了分组密码算法的设计和分析.继美国新一代加密算法标准确定之后,欧洲、日本和韩国等多国都开始各自征集密码算法标准,这将分组密码的分析和设计推向了一个高潮.最近,轻量级分组密码算法由于它的密钥关系更简单、使用的电脑硬件资源更少、加密速度优于一般的分组密码算法而广泛用于资源受限的环境,如射频识别卡(radio frequency identification, RFID)和嵌入式环境.轻量级分组密码算法LED,Zorro,mCrypton,PRESENT,Piccolo,Klein,XTEA,DESL,HIGHT,CLEFIA,Twine,KATAN,轻量级流密码算法Grain和Trivium,以及基于PRESENT 的轻量级杂凑函数等算法的出现大大促进了轻量级密码的发展.与此同时,出现了许多对于轻量级分组密码算法的分析方法.1977年Diffie和Hellman[1]首次提出了中间相遇攻击方法.Henri和Minier[2]在2000年改进了对于AES算法的中间相遇攻击结果,根据4轮AES算法的性质,给出了7轮AES算法的中间相遇攻击.Demirci,Selcuk[3]在2008年在5轮AES 算法差分性质的基础上,用中间相遇攻击方法进一步改进了对8轮AES-256的分析结果.其中,5轮AES算法的性质是由4轮性质发展而来的.2010年,Dunkelman,Keller等人[4]改进了对于78轮AES-192和AES-256的分析结果.2013年,Derbez, Fouque, Jean[5]改进了对于7轮AES-128的中间相遇攻击结果,并且给出了对于8轮AES-192,AES-256的攻击.2014年,李雷波、王小云等人[6]利用密钥生成算法的性质改进了5轮AES的性质,给出了对AES-192的9轮中间相遇攻击.另外,文献[7-12]给出了对于其他分组密码算法的中间相遇攻击.2006年,Lim和Korkishko[13]提出了mCrypton算法,它是一个典型的轻量级分组密码算法.mCrypton是Crypton算法的缩减版,采用SPN结构,包含3个版本,密钥长度分别为64 b,96 b,128 b.文献[14]提出了对7轮mCrypton-9664和对89轮mCrypton-128的中间相遇攻击;文献[15]采用Biclique技术给出了全轮mCrypton-6496128的分析结果;文献[16]给出了8轮mCrypton-96128的碰撞攻击;文献[17]给出了9轮mCrypton-96128的相关密钥不可能差分分析;文献[18]采用Biclique技术给出了全轮mCrypton-96128的分析结果;文献[19]给出了8轮mCrypton-128的相关密钥矩形攻击.本文利用密钥生成算法的性质,根据4轮性质,给出了对8轮mCrypton-96算法的中间相遇攻击.U:(U0,U1,U2,U3,U4,U5),每个Ur表示16 b;Ur[15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0]:16 b,Ur的第0位在最右边;:Ur循环左移i位;Kr:第r轮的轮密钥;ur:表示第r轮的轮密钥经过转置和列混合之后的状态;ur,k:表示ur的第k个半字节(4 b);⊕:“异或”运算;·:“与”运算;ΔX:X⊕X′;的第k个单元(字节或者半字节);:x的第k个和第m个单元(字节或者半字节).2.1 加密运算mCrypton算法是基于代换-置换网络(substi-tution permutation network, SPN)结构的64 b的轻量级分组密码算法,包含3个版本,密钥长度分别为64 b,96 b,128 b,这3个版本都是12轮.如矩阵A所示,将64 b的明文分组排列成4×4的矩阵,其中每个ai为4 b.S盒γ:mCrypton的S盒运算包含4个4×4 S盒: S0,S1,S2,S3,其中S0=S2-1,S1=S3-1.设S盒的输入为A,则其输出为比特置换π:比特置换与算法的列混合运算有相同的功能,对于矩阵A的每一列分别做比特置换.设矩阵A=(A0,A1,A2,A3),则经比特置换后的输出为π(A)=(π0(A0),π1(A1),π2(A2),π3(A3)).其中,πi定义如下:令a=(a0,a1,a2,a3)=Ai(0≤i≤3),则经过πi变换后的输出为b=(b0,b1,b2,b3),其中:m0=11102,m1=11012,m2=10112,m3=01112.转置τ:将矩阵的行列互换.例如矩阵经转置变换后的输出为.密钥加:设输入为(A,K),其中:则经过密钥加运算后的输出为A⊕K=其中,ai,ki(0≤i≤15)的长度都是4 b.综上所述,mCrypton算法的1轮加密过程为:ρkr(x)=σkr∘τ∘π∘γ(x).经过12轮运算后,再经过τ∘π∘τ运算,即可得密文.2.2 96位密钥生成规则首先,U=(U0,U1,U2,U3,U4,U5)=K,其中K为主密钥,则轮密钥Kr的生成过程如下:1) T=S(U0)⊕Cr,Ti=T·Mi,其中,M0=0xf000,M1=0x0f00,M2=0x00f0,M3=0x000f..).3.1 经典的中间相遇攻击将分组密码算法分成2个部分E1和E2.E1所用的密钥为K1,E2所用的密钥为K2,遍历K1,将明文P经过E1加密得到E1(P),并将其存入表T1.遍历K2,将相应的密文C经过E2解密,得到D2(C).检测D2(C)的值是否存在表T1中,如果存在,则密钥(K1,K2)为候选密钥.重新选取明文,继续上述步骤,直到候选密钥唯一确定.3.2 对AES的中间相遇攻击由于mCrypton算法和AES类似,对AES中间相遇攻击的研究可以作为参考.文献[3]给出4轮AES性质,并在4轮性质前加1轮,后面加2轮,给出了7轮AES的中间相遇攻击.定义1. δ集是x除去某个特定单元(特定单元值遍历0,1,…,2n-1),其他单元都是常数的2n个明文组成的集合,其中n为数据单元的二进制长度.性质1. 4轮AES性质. 令δ集}经过4轮AES加密的输出为,则有序序列⊕⊕⊕⊕的值取决于25个字节,所以有序序列⊕⊕⊕⊕最多有2200种可能的取值.而在随机情况下,其有22048种取值.预计算过程:将⊕⊕⊕⊕所有可能的2200种取值计算出来,并存在一个Hash表T中.攻击过程:如图1所示,首先选择相应的明文,猜测前1轮和后2轮的相关密钥,排除掉一些不符合情况的明文对,剩下的每1个明文对构造1个δ集,将δ集的密文部分解密,计算出⊕⊕⊕⊕}的值.最后,查Hash表T,如果这个有序序列的值在Hash 表T中,则相应猜测的密钥是候选密钥,穷举搜索其余的密钥.2008年,Demirci和Selcuk[3]提出了5轮AES的性质,并给出了7轮AES-192和8轮AES-256的中间相遇攻击.2010年,Dunkelman,Keller等人[4]把4轮AES性质中的有序序列推广到了多重集,且相应的多重集的值取决于16个字节,即最多有2128种可能的取值.而在随机情况下,其有种可能的取值.多重集的提出和应用不但大大降低了预计算量,而且降低了攻击的时间复杂度.2013年,Derbez, Fouque, Jean[5]在4轮性质中利用S盒的差分性质降低了计算多重集所需的参数个数,将多重集可能的取值由2128降低到280.因此将攻击7轮AES-128的时间、空间和数据复杂度都降低到2100以下,并成功地改进了对8轮AES-192,AES-256的分析结果.2014年,李雷波、王小云等人[6]利用密钥关系,提出了对5轮AES-192,AES-256的性质,并在此基础上首次给出了对9轮AES-192的中间相遇攻击,同时改进了对9轮AES-256的分析结果.4.1 4轮mCrypton的性质将1个δ集},经过4轮mCrypton加密得到输出},其中遍历1个半字节的所有取值,其余半字节的值相等.是服从如图2所示的4轮差分路线的1个明文,则如下4轮性质成立.性质2. S盒性质[20].如果S盒的输入差分唯一确定,输出差分唯一确定,则S盒输入对和输出对平均都只有1个值.性质3. 4轮mCrypton性质[14].有序序列⊕⊕⊕}的值取决11个半字节,服从图2所示的4轮差分路线的正确对的差分和,.从而该有序序列最多有244个可能的取值.4轮mCrypton的性质证明如下:证明. 有序序列⊕⊕}的值取决于25个半字节.下证该25个半字节的值取决于如下11个半字节,Δz4,0.即证明:由这11个半字节可推导出.1) 由和可得Δx2,{0,1,2,3},又因为已知,故可求出Δx3;2) 由和可得Δy3.从而根据S盒的差分性质可求.说明:该有序序列最多有244种可能的取值,而在随机情况下,其有264种取值.4.2 轮密钥之间的关系性质4. 令主密钥为K,中间变量值为U,将U初始化:U=K.则由K8可得u7第1位的值.证明. 根据密钥生成算法,可得K8的表达式为因为S(U4<<<11)⊕C8·M0的低12 b的值为0,故U5<<<14⊕[S(U4<<<11)⊕C8·M0]低12 b的值等于U5<<<14低12 b的值,从而由K8可得:U5[13,12,11,10;9,8,7,6;5,4,3,2].同理,由K8可得:U0[1,0,15,14;9,8,7,6;5,4,3,2],U1[4,3,2,1;0,15,14,13;8,7,6,5],U2[12,11,10,9;8,7,6,5;4,3,2,1].另一方面,K7的表达式为将K7进行转置、列混合运算,得u7,2为其中,“***”表示U2<<<11⊕[S(U5<<<11)⊕C7·M2]的第7位、第6位、第5位.因为由K8可得,从而可计算出计算“***”.又因为U2[4,8]可由K8计算出,故可得u7,2[0].性质5. 由K8与K0,{2,6,10,14}都可求出U1[7,6,5,4]和U2[7,6,5,4]的值. 证明. 由密钥生成算法,可知K0的表达式如下:从而由K0,{2,6,10,14}可推出U1[7,6,5,4]和U2[7,6,5,4].另一方面,由性质1的证明可知:由K8亦可推出U1[7,6,5,4]和U2[7,6,5,4].4.3 8轮mCrypton-96的攻击过程本节充分利用密钥之间的关系,给出对8轮mCrypton-96的中间相遇攻击,攻击过程如图3所示:预计算过程:由于⊕⊕⊕}的值取决于11个半字节,遍历这11个半字节的值,计算出有序序列的所有244个可能的取值,并存在Hash表T中.攻击过程:1) 选择241个明文结构,每个明文结构包含216个明文,其遍历第2,6,10,14个半字节的值,其余半字节的值为常数.则一共有241×231=272对明文,计算其相应的密文.2) 对于每个明密文对,猜测Δy6,{0,1,2,3},经过比特置换和转置,因为其都是线性变化,所以能够计算出相应的Δx7,又由密文对经过相应的线性变化可以计算出Δy7,从而根据S盒性质,由(Δx7,Δy7)可计算出(x7,y7),将y7经过线性变化得到w7,与x8进行异或运算可得K8.3) 猜测Δy5,0,进行相应的线性运算,计算出Δx6,{0,1,2,3},根据S盒的性质,计算出y6,{0,1,2,3},然后将x7经过相应的线性变化,与y6,{0,1,2,3}进行异或,计算出相应的u7,{0,1,2,3}.再根据性质4,由u7,{0,1,2,3}和第2)步计算出的K8可排除掉2种情况.4) 猜测w0,2,经过相应的线性变化,计算出Δy0,{2,6,10,14},从明文对计算出Δx0,{2,6,10,14},根据S盒的性质,计算出x0,{2,6,10,14},再异或上明文,得到K0,{2,6,10,14}.则根据性质5,由K8与K0可排除掉28种情况.5) 对于所有可能的候选密钥,选择相应明文对中的1个明文并得到w0,2.令w0,2遍历0,1,…,15,计算出相应的明文(δ集)并询问密文.猜测u6,0,解密密文得到有序序列⊕⊕⊕}的值.6) 查Hash表T,如果表T中存在有序序列的值,则认为密钥猜测是正确的.穷举搜索其余未知的密钥.根据攻击过程可知时间复杂度主要由攻击过程的步骤3~5构成.步骤1的复杂度是对257个明文进行8轮mCrypton加密.步骤2对每1对明文都猜测Δy6,{0,1,2,3},所以步骤2的时间复杂度约为2722162-3次8轮mCrypton加密.步骤3在步骤2的基础上又猜测了Δy5,0,即增加了24种情况,每一种情况可以计算出1个u7,{0,1,2,3},所以步骤3的时间复杂度约为272×220×2-3次8轮mCrypton加密运算.步骤4在步骤3的基础上又猜测了w0,2,每一种情况可以计算出1个K0,{2,6,10,14},所以步骤4的时间复杂度约为272×224×2-4次8轮mCrypton加密运算.步骤5的时间复杂度约为272×219×24×2-2次8轮mCrypton加密运算.从而在线攻击的时间复杂度约为293.5.相对于在线攻击时间复杂度,预计算的时间复杂度可以忽略不计.预计算过程的存储复杂度是247B,在线攻击的存储复杂度忽略不计.数据复杂度为257个选择明文.本文通过研究发现了mCrypton-96密钥生成算法的漏洞,利用密钥生成算法的弱点并结合4轮mCrypton-96算法的性质[14],给出了8轮mCrypton-96算法的中间相遇攻击,比之前的分析结果增加了1轮.攻击的时间复杂度为293.5次加密运算,数据复杂度为257个选择明文,空间复杂度为247B.关于mCrypton算法的分析结果如表1所示:MIMT: meet-in-the-middle attack; CA: collision attack; RKIDC: relate key impossible differential cryptanalysis;RKR: relate key rectangle attack.【相关文献】[1]Diffie W, Hellman M E. Special feature exhaustive cryptanalysis of the NBS Data Encryption Standard[J]. Computer, 1997, 10(6): 74-84[2]Gilbert H, Minier M. A collision attack on 7 rounds of Rijndael[C] Proc of the 3rd AES Candidate Conf. Berlin: Springer, 2000: 230-241[3]Demirci H, Selcuk A. A meet-in-the-middle attack on 8-round AES[G] LNCS 5922: Proc of Fast Software Encryption. Berlin: Springer, 2008: 116-126[4]Dunkelman O, Keller N, Shamir A. Improved single key attack on 8-round AES-192 and AES-256[G] LNCS 6477: Proc of Advances in Cryptology—ASIACRYPT 2010. Berlin: Springer, 2010: 158-176[5]Derbez P, Fouque P A, Jean J. Improved key recovery attacks on reduced-round AES in the single-key setting[G] LNCS 7881: Proc of Advances in Cryptology—EUROCRYPT 2013. Berlin: Springer, 2013: 371-387[6]Li L, Jia K, Wang X. Improved single-key attacks on 9-round AES-192256[G] LNCS 8540: Proc of Fast Software Encryption. Berlin: Springer, 2015: 127-146[7]Guo Jian, Peyrin T, Poschmann A, et al. The LED block cipher[G] LNCS 6917: Proc of Cryptographic Hardware and Embedded Systems (CHES 2011). Berlin: Springer, 2011: 326-341[8]Gérard B, Grosso V. Block ciphers that are easier to ma sk: How far can we go?[G] LNCS 8086: Proc of Cryptographic Hardware and Embedded Systems—CHES 2013. Berlin: Springer, 2013: 383-399[9]Sekar G, Mouha N, Velichkov V, et al. Meet-in-the-middle attacks on reduced-roundXTEA[G] LNCS 6558: Proc of Topics in Cryptology-CT-RSA 2011. Berlin: Springer, 2011: 250-267[10]Lu J, Wei Y, Pasalic E, et al. Meet-in-the-Middle attack on reduced versions of the camellia block cipher[G] LNCS 7631: Proc of Advances in Information and Computer Security. Berlin: Springer, 2012: 197-215[11]Chen Jiazhe, Li Leibo. Low data complexity attack on reduced camellia-256[G] LNCS 7372: Proc of Australasian Conf on Information Security and Privacy. Berlin: Springer, 2012: 101-114[12]Bogdanov A, Rechberger C. A 3-subset Meet-in-the-Middle Attack: Cryptanalysis of the lightweight block cipher KTANTAN[G] LNCS 6544: Proc of Selected Areas in Cryptography. Berlin: Springer, 2011: 229-240[13]Lim C H, Korkishko T. mCrypton-A lightweight block cipher for security of low-cost RFID tags and sensors[G]。
收稿日期:2018-04-12 修回日期:2018-08-16 网络出版时间:2018-12-19基金项目:国家自然科学基金(61703278)作者简介:李蒙福(1989-),女,硕士,研究方向为信息安全㊁分组密码;苏凡军,博士,讲师,研究方向为计算机网络和网络安全㊂网络出版地址: /kcms /detail /61.1450.TP.20181219.1532.046.html6轮Square 密码算法的中间相遇攻击李蒙福,苏凡军(上海理工大学光电信息与计算机工程学院,上海200093)摘 要:分组密码具有速度快㊁易于标准化和便于软硬件实现等特点,通常是信息和网络安全中实现数据加密㊁数字签名㊁认证及密钥管理的核心体制㊂密码算法的安全性分析与设计两者难以分离,一方面,在对密码进行安全性分析的过程中,可以为设计出更加安全的密码积累经验,另一方面,在密码算法的设计中也会涉及很多具有现实意义的技术和应用价值的知识㊂作为分组密码的一个重要组成部分 SPN 型分组密码,对其进行研究和分析具有很大的现实意义㊂Square 是SPN 型分组密码其中之一,其密钥长和分组长都为128bit㊂通过研究Square 算法的结构特征和一类截断差分的性质,利用差分枚举技术和多重集构造了Square 算法的4轮中间相遇区分器,给出了对6轮Square 密码算法的中间相遇攻击㊂新的区分器由10个参数决定㊂基于新的区分器,实现了对6轮Square 算法的中间相遇攻击,攻击数据复杂度为2109,时间复杂度为2109,存储复杂度为284㊂关键词:Square 密码;差分枚举;多重集;中间相遇攻击中图分类号:TN918.1 文献标识码:A 文章编号:1673-629X (2019)03-0106-05doi:10.3969/j.issn.1673-629X.2019.03.023Meet-in-the-middle Attack on 6-Round SquareLI Meng -fu ,SU Fan -jun(School of Optoelectronic Information and Computer Engineering ,University of Shanghai forScience and Technology ,Shanghai 200093,China )Abstract :Block ciphers are characterized by their high speed ,easy standardization and hardware and software implementation ,usually as the core system of data encryption ,digital signature ,authentication and key management in information and network security.It is diffi⁃cult to separate the security analysis and design of cryptographic algorithms.On the one hand ,in the process of ciphers security analysis ,experience can be accumulated for the design of more secure ciphers.On the other hand ,in the design of cryptographic algorithms ,there will be a lot of practical significance of technology and application value of knowledge.SPN block ciphers are an important part of block ciphers ,which is of great significance to be studied and analyzed.Square is a block cipher with substitution -permutation network ,which operates on 128-bit blocks and 128-bit keys.By studying the structural characteristics and the properties of truncated differential of Square ,we construct a 4-round meet -in -the middle distinguisher by using differential enumeration technique and multiple sets ,and give a meet -in -the -middle attack on 6-round Square.The new distinguisher is determined by 10parameters.Based on the new distinguis⁃her ,we extend the meet -in -the -middle attack on 6-round Square for the first time with 2109chosen plantexts ,2109computations and 284memories.Key words :Square ;differential enumeration ;multiple sets ;meet -in -the -middle1 概 述随着信息技术的高速发展,数据安全的问题愈加凸显㊂无论是在理论上还是技术上,密码学在信息安全领域都是不可或缺的㊂分组密码具有速度快㊁易于标准化和便于软硬件实现等特点,通常是信息和网络安全中实现数据加密㊁数字签名㊁认证及密钥管理的核心体制,也是对称密码学的一个重要分支㊂分组密码已经在信息安全领域得到了非常广泛的应用,如数字通信安全㊁工业网络控制安全㊁无线传感器网络感知安全㊁无线射频识别安全以及电子商务支付安全等领域㊂分组密码的研究内容主要包括分组密码的设计和分析,两者相互作用,共同推动着分组密码理论的发展㊂第29卷 第3期2019年3月 计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT Vol.29 No.3Mar. 2019一方面,在对密码进行安全性分析的同时,可以为设计出更加安全的密码积累更多的经验,另一方面,在密码算法的设计中也会涉及到很多具有现实意义的信息安全技术和一些具有实际应用价值的理论知识㊂Square算法是由Joan Daemen和Vincent Rijmen 提出的分组密码[1],发表于1997年,是Rijndael的先驱㊂Square也是一个具有8轮代换-置换网络[2] (SPN)结构的分组密码,可以在各种处理器上实现非常高效的操作㊂该算法采用了2维4×4的字节矩阵,分组长度和密钥长度都是128bit㊂通常,实施对整轮密码算法攻击的难度是非常大的,但是可以利用一些攻击方法减少迭代次数并对密码算法进行分析以衡量其安全性,这样不仅能够促进密码的发展,而且对信息安全也具有重要意义㊂当前,分组密码的安全性研究也是一个热点问题㊂很多密码学研究者在多篇文献中对多种密码算法的安全性进行分析和研究,另外,许多高效的分析方法也被陆续提出,如差分密码分析㊁截断差分分析㊁中间相遇攻击等[3-6]㊂截断差分密码分析是由Knudsen等提出的差分密码分析的一个变形,与经典的差分分析考虑的具体差分值不同,截断差分只考虑差分的一部分性质㊂利用截断差分的思想,可以对某些抵抗经典差分密码分析的算法进行攻击㊂截断差分分析的一般流程是:首先,寻找一条高概率且有效的r-1轮截断差分路径;然后,加密符合要求的明文进而获得密文,从得到的密文对中筛选除差分对符合要求的密文对;最后,对上一步中的密文对进行部分解密,通过计数的方法确定正确的密钥㊂文献[7]给出了Crypton算法的不可能差分分析㊂中间相遇攻击是在文献[8]中提出,最早是用来对分组密码的一种尝试性扩展进行攻击,之后广泛应用于分组密码和Hash函数的安全性分析中㊂它通过存储加密或解密的中间值,并使用这些中间值来改善强制解密密钥所需的时间,从而削弱了使用多重加密的安全性好处㊂这使得中间相遇攻击(MITM)成为通用的时空权衡密码分析方法㊂该种攻击方法的攻击原理是:首先构造出一个合适的区分器,然后将区分器前面的明文从前向后进行加密,后面的密文从后向前进行解密,接着和前面构造出的区分器连接,最后形成一条连贯的攻击路线㊂其中可能会出现两种结果,假设加密和解密的部分能够顺利连接上区分器,那么猜出的密钥值是无误的,不然为错误的,最后获取符合的密钥值㊂通过以上步骤,多数的不对密钥会被排除掉㊂尽管在构造区分器的过程中预计算的复杂度和存储复杂度可能有点大,不过由于仅仅只进行一次的预计算过程,从而在很大程度上也能降低攻击的时间复杂度,所以中间相遇攻击还是一种比较有效的攻击方法㊂近年来,中间相遇攻击已成为比较成熟和富有成效的密码分析方法之一,广泛应用于多种分组密码的安全性分析中㊂文献[9]给出了8轮AES的中间相遇攻击,文献[10]给出了利用多重集和差分枚举技术进行8轮AES中间相遇攻击,文献[11]给出了利用差分枚举技术和有序差分集合进行11轮3D中间相遇攻击,文献[12]给出了缩减轮Crypton的中间相遇攻击分析,文献[13]使用中间相遇攻击对Kalyna算法进行安全性分析㊂Square密码算法的安全性分析最早是文献[1]中提出的Square攻击,其成功给出了6轮Square密码的攻击结果,时间复杂度为272㊂文献[14]对Square进行了Boomerang攻击,运用了7轮Boomerang区分器,实现了全轮的攻击,这也是目前最好的攻击结果㊂但是,限于计算机的计算能力,其可行性还有待验证㊂2011年,文献[15]给出了5轮Square的中间相遇攻击分析,预计算时间复杂度为234,空间复杂度为272㊂Dunkelman等在分析AES时提出了中间相遇攻击 多重集”的概念㊂主要思想为:在构造区分器的过程中,完整的输出序列不需要进行存储,只将符合要求的无序的差分筛选集合进行存储,同时再结合有关截断差分的性质,进一步减少决定区分器的参数个数,达到降低存储复杂度的目的㊂在分析Square算法的结构特征和一类截断差分的性质的基础上,文中利用差分枚举技术和反弹式思想构造出Square算法的4轮中间相遇区分器,该区分器由11个参数决定㊂在4轮区分器的基础上前后各扩展一轮,首次实现了对6轮Square算法的中间相遇攻击㊂在6轮Square密码的攻击过程中,文中通过减少明文数量以降低数据复杂度,又通过使用了多重集进而将决定区分器的参数个数减少为10个,从而进一步降低了预计算的存储复杂度㊂2 预备知识2.1 Square算法描述Square是一个分组长为128bit,密钥长为128bit 的SPN型迭代分组密码㊂Square的轮变换由四个不同的变换组成㊂128bit的分组可以用4×4的2维字节矩阵表示㊂16个字节分组A={a0,a1, ,a15}可表示为如下形式:A=a0a1a2a3a4a5a6a7a8a9a10a11a12a13a14aæèççççöø÷÷÷÷15㊃701㊃ 第3期 李蒙福等:6轮Square密码算法的中间相遇攻击(1)M :列混合,对一个状态的每一列进行操作㊂M ∶b =M (a )⇔b i ,j =c j a i ,0⊕c j -1a i ,1⊕c j -2a i ,2⊕c j -3a i ,3(2)S :非线性变换,S 是一个可逆的8位替换表或S 盒㊂S ∶b =S (a )⇔b i ,j =S (a i ,j )(3)T :转置,状态的行列交换㊂T ∶b =T (a )⇔b i ,j =a i ,j ,T-1=T(4)σ:轮密钥加㊂σ[k t ]∶b =σ[k t ](a )⇔b =a ⊕k t每一轮进行以上4个操作后,迭代8轮即可得到相关密文,解密操作基本上和加密操作一样,只是调换了密钥的顺序,Square 的密钥编排详见文献[15]㊂在某些情况下,在两个连续的轮次中交换M 和k i的顺序㊂由于这些操作是线性的,所以可以互换[2]㊂具体操作是:首先用相等的密钥M -1(k i )排除数据,然后再应用操作M ㊂例如,k 0⊕M (x )=M (M -1(k 0)⊕x )㊂2.2 符号说明x i :第i 轮经过密钥加k i 的状态;y i :第i 轮经过M 变换的状态;z i :第i 轮经过S 的状态;w i :第i 轮经过T 的状态;Δx :状态x 的差分;x [i ]:状态x 的第i 个字节;x [i , ,j ]:状态x 从第i 个字节到第j 个字节;u i =M -1(k i );x ‖y :x 与y 连接;⊕:异或;Δx m :=x m ⊕x i ㊂3 6轮Square 算法的中间相遇攻击这一节中,将描述在6轮Square 上的MITM 攻击㊂首先,给出需要的定义㊁引理和推论㊂然后,提出4轮MITM 区分器,并在6轮Square 上进行MITM 攻击㊂最后,通过改进4轮区分器,以实现相应攻击复杂度的降低㊂3.1 4轮中间相遇区分器定义1:Square 算法的1个字节遍历256个所有可能值,其他15个字节取固定值,这样的结构称为δ集,表示为{X 0m ,X 1m , ,X 255m },其中X im 是256bit ,0≤i ≤255,m (m ∈{1,2, ,8})为Square 算法的迭代轮数㊂一个δ集的例子如下所示:ca 1a 2a 3a 4a 5a 6a 7a 8a 9a 10a 11a 12a 13a 14a æèççççöø÷÷÷÷15定义2[10]:允许元素出现多次,不计元素顺序的集合称为多重集㊂δ集中的元素X i m 构造的多重集:(X 0m [0]⊕X 0m [0],X 1m [0]⊕X 0m [0], ,X 255m [0]⊕X 0m [0]),记为(ΔX 0m ,ΔX 1m , ,ΔX 255m ),一个无序的多重集有2506.17个可能的取值㊂引理1:给定Δi 和Δo 两个非零差分元素,方程S (x )⊕S (x ⊕Δi )=Δo ,平均有一个解㊂这个属性也适用于s -1㊂推论1:选择δ集{w 00,w 10, ,w 2550}前128个值进行4轮Square 加密,若存在明文对(w i 0,w j0)(0≤i ,j ≤255)符合图1截断差分特征,则对应差分序列(X 05[0]⊕X i 5[0],X 15[0]⊕X i 5[0], ,X 1275[0]⊕X i 5[0])可由以下25个字节决定:y i 1[0,4,8,12]‖y i 2[{m |0≤m ≤15}]‖y i3[0,1,2,3]‖y i 4[0]证明:通过y i 1[0,4,8,12]可计算出Δy i 1[0,4,8,12],利用S 盒的非线性替换性质可推算Δz i 1[0,4,8,12],Δz m 1[0,4,8,12]=S (y i 1[0,4,8,12])⊕S (Δy i 1[0,4,8,12]⊕y i 1[0,4,8,12]),Δx m 2[0,1,2,3]可通过等式Δx m 2[0,1,2,3]=T (z m 1[0,4,8,12])得到㊂同样,可以通过y i 2推导出Δz i 2,然后推算Δx i 3,接着利用y i 3[0,1,2,3]推导差分Δz i 3[0,1,2,3],计算Δx i 4[0],最后利用y i 4[0],从而推导出序列(X 05[0]⊕X i 5[0],X 15[0]⊕X i 127i xxx图1 6轮Square 攻击的截断差分特性图然而,以上给出的25个字节其实可以由以下11个字节决定:Δw i 0[0]‖y i 1[0,4,8,12]‖z i 3[0,1,2,3]‖z i 4[0]‖㊃801㊃ 计算机技术与发展 第29卷Δw i4[0]证明:已知Δw i0[0],可推算Δy i1[0,4,8,12],而Δz i1[0,4,8,12]可以由Δy i1[0,1,2,3]和y i1[0,4,8, 12]计算得到,Δx i2[0,1,2,3]可由Δz i1[0,4,8,12]推导计算出,然后推导出Δy i2㊂利用Δw i4[0]经过T-1操作可以得Δz4[0],又已知z i4[0]可以计算出Δy i4[0]和Δx i4[0,4,8,12],从而求出Δw i3[0,4,8,12],进而推导出Δz i3[0,1,2,3],同样利用z i3[0,1,2,3]推导出Δz i2㊂根据引理1,y i2可由Δy i2和Δz i2算出㊂所以差分序列(X05[0]⊕X i5[0],X15[0]⊕X i5[0], ,X1275[0]⊕X i5[0])可以完全由11个字节决定㊂3.2 6轮中间相遇攻击6轮Square算法中间相遇攻击由两个阶段组成:预计算阶段和在线攻击阶段㊂攻击过程如图2所示㊂1.预计算阶段㊂遵循推论1的证明,预计算阶段需建包含211×8= 288个差分序列(X05[0]⊕X i5[0],X15[0]⊕X i5[0], , X1275[0]⊕X i5[0])的预计算表㊂存储这些预计算表需要211×8×27×8/27=291个128bit块㊂2.在线攻击阶段㊂首先找到满足图1中截断差分特征的明文对(p i, pj),并确定δ集,然后计算差分序列并检测它是否在预计算阶段建立的预计算表中,在线阶段的攻击过程描述如下:(1)定义一个232个明文结构P[0,4,8,12],其余12个字节固定为常数㊂使用这一结构可构成232×(232-1)/2≈263个明文对,并且每个明文对都满足明文差分特性㊂攻击过程中还需对281个明文结构进行加密以找到281×263×2-12×8=248个对应的密文对以验证密文差分㊂因此,对于正确的密钥,248对中有248×2-2×3×8=1对遵循整个截断差分特征㊂因为在第1轮和第5轮的M操作中有两个4→1的转换㊂注意,不必检查每一对去找到248个密文对,可以将结构存储在由密文中的12个非活动字节索引的散列表中,以获得正确的对㊂(2)对248对中的每一对,假设它遵循图1中的整个截断差分特征,进行如下操作:(a)猜测Δw0[0],推导出Δz0[0],根据明文差分推导出Δy0[0],根据引理1得到y0[0],然后推出u0[0]㊂(b)猜测值Δx5[0],推导出Δy5[0,4,8,12],根据密文差分,推导出Δz5[0,4,8,12],根据引理2可得出z5[0,4,8,12],z5[0,4,8,12]经过T操作后得到w5[0,1,2,3],最后推出k6[0,1,2,3]㊂(c)根据步骤a中的28个值推出的子密钥,改变w00[0]的值,并计算(w00[4,8,12],w10[4,8,12], , w1270[4,8,12]),然后计算出对应的明文(P0,P1, , P127)并查询它们对应的密文㊂(d)利用步骤b中的28个推导的子密钥,对在步骤c中推导出的每个密文进行部分解密以得到差分序列(X05[0]⊕X i5[0],X15[0]⊕X i5[0], ,X1275[0]⊕X i5[0])㊂检查该序列是否在预计算表中,如果在,则认为猜测的子密钥是正确的,否则删除子密钥㊂而错误子密钥通过的概率是288×2-1024=2-936,非常小,所以可认为猜测出来的子密钥都是正确的㊂(3)最后只剩下1+248×216×2-936≈1个子密钥㊂根据得到的部分密钥,通过穷举搜索剩余未知字节以恢复全部密钥㊂图2 6轮中间相遇攻击图㊃901㊃ 第3期 李蒙福等:6轮Square密码算法的中间相遇攻击 为了评估在线阶段的时间复杂度,文中计算了6轮Square 加密的数量㊂在步骤1中,时间复杂度约为281×232=2113㊂步骤2的时间复杂度由步骤d 决定,其时间复杂度等于248×216×27×1+46×16=266.74㊂在步骤3中,时间复杂度为212×8=296㊂预计算的时间复杂度为211×8×27×1+4+16+46×16=293.06㊂综上,总的攻击时间复杂度为2113,数据复杂度为281×232=2113,存储复杂度为291㊂3.3 对6轮Square 攻击的改进通常,为了降低存储复杂度,可利用多重集把对6轮Square 中间相遇攻击决定区分器的参数减少一个(w 0[0]可不要)㊂由定义2可知,一个δ集会遍历256个状态,第m轮σ变换进行之后遍历的仍然是256个状态,同样进行M 变换后还是遍历256个状态,对差分ΔX i m =X i m ⊕X 0m (0≤i ≤255)进行考虑,因为攻击过程中考虑的多重集是无序的,它也遍历256个状态,所以差分集合{ΔX 0m,ΔX 1m, ,ΔX 255m}不影响后面的攻击㊂而对6轮Square 攻击的改进就可以考虑推论1中{w 0,w 10, ,w 2550}的所有值,因为w 0m +1是活动字节,通过选择w 0m 使w 0m +1,0=0是可能的,所以就可以把决定区分器的参数个数减少一个,为10个㊂首先,使用一个杂凑表将多重集的所有可能值存储起来,因为在构建预计算区分器的过程中都会用到㊂然后,筛选出符合要求的若干明文进行加密㊂同时对特定的密钥进行搜寻,再解密部分密文从而得到多重集,同时检验前一步骤中获取的多重集是不是在预计算阶段的杂凑表中㊂如果在,那么猜测出来的密钥值在很大程度上是无误的㊂文中改进的6轮Square 密码算法的中间相遇攻击使用的多重集为(X 05[0]⊕X i 5[0],X 15[0]⊕X i 5[0], ,X 2555[0]⊕X i 5[0]),它对应的δ集是{w 00,w 10, ,w 2550},最终将攻击预计算的存储复杂度降为210×8×28×8/27=284㊂根据6轮Square 的中间相遇攻击过程可以看出,主要的时间复杂度是对选择的明文进行加密,所以还可以通过减少选择明文的数量以降低时间复杂度㊂在图1对6轮Square 攻击的截断差分特性中,因为对w 0活动字节的差分位置有0㊁1㊁2㊁3这4个位置,每个选择可构造22个对应差分表,而x 5处的活动字节也会有0㊁1㊁2㊁3这四个位置,所以就可以构造出4×4=16条不同的区分器链,从而可将数据复杂度减少24,但需要额外的预计算表,即存储复杂度则会增加24㊂综上,整个攻击的时间复杂度为2109,数据复杂度降为2109,存储复杂度为284㊂4 结束语利用差分枚举技术和反弹式思想,文中构造了Square 算法的4轮区分器,又通过多重集降低了预计算的存储复杂度以及通过减少明文数量降低了数据复杂度㊂研究了Square 密码算法的中间相遇攻击技术,首次给出了6轮Square 算法的中间相遇攻击,整个攻击的数据复杂度为2109,时间复杂度2109,存储复杂度为284㊂参考文献:[1] DAEMEN J ,KNUDSEN L ,RIJMEN V.The block cipherSQUARE [C ]//FSE 1997.Berlin :Springer ,1997:150-153.[2] KATZ J ,LINDELL Y.Introduction to modern cryptography :principles and protocols [M ].[s.l.]:Chapman and Hall /CRC ,2007.[3] 冯国登,吴文玲.分组密码的分析和设计[M ].北京:清华大学出版社,2000.[4] 李 超,孙 兵.分组密码的攻击方法与实例分析[M ].北京:科学出版社,2010.[5] DERBEZ P ,PERRIN L.Meet -in -the -Middle attacks andstructural analysis of round -reduced PRINCE [C ]//FSE 2015.Istanbul ,Turkey :[s.n.],2015:190-216.[6] BIRYUKOV A ,DERBEZ P ,PERRIN L.Differential analysisand Meet -in -the -Middle attack against round -reduced TWINE [C ]//FSE 2015.Berlin :Springer ,2015:3-27.[7] 崔竞一,郭建胜,刘翼鹏.Crypton 算法的不可能差分分析[J ].计算机研究与发展,2017,54(7):1525-1536.[8] DIFFIE W ,HELLMAN M E.Special feature exhaustive cry⁃ptanalysis of the NBS data encryption standard [J ].Comput⁃er ,1977,10(6):74-84.[9] DEMIRCI H ,SELCUK A A.A meet -in -the -middle attackon 8-round AES [C ]//FSE 2008.[s.l.]:[s.n.],2008:116-126.[10]DUNKELMAN O ,KELLER N ,SHAMIR A.Improved sin⁃gle -key attacks on 8-round AES [C ]//ASIACRYPT 2010.[s.l.]:[s.n.],2010:158-176.[11]李永光,曾 光,韩文报.11轮3D 密码算法的中间相遇攻击[J ].信息工程大学学报,2015,16(2):133-138.[12]刘 超,廖福成,卫宏儒.对简化轮数的Crypton 算法的中间相遇攻击[J ].软件工程与应用,2012,1(2):17-23.[13]LIN Li ,WU Wenling.Improved meet -in -the -middle attackson reduced -round Kalyna -128/256and Kalyna -256/512[J ].Designs Codes &Cryptography ,2017,86(4):1-21.[14]KOO B ,YEOM Y ,SONG J.Related -key boomerang attackon block cipher square [J ].IEICE Transactions on Funda⁃mentals of Electronics ,Communications and Computer Sci⁃ences ,2011,94(1):3-9.[15]王 哲,张文英.对5轮Square 的中间相遇攻击[J ].计算机技术与发展,2011(6):132-139.㊃011㊃ 计算机技术与发展 第29卷。