Page 373 - 《软件学报》2025年第5期
P. 373
李玮 等: 基于代数关系的轻量级密码 DEFAULT 统计故障分析 2273
本文针对 DEFAULT 密码的内部结构, 将代数关系和统计故障分析相结合, 提出了基于代数关系的新型统计
故障分析方法, 将故障注入位置扩展至更深的轮数, 并且实现了唯密文基本假设下的密钥破解. 同时, 本文提出基
于 AD 检验的新型区分器设计, 在成功率、故障数和耗时等方面优于经典区分器, 表 2 以 AES 密码、Piccolo 密码
以及 DEFAULT 密码的密钥恢复为例, 总结了各区分器破译密码的结果对比.
表 2 针对 AES、Piccolo 和 DEFAULT 的统计故障分析结果比较
AES [18] Piccolo [19] DEFAULT
区分器
故障注入轮 故障数 (个) 成功率 (%) 故障注入轮 故障数 (个) 成功率 (%) 故障注入轮 故障数 (个) 成功率 (%)
SEI 倒数第1轮 320 99 倒数第2轮 ∞ 28 倒数第3轮 ∞ 6
MLE 倒数第1轮 224 99 倒数第2轮 313 99 倒数第3轮 2 080 84
HW 倒数第1轮 288 99 倒数第2轮 364 99 倒数第3轮 1 472 99
AD-SEI - - - - - - 倒数第3轮 2 048 99
AD-MLE - - - - - - 倒数第3轮 1 408 99
AD-HW - - - - - - 倒数第3轮 1 344 99
2 DEFAULT 密码简介
2.1 符号说明
Z 为 e e 比特的二进制向量集合.
记 2
4 32
4 32
记 X ∈ (Z ) 和 Y ∈ (Z ) 分别为 128 比特的明文和密文.
2 2
4 32
4 32
记 K ∈ (Z ) 和 RK r ∈ (Z ) 分别为 128 比特的原始密钥和第 r+1 轮密钥, 其中 r ∈ [0,79] .
2
2
SC L 分别为内外核轮的 S AK 分别为比特置
记 SC C 和 盒替换, AC C 和 AC L 分别为内外核轮的轮常数加, PB 和
换和轮密钥加. 记 SC C −1 、 SC −1 、 AC −1 、 AC −1 、 PB −1 和 AK −1 分别为以上操作的逆运算.
L
L
C
D r 分别为第 r+1 轮
记 A r 、 B r 、 C r 和 S 盒替换、比特置换、轮常数加和轮密钥加的输出状态值, 其中, r ∈ [0,79] .
记 ⊕ 和 ⊞ 分别为轮密钥加和轮常数加, mod、/和 || 分别为模、除法和级联运算.
2.2 算法参数
DEFAULT 是于 2021 年亚洲密码学年会中提出的一种新型轻量级分组密码 [26] . 该算法采用代换置换网络结
构, 分组长度和密钥长度均为 128 比特, 总轮数为 80 轮, 每轮的轮函数均包括 4 种运算: S 盒替换、比特置换、轮
常数加和轮密钥加, 如图 1 所示, 加密过程如算法 1 所示. 解密过程同加密过程, 轮密钥采用相反的顺序.
28 轮 24 轮 28 轮
S 盒替换 S 盒替换 S 盒替换 S 盒替换 S 盒替换 S 盒替换
明 比特置换 … 比特置换 比特置换 … 比特置换 比特置换 … 比特置换 密
文 轮常数加 轮常数加 轮常数加 轮常数加 轮常数加 轮常数加 文
轮密钥加 轮密钥加 轮密钥加 轮密钥加 轮密钥加 轮密钥加
S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S 盒替换
比特置换
轮常数加
轮密钥加
图 1 DEFAULT 密码示意图