Page 404 - 《软件学报》2024年第4期
P. 404

1982                                                       软件学报  2024  年第  35  卷第  4  期


                 uBlock [12] 和  Saturni [13] 算法的积分区分器, 且均获得了比之前最优积分区分器长一轮的区分器, 具体的代码与实验
                 结果分别见    https://gitee.com/hm0813/MILP_BDP  与表  1, 其中   C , A , B , U  分别表示  i 个常数比特, 活跃比特, 平衡
                                                                          i
                                                                       i
                                                                 i
                                                                    i
                 比特, 以及未知比特. 值得注意的是: 在文献           [13] 中, 作者提出一种完全精确刻画复杂线性层矩阵的可分性传播方
                 法, 但是该方法受限于约束条件为高次约束, 因此不能直接应用于                     MILP  建模, 且该方法限制矩阵的阶数最大为
                 64  阶, 而本文的方法可以应用于更高阶数的线性层矩阵.

                                                 表 1    密码算法的积分区分器

                             密码算法          轮数           积分区分器            数据复杂度          参考
                                                      (    )  (  )
                                                        4 124
                                            7          C A  → B 128        2 124        [14]

                                                            (     )
                                                     (    )
                                                               2
                                                      4 124
                                            8        C A  → (BU B) 32        2 124      [15]

                             uBlock128
                                                     (    )  (  2 32  )     124
                                                      4 124
                                            8        C A  → (BUB )           2         第3.1节

                                                             (    )
                                                     (    )
                                                               3
                                            9         ACA 124  → (U B) 32    2 127     第3.1节

                                                      (    )  (  )
                                                        4 252
                                            8          C A  → B 256          2 252      [14]

                                                    (      )  (    )
                                                      32 96 2
                                            8        (C A )  → (U B) 64      2 192      [15]
                                                                3

                                                            (     )
                                                     (    )
                                                      8 248
                                                               2
                             uBlock256      9        C A  → (BU B) 64        2 248      [15]

                                                             (    )
                                                     (    )      64         253
                                            10        C A  → (U B)           2         第3.1节
                                                       3 253
                                                               3

                                                      (    )  (  )
                                            10           ACA 253  → B 256    2 255     第3.1节
                                            8              -                 2 253      [16]
                             Saturnin256              (    )  (  )
                                                        20 236
                                            9            C A  → B 256        2 236     第3.2节
                          注: -表示文献[16]仅给出代数次数评估, 未提供具体的积分区分器

                  1   基础知识
                    本节将介绍一些常用符号, 比特可分性的相关性质与二元矩阵定义以及                        MILP  的  Indicator 约束和建模规则.
                  1.1   符 号
                                               F 2  表示只含有  0  和  1                               F 2  和整数
                    本节将对文中常用符号进行描述.                             两个元素的有限域,      ⊕  和+分别表示有限域
                              n                                    n
                                                                             i
                 环   Z  上的加法,   F  表示  F 2  上的  n 维向量空间. 对于任意向量   a ∈ F ,   记  a 的第   个的坐标为  a i ,  则  a 的汉明重量可
                                                                   2
                              2
                              ∑ n−1
                                                                                  n
                                                                                                       ′
                                                                        ′
                                                                  ′
                                                                      ′
                 以表示为   wt(a) =   a i .  给定任意两个向量   k = (k 0 ,k 1 ,...,k n−1 ), k = (k ,k ,...,k ′ n−1 ) ∈ F ,  若对于任意的   i 都有  k i ⩾ k  ,
                                                                                                       i
                                                                                  2
                                                                        1
                                                                      0
                                i=0
                         ′         ′
                 则称   k ⩾ k ;  否则,   k ⩾̸ k  .
                                                    n             n                      n
                    ● 比特乘积函数     π u (x) :  给定任意的  u ∈ F ,  记   π u (x) 为一个  F → F 2  的函数. 对任意的  x ∈ F  定义  π u (x) 如下:
                                                    2             2                      2
                                                              n ∏
                                                       π u (x) =  x i .
                                                                 u i
                                                             i=1
                    ● 代数正规型    ANF: 若   f(x) 为一个   F → F 2  上的布尔函数, 则   f(x) 的代数正规型表示为:
                                                n
                                                2
                                                             
                                                          n
                                                        ∏    
                                                        f    u i   f
                                                              
                                               f(x) = ⊕ a   x i  = ⊕ a (π u (x)),
                                                    u∈F n u      u∈F n u
                                                      2           2
                                                         i=1
                       f
                 其中,    a u ∈ {0, 1} 表示单项式  π u (x) 的系数, 它的具体取值只与   f  和  u 有关.
                  1.2   比特可分性的相关性质与二元矩阵定义
                    比特可分性包括二子集比特可分性和三子集比特可分性. 本文只考虑二子集比特可分性, 因此本文提到的比
   399   400   401   402   403   404   405   406   407   408   409