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

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


                                     ℓ                                    ℓ                            ′
                 {(a,m,0),(a,m,1),...,(a,m,2 −1)}, {(a,m⊕∆x,0),(a,m⊕∆x,1),...,(a,m⊕∆x,2 −1)}, 相应的明文差分  ∆P=(0 ℓ ,∆x,∆x )
                   ℓ×3     2ℓ
                 ∈ F , 将这  2   个明文对存储在列表     T P  中.
                   2
                                     ℓ                   (a,m,u 1 ) 和 (a,m⊕∆x,u 2 ) 分别进行        2ℓ  个差分为
                    (1.2) 对任意  u 1 , u 2 ∈ F , 将差分为   ∆P 的明文对                       6  轮加密得到   2
                                     2
                 ∆C = (∆z,∆z ,0 ℓ ) ∈ F ℓ×3   的密文对, 并将其存储在列表  T C  中. 对于给定的  ∆x, ∆z, 由于明密文差分  ∆P 和  ∆C  均以概
                          ′
                                2
                 率   p 1 = p 2 = 2 −ℓ   分别传播到区分器的输入差分   (∆x,0 ℓ ,0 ℓ )  和输出差分   (0 ℓ ,∆z,0 ℓ ), 则  6  轮截断差分传播概率为
                                        −2ℓ
                                            2ℓ
                 p = p 1 p 2 = 2 −2ℓ  . 因此, 至少有  2 ×2 = 1 个明密文对  (P 0 ,P) ∈ F 3ℓ×2   和  (C 0 ,C) ∈ F 3ℓ×2  满足图  2(b) 所示的  6  轮差分特
                                                                 2            2
                          ′
                                   ′
                 征  (0 ℓ ,∆x,∆x ) → (∆z,∆z ,0 ℓ ).
                    (1.3) 根据步骤  (1.2) 得到的明文对   (P 0 ,P), 利用   P 0 = (X ,X ,X ) 构造  b-δ-集 G = {P r = X ,X ⊕r,X ⊕∆F )|r
                                                                   0
                                                                                                     O
                                                                0
                                                            0
                                                                                       0
                                                                                          0
                                                                                                0

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

                             5   5,1  5,2  5,3  2                                                     5,3
                         b
                  r
                 X , r ∈ [2 −1].
                  5,3
                    (2.4) 将步骤  (1.3) 中的   2 −1 个明密文对  (P 0 ,P r ) 和  (C 0 ,C r ), 步骤  (2.1)–(2.3) 中的  2 −1 组子密钥  (k 0,2 ,k 5,1 ,k 5,2 )
                                                                                    b
                                       b
                 以及相应的    ∆-序列 Γ 2 = (∆ 1 ,∆ 2 ,...,∆ 2 b −1 ) 存储在以  ∆ r  为索引的表  T 4  中. 当  b ⩾ 3 时, 检查表  T 1  和  T 4  中的  ∆-序列 是
                                           (k 0,2 ,k 5,1 ,k 5,2 )  为正确密钥; 否则, 匹配不成功, 另外选取一对明文重复上述步骤
                 否匹配, 若匹配, 则猜测的子密钥
                 (2.1)–(2.4).
                    下面给出攻击的复杂度分析.
                                                     ℓ                              ℓ   ℓ    ℓ
                    (1) 由于在线阶段构造了两个大小分别为            2  的明文集, 故该攻击的数据复杂度为          O(2 +2 ) ≈ O(2 ) 个选择明文.
                                                               2ℓ
                    (2) 由于预计算阶段构造表        T 1  所需的时间复杂度为    O(2 ) 次  6  轮加密, 在线阶段猜测子密钥所需的时间复杂
                                                               3ℓ
                       3ℓ
                     O(2 ) 次  6                             O(2 ) 次  6  轮加密.
                 度为          轮加密, 因此, 攻击所需的时间复杂度为
                                                                             ℓ
                                                      b                                        T 4  所需的存
                    (3) 由于存储的是    ∆-序列, 而  ∆-序列 中有   2 −1 个  , 且每个  ∆ i  的长度为   比特, 故存储表   T 1  和
                                                           ∆ i
                             2ℓ  2ℓ    2ℓ         b
                 储复杂度为    O(2 +2 ) ≈ O(2 ) 个长度为  (2 −1)ℓ  的比特块.
                  2.3   3  分支  Type-III 型  GFS  的  6  轮量子  DS-MITM  攻击及复杂度分析
                    本节首先基于命题       1  构造的  4  轮中间相遇区分器, 分别向前向后扩展           1  轮, 实现  3  分支  Type-III 型  GFS  的  6
                 轮量子   DS-MITM  攻击; 其次, 对攻击的复杂度进行分析.
                    攻击过程包括预计算阶段和在线阶段.
                                                                            2ℓ
                                                                                               ℓ
                                                                         O(2 ) 次  6          O(2 ) 次量子查
                    1) 预计算阶段. 通过量子并行叠加, 将经典环境下的时间复杂度从                            轮加密降低到
                 询, 具体步骤如下.
                    (1.1) 根据区分器第   1        ∆x 制备量子叠加态:
                                     分支差分
                                                    2 ℓ −1   2 ℓ −1
                                                    ∑  1     ∑   1
                                               |φ 1 ⟩ =  √  |∆z⟩  √  |∆y⟩|∆x⟩.
                                                        2 ℓ      2 ℓ
                                                    ∆z=0     ∆y=0
                    (1.2) 依据公式  (1) 利用              |φ 1 ⟩ 得到图           ,   ,    t 3,2 , 即:
                                      Grover 算法搜索           3(a) 中的状态   t 1,1 t 2,1 t 3,1  和
   380   381   382   383   384   385   386   387   388   389   390