摘要
文章主要关注Elephant-Delirium算法的安全性分析。Elephant算法是美国国家标准与技术研究所主导的轻量级密码算法标准最终轮候选算法之一。Elephant加密算法的内部将密钥通过一个可逆变换扩展为秘密掩码,然后对内部状态使用置换达到混淆和扩散的目的。Elephant-Delirium是Elephant的加密算法实例,采用Keccak-f[200]置换作为底层置换。文章利用Keccak-f[200]置换中非线性操作的代数次数为2的性质,构造出5轮Keccak-f[200]置换的零和区分器。在此区分器的基础上,文章使用分治法猜测Elephant-Delirium算法第6轮输出中的秘密掩码,并利用所构造的零和区分器筛选出正确的秘密掩码。在不重用随机数(nonce)的条件下,文章以100%的准确率和100%的成功率实现了6轮Elephant-Delirium的密钥恢复攻击,在单核CPU上的实际运行时间约为2.8 s。这是对Elephant-Delirium算法的第一个实际密钥恢复攻击。同时,文章利用立方攻击的思想扩展了优化插值攻击,从而将8轮Elephant-Delirium算法密钥恢复攻击的复杂度从298.3降到了295.2。
-
单位中国科学院大学; 信息安全国家重点实验室; 中国科学院信息工程研究所