Page 380 - 《软件学报》2025年第5期
P. 380
2280 软件学报 2025 年第 36 卷第 5 期
3.4.2 新型区分器
AD 检验 (Anderson Darling test) 是由 Anderson 和 Darling 于 1954 年提出的一种非参数检验方法, 通常用于评
估数据集与特定分布之间的拟合程度 [29] . 对于给定的数据集和分布, 如果分布与数据的拟合越好, AD 检验就将产
生较小的统计量. 该方法被广泛应用于统计学、可靠性检验以及异常检测等领域. AD 检验的表达式为:
w−1
∑
2
E AD = [u(φ)−v(φ)] p(φ) (18)
φ=0
其中, w 表示半字节所有可能取值个数, φ 为故障注入后所有可能中间状态值, u(φ) 表示中间状态值小于 φ 的实际
概率, v(φ) 表示中间状态值小于 φ 的理论概率, p(φ) 表示中间状态值等于 φ 的理论概率.
AD 检验统计量用于衡量中间状态值与理论分布之间的拟合程度. 只有通过正确密钥推导得到的中间状态值
的分布才能接近理论概率分布. 因此, 当使用 AD 检验时, 正确密钥即对应统计量最小值.
(1) AD 检验-平方欧氏距离 (Anderson Darling test-square Euclidean imbalance, AD-SEI)
结合该密码的设计, 本文提出 SEI 区分器的改进表达式, 计算样本偏离中间状态值理论分布的程度. 改进 SEI
的公式为:
w−1 ( ) 2
∑ n(φ)
E SEI = − p(φ) (19)
m
φ=0
其中, p(φ) 表示中间状态值为 φ 的理论概率. 当 SEI 取最小值时, 代表该密钥对应的中间状态值与理论分布契合程
度最高, 所以 SEI 最小值对应的候选密钥为正确密钥. AD-SEI 区分器将 AD 检验和 SEI 区分器融合, 首先对得到
的中间状态值计算其对应的 AD 检验统计量, 对密钥进行初步筛选, 然后对剩下的密钥计算其改进后的 SEI 统计
量, 最小值对应的密钥即为正确密钥.
(2) AD 检验-极大似然估计 (Anderson Darling test-maximum likelihood estimate, AD-MLE)
AD-MLE 区分器融合了 AD 检验和极大似然估计两者的特点. 首先, 对于实验获得的每组中间状态值, 攻击者
计算相应的 AD 检验统计量, 并保留那些具有较小统计量值的密钥, 以进行密钥粗筛. 接下来, 对于剩余的候选密
钥, 分别计算它们对应的极大似然估计统计量值, 最大值对应的候选密钥即为正确密钥. AD-MLE 区分器可以通
过 AD 检验初步筛选候选密钥, 缩小极大似然估计区分器的筛选范围.
(3) AD 检验-汉明重量 (Anderson Darling test-Hamming weight, AD-HW)
AD-HW 区分器将 AD 检验和汉明重量区分器相结合, 先使用 AD 检验, 对每组候选密钥得到的中间状态值进
行筛选, 保留较小 AD 检验统计量值对应的候选密钥, 再使用汉明重量区分器对得到的候选密钥进行筛选, 并选择
最小的汉明重量值对应的密钥, 即为正确密钥. 表 6 总结了本文使用的区分器取值情况以及筛选过程说明.
表 6 不同区分器的取值和说明
区分器 取值范围 筛选过程
SEI 最大值 评估中间状态偏离平均分布的程度, 选择偏离平均程度最大的样本
MLE 最大值 评估中间状态的出现概率, 选择概率最大的统计样本
HW 最小值 评估中间状态的汉明重量, 选择汉明重量最小的统计样本
AD最小值
AD-SEI 先使用AD和SEI, 再选择最小AD值且中间状态偏离理论分布最小的统计样本
SEI最小值
AD最小值
AD-MLE 先使用AD和MLE, 再选择最小AD值且中间状态出现概率最大的统计样本
MLE最大值
AD最小值
AD-HW 先使用AD和HW, 再选择出最小AD值且最小汉明重量的统计样本
HW最小值
4 实验分析
本文使用计算机模拟实现 DEFAULT 密码故障分析过程, 所使用的设备 CPU 为 Intel(R) Core(TM) i5-10400F,