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

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


                    第  1 节为预备知识, 主要介绍符号约定、相关性的定义及差分-线性分析的框架. 第                      2 节介绍本文改进的差分-
                 线性区分器搜索算法. 第       3  节介绍所提搜索算法在       SPECK32  和  SPECK48  上的应用. 第  4  节是本文总结.

                  1   预备知识

                  1.1   符号和定义
                    表  2  给出了本文中用到的符号及其定义.

                                                      表 2 符号定义

                       符号                            描述                           符号           描述
                        ⊕                          XOR操作                           ·         向量内积
                       ⊞ ⊟                        模加/模减操作                          °         函数复合
                        /
                        [i]           第  i 个分量取值为1, 其他分量取值为0的单位向量                 ≪         循环右移位
                     [i 0 ,i 1 ,...,i l ]  第  i 0 ,i 1 ,...,i l  个分量取值为1, 其他分量取值为0的向量  ≫    循环左移位
                        |S |                    集合  S  中元素的个数                      ∪        集合求并集

                    定义                n          f : F → F 2 , 相关性被定义为:
                                                    n
                                      2             2
                        1. 给定集合   S ⊆ F  和布尔函数
                                                            1  ∑
                                                  Cor x∈S ( f) :=  (−1) f(x) .
                                                            |S |
                                                               x∈S
                  1.2   差分-线性分析
                    Langford  等人  [7] 结合差分分析和线性分析, 提出了差分-线性分析, 接下来我们统称              Langford  等人的框架为原
                 始的差分-线性分析框架. 在原始的差分-线性分析框架中, 密码算法                   E  被分解为   E 0  和  E 1  两部分, 即  E = E 1 ◦ E 0 , 其
                                                                        E 0
                 中   E 0  和  E 1  部分的轮数分别为   r 0  和  . 在   E 0  部分有概率为   p 的差分   ∆ in −→ ∆ m , 在  E 1  部分有相关性为  q 的线性逼近
                                            r 1
                                                                     E
                 λ in −→ λ out , 如图  1  所示. 密码算法  E  的   r 0 +r 1  轮的差分-线性逼近  ∆ in −→ λ out  的相关性被计算为:
                   E 1

                                                                         2
                                               Cor(λ out · E(x)⊕λ out · E(x⊕∆ in )) = pq .

                                                            Δ in
                                                     E 0           E 0
                                                             p
                                                            Δ m
                                                         λ m  λ m
                                                           q  q
                                                     E 1           E 1
                                                         λ out  λ out
                                                图 1 原始的差分-线性分析框架

                    原始的差分-线性分析框架依赖于如下的两个假设.
                    (1)   E 0  部分和  E 1  部分之间是相互独立的.
                                                                   1
                    (2) 当  ∆ X = E 0 (x)⊕ E 0 (x⊕∆ in ) , ∆ m , λ out ·∆ X = 0 成立的概率为  .
                                                                   2
                    然而, 后续的研究指出上述两个假设在实际中并不一定是满足的. Biham                    等人  [8] 指出假设  (2) 在许多情况下是
                 不满足的, 并给出了相关的实验验证. 之后, Blondeau          等人  [9] 给出了在不依赖于假设     (2) 的情况下的差分-线性逼近
                 相关性的计算公式. 在假设        E 0  部分和  E 1  部分之间是相互独立的情况下, 差分-线性区分器的相关性被计算为:

                                                       ∑
                              Cor(λ out · E(x)⊕λ out · E(x⊕∆ in )) =  Cor(λ m · E 0 (x)⊕λ m · E 0 (x⊕∆ in ))·Cor(λ m ,λ out ).
                                                        λ m
                    关于   E 0  部分和  E 1  部分之间的依赖性问题很长一段时间内没有被解决. Boomerang           分析也是一种差分类的组
                 合分析方法, 在    boomerang  分析中也存在类似的依赖性问题. Cid        等人  [11] 给出了  BCT  表  (boomerang  连接表) 来解
   392   393   394   395   396   397   398   399   400   401   402