Page 381 - 《软件学报》2025年第5期
P. 381

李玮 等: 基于代数关系的轻量级密码          DEFAULT  统计故障分析                                     2281


                 并且编程语言为      Java 语言. 本文共进行了    10 000  次实验, 包括故障注入、中间状态推导、区分器筛选、等价密钥
                 恢复和原始密钥恢复等过程. 当区分器达到最高成功率时, 该方法可以筛选出所有等价密钥, 且区分器得到的等价
                 密钥值和数量均相同. 代数方程的求解时间和复杂度仅取决于等价密钥的数量, 因此在步骤                             5  中代数方程求解所
                 需的时间及时间复杂度均为          1 980.26 h  和  2 66.58  . 以下第  4.1–4.4  节中为获取全部等价密钥的各项指标, 具体如附录
                 表  A1  和表  A2  所示.

                 4.1   故障数
                    故障数是评估故障分析效果的主要标准, 指攻击者为了恢复密钥所需要使用的故障总数. 若所需故障数量越
                 少, 攻击者越容易在物联网环境下实施攻击. 如图              5  所示, SEI 和  MLE  区分器在所有的区分器中, 随着故障数的增
                 加, 只能够达到    6%  和  84%  的成功率. 如表  2  所示, 与经典区分器相比, 新型区分器          AD-SEI、AD-MLE   和  AD-
                 HW  仅需  2048、1 408  和  1 344  个故障, 即可实现以  99%  的成功率筛选出   128  比特密钥. 在降低故障数方面, 新型
                 区分器具有较大的优势, 其中, AD-HW         区分器所需故障数量最少.


                             2 200
                             2 000

                            故障数 (个)  1 800
                             1 600
                             1 400
                             1 200

                             1 000
                                      SEI     AD- ISEI   MLE      AD-MLE      HW       AD-HW
                               100                   100                   100
                                                                  AD-MLE
                               80                     90          MLE       95
                              成功率 (%)  60            成功率 (%)  80           成功率 (%)  90
                               40
                               20           SEI       70                    85           AD-HW
                                            AD-SEI
                                                                                         HW
                                0                     60                    80
                                1 500  1 700  1 900  2 100  1 000 1 300 1 600 1 900  1 000  1 200  1 400
                                      故障数 (个)               故障数 (个)                故障数 (个)
                                         图 5 各区分器恢复原始密钥所需故障数及成功率


                 4.2   成功率
                    成功率是指在指定的故障数下成功破解密钥的概率. 后文图                    6  为各个区分器恢复原始密钥的成功率对比, 其
                 中横纵坐标分别为故障数和恢复密钥的成功率. 分析可知, SEI 区分器的成功率一直较低, 最高仅为                            6%; 当故障数
                 达到  2 048 个, AD-SEI 区分器能实现  99%  的成功率. 同理, MLE  区分器的成功率一直在         80%  上下波动, 而  AD-MLE
                 通过结合   AD  检验, 当故障数为    1 408  个故障, 成功率达到   99%  及以上. 在所有区分器中, AD-HW       区分器在相同故
                 障数下具有更好的表现, 能以         1 344  个故障实现  99%  及以上的成功率.

                 4.3   耗 时
                    耗时是指从注入故障到推导中间状态值并使用区分器对其分析, 进而获得所有等价密钥所需要的时间. 图                                   7
                 展示了在不同故障数下各区分器恢复             128  比特密钥所需的时间, 其中横纵坐标分别表示注入的总故障数和在指定
                 故障数下各区分器所需的累计时间. 在            AD-SEI、AD-MLE  和  AD-HW  区分器以   99%  以上的成功率恢复      128  比特
                 密钥的情况下, 耗时分别为         52.16 min、52.47 min  和  48.38 min. 与经典区分器相比, 新型区分器的耗时均更少.
   376   377   378   379   380   381   382   383   384   385   386