引用格式:刘健,张岩,黄丁韫,等. 约减轮数轻量级密码PFP的密钥恢复分析[J].网络安全与数据治理,2025,44(10):35-39.
引言
在当今数字化时代,随着物联网和嵌入式设备的广泛应用[1],如何在体积小、能耗低、软硬件计算资源受限[2]等环境中确保数据安全性,已经成为密码研究的一个重要课题。轻量级分组密码算法以其高效的加密速度和较低的资源占用,逐渐成为当今密码领域的研究热点。这些算法不仅在物联网中得到了广泛应用,还延伸至5G/6G通信、智能医疗、车联网等高安全性和高实时性场景,进一步凸显了其重要性和应用价值。
近年来,众多轻量级密码算法相继被提出,如PRESENT、LBlock、ZORRO、PFP等[3-6]。与传统的分组密码算法相比,这些算法在设计时通常会降低复杂度以适应资源受限的环境,这可能导致其安全性下降,从而增加被攻击的风险。因此,对轻量级分组密码算法进行系统的安全性分析显得尤为重要。分析成果既可以为密码算法的应用提供参考,也可以为后续设计者提供相应的参考。对于分组密码,目前有效的分析方法包括差分分析[7]、线性分析[8]、不可能差分分析[9]、中间相遇攻击、积分分析等。其中,差分分析最早是由Biham等人[10]于1991年针对DES提出的,这种攻击方法本质上是寻找密码算法中的高概率差分特征以此构成相应差分路径来恢复密钥,并且其对具有迭代差分属性的分组密码是十分高效的。近年来,随着计算技术的发展,许多基于数学工具的自动化搜索最优解技术逐渐成熟,如基于混合整数线性规划(MILP)、基于布尔可满足性问题(SAT/SMT)求解等。
在轻量级分组密码中,PFP算法是2017年黄玉划等人[6]提出的一种基于FeistelSP结构的轻量级分组密码,其设计借鉴了国际标准PRESENT算法,但在软硬件实现效率上超越了PRESENT算法。在设计者提出PFP算法之初,便通过差分分析、不可能差分分析、线性分析等方法对该算法进行了安全性评估。其中,对于差分分析设计者指出加密15轮时,PFP至少有53个活跃的S盒,并以此计算PFP算法的15轮差分概率为2-106,从而推断该算法没有明显的 15轮差分特征;并且设计者也用他们找到的5轮不可能差分区分器,进行了6轮的不可能差分攻击。然而,2020年沈璇等人[9]找到了7轮不可能差分区分器,并进行了9轮的攻击;2023年李艳俊等人[11]找到PFP算法的4轮迭代差分路径,从而构造了22轮的区分器,并实现了26轮的密钥恢复攻击。2024年陆金玉等人[12]建立了PFP算法的SMT模型,找到了20条概率为2-10的4轮迭代差分,并以此构造了25轮的差分路径,基于该差分路径实现了27轮的密钥恢复攻击。
本文在文献[12]构造的25轮区分器基础上,前面增加1轮,后面增加2轮,形成28轮简化的加密算法。通过分析新增3轮的结构特点,进行了明文结构构造,并利用提前抛弃技术优化密钥猜测过程,首次实现了对PFP算法28轮的密钥恢复,整个攻击的过程需要263个明文的数据量,时间复杂度约为257.2次28轮加密。表1给出了PFP算法现有攻击结果比较。
本文详细内容请下载:
//www.51qz.net/resource/share/2000006824
作者信息:
刘健1,2,张岩1,黄丁韫3,王伊婷1,章涛1
(1.中国电子科技集团公司第十五研究所信息产业信息安全测评中心,北京100083;
2.清华大学 网络科学与网络空间研究院,北京100084;
3.北京电子科技学院 密码科学与技术系,北京100070)

