Page 391 - 《软件学报》2026年第5期
P. 391

2270                                                       软件学报  2026  年第  37  卷第  5  期


                                    ℓ
                 可能值, 故   ∆-序列 Γ 5  有  2  个可能值. 证毕.
                  4.1.2    3-cell 型  GFS  的  8  轮  DS-MITM  攻击及复杂度分析
                    本节利用命题      2  构造的  6  轮中间相遇区分器, 分别向前向后扩展          1  轮, 实现  8  轮  3-cell 型  GFS  的  DS-MITM
                 攻击, 攻击包括预计算阶段和在线阶段, 具体过程见图                5(b).
                    预计算阶段: 详细过程如定理         3  所示, 并将   ∆-序列 Γ 5  的  2  种可能值存储在表  T 9  中.
                                                                ℓ

                    在线阶段: 包括数据收集和密钥恢复两部分.
                    1) 数据收集. 包括如下     3  个步骤.
                                             ℓ
                                       m, a ∈ F , 如图  5(b) 所示, 构造满足区分器第    1                 ∆x 的两个明文
                    (1.1) 任意选取两个向量                                          分支差分输入差分为
                                             2
                              ℓ                      ℓ                          ′        ℓ×3         2ℓ
                 集  {(0,m,a),...,(2 −1,m,a)},{(0,m⊕∆x,a),...,(2 −1,m⊕∆x,a)}, 对应差分  ∆P = (∆x ,∆x,0 ℓ ) ∈ F 2  , 将得到的  2   个
                 明文对存储在表      T P  中.
                                     ℓ                   (u 1 ,m,a) 和 (u 2 ,m⊕∆x,a) 分别进行        2ℓ  个差分为
                    (1.2) 对任意  u 1 , u 2 ∈ F , 将差分为   ∆P 的明文对                       8  轮加密得到   2
                                     2
                 (0 ℓ ,∆z,∆z ) ∈ F ℓ×3   的密文对, 并将其存储在表  T C  中. 对于给定的  ∆x,∆z, 由于  ∆P 和  ∆C  均以概率  p 1 = p 2 = 2 −ℓ  分别
                        ′
                            2
                 传播到区分器的输入差分          (∆x,0 ℓ ,0 ℓ )  和输出差分  (∆z,0 ℓ ,∆z), 则  8  轮截断差分传播概率为  p = 2 −2ℓ . 因此, 至少有
                  −2ℓ  2ℓ                                      ′               ′
                 2 ×2 = 1  个明密文对   (P 0 ,P)  和  (C 0 ,C)  满足图  5(b) 所示  (∆x ,∆x,0 ℓ ) → (0 ℓ ,∆z,∆z )  的  8  轮差分特征.
                    (1.3) 根据步骤                                   0  0   0     b-δ-集 G = {P r = (X ⊕∆F ,X ⊕r,
                                                                                            0

                                                                                                  I
                                                                                                    0
                                (1.2) 得到的明文对
                                              (P 0 ,P), 利用明文
                                                            P 0 = (X ,X ,X ) 构造
                                                                 0,1  0,2  0,3              0,1   0  0,2
                                                                   b
                  0           b      I   ℓ               (P 0 ,P r ), r ∈ [2 −1], 并进行             (C 0 ,C r ),
                 X )|r ∈ {0,1,...,2 −1}, ∆F ∈ F }, 利用  G 构造明文对                8 轮加密得到对应的密文对
                                         2
                                     0
                  0,3
                        2 −1 个明密文对满足图      5(b) 所示的  8  轮差分特征.
                         b
                 因此得到
                    2) 密钥恢复. 包括如下     4  个步骤.
                    (2.1) 选取步骤  (1.3) 中的一个明文对    (P 0 ,P r ), 根据性质  1, 利用   F(t 0 )⊕ F(t 0 ⊕∆x ) = ∆x 确定  t 0  的唯一值. 当   取
                                                                                                     r
                                                                                ′
                    b                 b                    ′                        k 0 = t 0 ⊕(X ⊕∆F ) 确定子
                                                                                                 I
                                                                                            0
                 遍   [2 −1] 时, 将得到  t 0  的  2 −1 个可能值存储在以  (∆x ,∆x,0 ℓ ) 为索引的表  T 10  中, 再由
                                                                                            0,1  0
                         b
                 密钥  k 0  的  2 −1 个可能值.
                                  b                             r  r  r                    ′
                                                         ,
                    (2.2) 对每个  r ∈ [2 −1], 依次选取密文对  (C 0 ,C r ) C r = (X ,X ,X ), 显然   C 0 ⊕C r = (0 ℓ ,∆z,∆z ). 猜测子密钥   k 7
                                                                8,1  8,2  8,3
                 的值, 根据性质    1  和  F(k 7 ⊕ X ) = X ⊕ X ⊕ X  r   确定  X r   的唯一值. 当  r  取遍  [2 −1] 时, 将得到  X  r   的  2 −1 个可
                                            r
                                       r
                                                r
                                                                              b
                                                                                                 b
                                       7,1  8,1  8,2  8,3  7,1                              7,1
                                   ′
                 能值存储在以     (0 ℓ ,∆z,∆z ) 为索引的表  T 11  中.
                            k 7  的猜测值, 对步骤                  {C 0 ,C 1 ,...,C 2 b −1 } 分别进行部分解密, 得到区分器输出处的
                    (2.3) 根据                (1.3) 得到的密文集
                        r   r  r  r    ℓ×3          b                                           0   r

                 可能值  X = (X ,X ,X ) ∈ F , r ∈ {0,1,...,2 −1}, 从而得到  ∆-序列 Γ 6 = (∆ 1 ,∆ 2 ,···,∆ 2 b −1 ), 其中,  ∆ r = X ⊕ X ,   r ∈
                        7   7,1  7,2  7,3  2                                                   7,1  7,1
                  b
                 [2 −1].
                                 b                         ,   b
                    (2.4) 将得到的   2 −1 个明密文对   (P 0 ,P r ) 和  (C 0 ,C r ) 2 −1 组子密钥  (k 0 ,k 7 ) 以及相应的  ∆-序列 Γ 6 = (∆ 1 ,∆ 2 ,...,
                 ∆ 2 b −1 ) 存储在表  T 12  中. 类似地, 当   b ⩾ 3 时, 检查表  T 9  和  T 12  中的  ∆-序列 是否匹配, 若匹配, 则猜测的子密钥  k 0  和   k 7
                 为正确密钥; 否则, 匹配不成功, 另外选取一对明文重复上述步骤                  (2.1)–(2.4).
                    下面给出攻击的复杂度分析.
                                                       ℓ                             O(2 +2 ) ≈ O(2 )  个选择
                                                                                                 ℓ
                                                                                           ℓ
                                                                                        ℓ
                    (1) 由于在线阶段构造了两个大小分别为              2  的明文集, 故该攻击的数据复杂度为
                 明文.
                                                                                 2ℓ
                    (2) 由于预计算阶段构造表       T 9  和在线阶段猜测密钥所需的时间复杂度均为             O(2 ) 次  8  轮加密, 因此, 攻击所需
                              O(2 ) 次  8  轮加密.
                                2ℓ
                 的时间复杂度为
                                                       2ℓ         b
                    (3) 存储表  T 9  和  T 12  所需的存储复杂度为   O(2 ) 个长度为  (2 −1)ℓ 的比特块.
                    最后, 为了降低攻击的时间复杂度, 需要在            Q1  模型下对   3-cell 型  GFS  做量子并行运算, 此处我们给出该结构
                 的  8  轮量子  DS-MITM  攻击及复杂度分析, 具体见定理       4.
                    定理  4. 利用命题   2  构造的中间相遇区分器可对         3-cell 型  GFS  进行  8  轮量子  DS-MITM  攻击, 数据复杂度为
                    ℓ                        3ℓ/ 2                        2ℓ
                 O(2 ) 个选择密文, 时间复杂度为      O(2  ·ℓ) 次量子查询, 存储复杂度为       O(2 ·ℓ) 个量子比特.
                    证明: 量子   DS-MITM  攻击过程与第    3.3  节类似, 不再赘述.
   386   387   388   389   390   391   392   393   394   395   396