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. 与经典区分器相比, 新型区分器的耗时均更少.