新的低轮Keccak线性结构设计
2018-11-22刘晓强韦永壮刘争红
刘晓强,韦永壮,刘争红
(1.广西密码学与信息安全重点实验室(桂林电子科技大学),广西 桂林 541004;2.广西无线宽带通信与信号处理重点实验室(桂林电子科技大学),广西 桂林 541004; 3.广西高校云计算与复杂系统重点实验室(桂林电子科技大学),广西 桂林 541004)(*通信作者电子邮箱walker_wyz@guet.edu.cn)
0 引言
鉴于MD5(Message-Digest Algorithm 5)及SHA-1(Secure Hash Algorithm 1)等主流Hash算法被成功攻破[1],2007年美国国家标准与技术研究院(National Institute of Standards and Technology, NIST)开展了SHA-3标准的征集活动[2]。经历三轮的筛选,NIST最终在2012年10月2日宣布SHA-3竞赛的获胜算法是Keccak算法[3],并于2015年8月将标准化的Keccak作为SHA-3标准[4]1-2。Keccak算法由比利时密码研究组Bertoni 等[5]领衔设计,该算法基于新颖的海绵结构,具有有效抵抗碰撞攻击、原像攻击和第二原像攻击等能力,同时兼顾快速软、硬件实现的优势[6]。
自2007年起,由于Keccak算法全球应用的广泛性和重要性,针对Keccak的多种攻击方法被相继提出和研究:文献[7]中针对Keccak-224、Keccak-256提出了4轮实际碰撞;文献[8]中针对SHAKE128(Secure Hash Algorithm Keccak 128)[4]20-21和两个Keccak挑战[9](Keccak[r=1 440]、Keccak[r=640])给出了5轮的实际碰撞攻击;文献[10]针对Keccak-224给出了5轮的实际碰撞,针对Keccak挑战Keccak[r=1 440] 给出了6轮的实际碰撞攻击;文献[11]中对Keccak进行了8轮实际区分攻击;文献[12]中对Keccak进行了9轮实际区分攻击;文献[13]中对Keccak-224/256/384/512进行了15轮理论区分攻击、11轮实际区分攻击,并针对Keccak-224/256、SHAKE128和Keccak挑战Keccak[r=1 440]进行了4轮实际原像攻击。
研究表明,针对Keccak算法S盒层的线性分解方法[7-8, 10-13]是当前研究关键点之一,同时这种线性思想已经被应用到Keccak的几个变体算法分析中[14-15]。文献[13]中首次提出了线性结构的概念,并使用这种线性化思想,针对2轮顺S盒层变换及1轮逆S盒层变换进行线性分解,进而设计出多个零和区分器。……
