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,
   375   376   377   378   379   380   381   382   383   384   385