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

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



                 1. RK 0 =K
                 2. FOR r = 1 TO 3 DO
                 3.    T = RK r−1
                 4.  FOR t = 1 TO 4 DO
                 5.     T = AC(PB(SC L (T)))
                 6.  END FOR

                 7.    RK r = T
                 8. END FOR
                 9. FOR r = 4 TO 79 DO
                 10.     RK r = RK r mod 4
                 11. END FOR

                 12. RETURN   RK 0 , RK 1 ,..., RK 78 , RK 79

                 3   基于代数关系的统计故障分析

                    在唯密文攻击下, 经典的统计故障分析方法一般需要从错误密文倒推中间状态, 并利用中间状态值的统
                 计分布信息, 选择合适的区分器来筛选正确密钥. 由于                  DEFAULT  密码的外核轮选用了特别的           S  盒设计, 攻击
                 者在进行攻击倒推时, 会出现相同的中间状态分布对应不同的轮密钥, 待搜索的密钥空间达到                                  2 89.84  及以上,
                 难以缩减到唯一破译密钥的有限范围. 本文提出一种结合代数关系的统计故障分析方法, 利用唯密文攻击获
                 得的随机密文, 通过构造密钥编排方案中不同轮密钥之间的代数关系对密钥进行筛选, 并采用新型区分器去
                 破译密码.

                 3.1   基本假设和故障模型
                    本文采用唯密文攻击的基本假设, 攻击者仅需获得多个由相同原始密钥加密过的密文. 在正确加密过程中, 半
                 字节中间状态值通常服从均匀分布, 每个值出现的概率为:

                                                     100%÷16 = 6.25%                                  (1)
                    本文采用随机半字节的故障模型, 攻击者在密码设备加密过程中, 通过按位“与”的方式注入半字节故障. 中间
                 状态值受故障影响后的分布会变得不均匀, 分布概率满足:

                                                  ( ) 4−hw(φ) ( ) hw(φ)  4−hw(φ)
                                                   3       1     3
                                                         ·      =                                     (2)
                                                   4       4       4 4
                 其中,    φ 为中间状态的所有可能值,      hw(φ) 表示   φ 的汉明重量. 本文采用随机半字节模型,        φ ∈ [0,15] 且  hw(φ) ∈ [0,3] .
                 图  2  给出了半字节中间状态正常加密时的均匀分布和受故障影响后的非均匀分布的分布率, 非均匀分布和均匀分
                 布的概率之和分别为       100%.

                 3.2   S  盒及代数关系的分析构造
                    根据外核轮函数的设计, 若         S  盒替换运算的任意两个输入的差分值等于为              ∆in ∈ (Z )   , 那么该差分输出值必
                                                                                    4 32
                                                                                    2
                                 4 32
                 定为确定的    ∆out ∈ (Z )   . 结合  S  盒替换运算和  S  盒的差分特性, 有:
                                 2
                                           SC L (C 78 ⊕RK 78 )⊕SC L (C 78 ⊕RK 78 ⊕∆in) = ∆out         (3)
                    可得:

                                           SC L (C 78 ⊕RK 78 ) = SC L (C 78 ⊕RK 78 ⊕∆in)⊕∆out         (4)
                    结合算法最后两轮运算, 有:
   370   371   372   373   374   375   376   377   378   379   380