张国双, 陈 晓, 王 安, 刘凤梅
1. 中国科学院 信息工程研究所 信息安全国家重点实验室, 北京 100093
2. 中国科学院大学 网络空间安全学院, 北京 100049
3. 北京理工大学 计算机学院, 北京 100081
4. 数据通信技术研究所, 北京 100191
加密和认证是密码的两个基本属性. 现代网络保密通信中, 几乎所有的网络安全协议都需要同时具备加密和认证两种功能. 2013 年, 国际密码协会IACR (International Association for Cryptologic Research) 面向全球发起了征集认证加密算法的CAESAR (Competition for Authenticated Encryption:Security, Applicability, and Robustness) 竞赛活动, 旨在遴选安全高效的认证加密算法, 进一步增强网络保密通信的安全性. 整个竞赛活动持续6 年时间, 最终有6 个算法胜出, ACORN v3 算法便是其中之一.
ACORN 算法由伍宏军[1]提出, 采用特定设计的序列密码结构, 是一个面向比特的轻量级认证加密算法, 其新颖的设计和轻量化的高效实现特点引起了国内外密码学界的广泛关注和研究兴趣. ACORN 算法自发布以来历经三个版本[1–3], 目前的最新版本是ACORN v3. 当前, 针对ACORN 算法安全性研究主要有以下几类: 基于Nonce 重用的状态恢复攻击[4–7]、初始化轮数缩减的Cube 攻击[8–13]、差分故障分析[14–17]、基于SAT 求解器密钥/状态恢复攻击[18]以及其它类型的攻击和分析[19–22].
差分故障分析是密码分析的常用方法. 1997 年, Biham 和Shamir[23]首次将差分分析的思想引入到故障攻击[24]中, 提出了差分故障分析的概念, 并对DES 类的密码算法进行了攻击. Hoch 和Shamir[25]将差分故障分析应用到序列密码分析中, 其允许攻击者通过利用激光枪或时钟脉冲[26,27]等可以向内部状态注入1 比特或多比特故障, 然后通过分析……