论文部分内容阅读
QARMA算法是在TOSC 2017上发布的一族带有Tweak的轻量级分组密码算法,它有64与128比特两种分组长度的版本,分别记为QARMA-64与QARMA-128。设n是分组长度(n可取64与128),此时Tweak的长度为n比特,密钥长度为2n 比特。设计者声明QARMA-n可提供2n比特的安全性。目前,针对QARMA算法有一些分析结果。Zong等人在2016年对QAR-MA算法进行了中间相遇攻击。Yang等人于2018年针对QARMA算法进行了不可能差分攻击,由于该攻击的复杂性超出了设计者的安全性声明,所以其攻击是无效的。目前为止,对QARMA-64算法最佳的分析结果是2019年Li等人所进行的10轮相关Tweak统计饱和度分析,该攻击的时间复杂度为259次10轮加密,数据复杂度为259个已知明文。对QARMA-128算法最佳的分析结果是Li等人所进行的11轮Tweak差分不变偏差攻击,该攻击的时间复杂度为2126.1次11轮加密,数据复杂度为2126.1个己知明文,DT(数据与时间复杂度的乘积)为2252.2.符合作者的安全性声明,该攻击是有效的。Zong等人提出了一种自动化搜索相关密钥不可能差分特征的方法,受他们方法的启发,我们对QARMA算法进行了相关Tweakey不可能差分路线的自动化搜索。为了降低数据复杂性,我们尝试在区分器头部增加活跃字节,并通过构造结构体来降低所需明文的数量。根据本文所提出的扩散矩阵M的差分传递性质,结合设计者在设计文档中所提出差分传递性质,我们对自动化工具搜索出的结果做了适量调整,得到两类6轮相关Tweakey不可能差分区分器。该区分器从QARMA算法的第7轮开始,到第12轮结束。本文对QARMA算法的混淆矩阵M进行分析,发现当矩阵M的输入差分满足某些限制条件时,可预测其输出差分的某些字节是否活跃。应用该性质,结合设计者所提出的差分传递性质,我们构造了两类6轮的相关Tweakey不可能差分区分器。接着,论文对QARMA抵抗相关Tweakey不可能差分分析的能力进行研究。基于两个平行的区分器,使用等价密钥技术,本文对于带有外层白化密钥的QARMA-128算法,进行了密钥恢复攻击。该攻击的DT= 2224.96,显然小于2256,容易验证该攻击有效。与前人的研究结果相比,我们的时间与存储复杂度均有显著提升。本文亦对10轮QARMA-64算法进行了密钥恢复攻击。基于6轮区分器,本文分别对不带外层QARMA-64/128算法进行11轮相关Tweakey不可能差分攻击,且攻击有效。