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

2276                                                       软件学报  2025  年第  36  卷第  5  期


                                        Y = AK(AC L (PB(SC L (AK(C 78 )))))

                                          = AC L (PB(SC L (C 78 ⊕RK 78 )))⊕RK 79
                                          = AC L (PB(SC L (C 78 ⊕RK 78 ⊕∆in)⊕∆out))⊕RK 79
                                          = AC L (PB(SC L (C 78 ⊕RK 78 ⊕∆in))⊕ PB(∆out)⊕RK 79
                                          = AC L (PB(SC L (C 78 ⊕RK 78 ⊕∆in))⊕(RK 79 ⊕ PB(∆out))      (5)
                    所以对于任意给定的输入输出差分对              (∆in, ∆out) , 最后两轮密钥  (RK 78 , RK 79 ) 均有对应的等价轮密钥  (RK 78 ⊕
                 ∆in, RK 79 ⊕ PB(∆out))  . 攻击者使用正确轮密钥、等价轮密钥分别对同一          S  盒输入进行加密, 均能够得到相同的
                 输出.

                                      40
                                                                              均匀分布
                                      35                                      非均匀分布
                                         31.64
                                      30
                                    半字节的分布律 (%)  25

                                      20
                                      15
                                      10
                                      5     10.55 10.55  3.51  10.55  3.51  3.51  10.55  3.51  3.51  3.51
                                                              1.18       1.18  1.18  1.18  0.38
                                      0
                                         1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16
                                                           半字节取值
                                                     图 2 半字节分布律

                    在外核轮的设计中, 每个        S  盒含有  3  组特殊的差分输入和差分输出对, 分别为: (6, 10)、(9, 15) 和      (15, 5). 对于
                 单个  S  盒, 若产生  4  组密钥解, 则这  4  组密钥解均能从    S  盒的输出倒推回正确的输入, 导致现有的统计故障分析难
                 以对等价密钥进行筛选. 当故障注入轮数越深, 涉及的轮密钥数量越多, 相应的等价密钥空间越大, 进一步增加恢
                 复唯一原始密钥的难度. 如表         5  所示,   rk 77  、  rk 78  和  rk 79  分别表示最后  3  轮中运算中, 某个  S  盒替换运算对应的半
                           pb 表示对应位置半字节的比特置换操作.
                 字节轮密钥,

                                              表 5 最后   2  轮及最后  3  轮的密钥解

                                序号               最后2轮等价密钥                   最后3轮等价密钥
                                 1                 (rk 78 ,rk 79 )          (rk 77 ,rk 78 ,rk 79 )
                                 2             (rk 78 ⊕6,rk 79 ⊕ pb(10))  (rk 77 ,rk 78 ⊕6,rk 79 ⊕ pb(10))
                                 3             (rk 78 ⊕9,rk 79 ⊕ pb(15))  (rk 77 ,rk 78 ⊕9,rk 79 ⊕ pb(15))
                                 4             (rk 78 ⊕15,rk 79 ⊕ pb(5))  (rk 77 ,rk 78 ⊕15,rk 79 ⊕ pb(5))
                                 5                    -                 (rk 77 ⊕6,rk 78 ⊕ pb(10),rk 79 )
                                 6                    -                 (rk 77 ⊕9,rk 78 ⊕ pb(15),rk 79 )
                                 7                    -                 (rk 77 ⊕15,rk 78 ⊕ pb(5),rk 79 )

                    攻击者在进行统计故障分析时, 即使区分器能筛选出全部的等价密钥, 但仍然不能正确区分等价密钥与正确
                 密钥. 对最后两轮加密过程进行分析时, 若每个              S  盒产生  4  组密钥解, 则对于全部    32  个  S  盒, 最终会产生  4 = 2 64
                                                                                                   32
                 个等价密钥. 若分析过程扩展到最后           3  轮计算, 则会出现以下两种情况.
                    情况  1. 若等价轮密钥出现在倒数第         1  轮和倒数第   2  轮时, 则:

                               Y = AC L (PB(SC L (AC L (PB(SC L (C 77 ⊕RK 77 )))⊕RK 78 ⊕∆in)⊕∆out))⊕RK 79
                                 = AC L (PB(SC L (AC L (PB(SC L (C 77 ⊕RK 77 )))⊕RK 78 ⊕∆in)))⊕(RK 79 ⊕ PB(∆out))  (6)
                    情况  2. 若等价轮密钥出现在倒数第         2  轮和倒数第   3  轮时, 则:
   371   372   373   374   375   376   377   378   379   380   381