论文部分内容阅读
分组密码算法加解密速度快、易于软硬件实现和标准化,通常是信息加密、消息识别等环境中的核心加密算法,因此广泛应用于各类信息通信设备中。分组密码算法通常利用多输出布尔函数进行算法设计,且算法的安全性分析与多输出布尔函数的密码学性质息息相关。因此,分析多输出布尔函数的密码学性质对分组密码算法的安全性评估具有重要的研究意义。本文通过分析差分均匀度及代数次数两个安全性指标,对分组密码算法进行安全性评估。主要研究结果如下:1.对16轮的LiCi算法进行不可能差分分析。Patil等人于2017年提出LiCi轻量级分组密码算法,并声称“16轮的简化轮算法能够抵抗差分攻击及线性攻击”。利用S盒差分分布的不均匀性,结合中间相遇思想,构造了一个10轮的不可能差分区分器。在此基础上,向加解密方向各扩展3轮,利用S盒差分概率及密钥编排规律,给出了 16轮LiCi算法的密钥恢复方案。该攻击所需要的时间复杂度约为283.08次16轮加密,数据复杂度约为259.76选择明文,存储复杂度约为276.76数据块。证实了 16轮简化的LiCi算法无法抵抗不可能差分攻击。2.针对GIFT算法,构造出两条6轮的不可能差分区分器。GIFT是Banik等人于CHES 2017会议上提出的轻量级分组密码。基于GIFT算法的结构特性及S盒输入输出差分的分布特性,结合中间相遇思想,构造出两条6轮的不可能差分区分器。与已有结果相比,这是目前发现的最长的不可能差分区分器。3.对PRESENT、GIFT及Keccak算法的代数次数进行拟合评估。针对分组密码算法,提出了一种代数次数拟合评估的新方法——最大项追踪技术,即在拟合评估的过程中,追踪变量函数中的最大项和次大项,通过迭代运算获得代数次数的近似值。拟合评估结果显示:PRESENT-64-80/128、GIFT-64/128-128 算法在第 15/20、22/20轮达到最大代数次数144*/192*、192*/256*(将明文及密钥均视为变量);Keccak-512/384/256/224在第 13/13/14/15轮达到最大代数次数576*/832*/1088*/1152*。结果证实全轮的PRESENT、GIFT及Keccak算法仍具备一定的安全冗余。(注:“a*”表示该值为a或a-1)