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

黄明 等: 分组密码复杂线性层可分性传播的             MILP  刻画方法                                    1981


                 longer than the previous optimal integral distinguisher.
                 Key words:  mixed integer linear programming (MILP); division property; linear layer; Hamming weight; integral distinguisher

                    随着计算机和网络技术的飞速发展, 世界已进入信息化时代. 在信息的传播过程中, 如何确保数据的安全是密
                 码学领域的一个重要研究方向. 分组密码具有加解密速度快、结构简单等特点, 被广泛地应用于数据加密、消息
                 鉴别、消息认证及密钥管理. 另一方面, 分组密码的使用离不开对密码算法广泛的安全性分析. 积分攻击                                   [1] 是
                 Knudsen  等人于  2002  年提出的一种选择明文攻击, 该攻击方法的核心步骤是构造密码算法的积分区分器, 通过上
                                                                                                 [2]
                 述积分区分器可以将密码算法和随机置换进行区分, 从而进行密钥恢复攻击. 可分性                           (division property)  是  Todo
                 在  EUROCRYPT 2015  上提出一种广义积分性质, 利用可分性可以对密码算法积分性质进行更加精确的刻画, 其
                 中一个显著的应用是首次在理论上对             MISTY1  算法进行了全轮攻击       [3]  , 随后, Sun  等人给出了具体可分性集合大
                 小的下界   [4] . 可分性最初被提出之时, Todo    仅给出了基于字的可分性刻画           [2] . 为了更加精确地刻画积分性质, Todo
                                                                      [5]
                 等人在   FSE 2016  提出基于比特的可分性      (bit-based division property) , 然而上述方法受限于复杂度只能用于不超
                 过  32  比特的分组密码.
                    混合整数线性规划       (mixed integer linear programming, MILP) 是一种在线性约束条件下求解线性目标函数的
                 数学问题. 2011  年  Mouha 等人  [6] 将  MILP  应用于搜索分组密码算法差分和线性活跃          S  盒数量的下界. 随后, Sun
                 等人  [7] 在  ASIACRYPT 2014  上进行了更加深入的研究, 并提出利用        MILP  求解基于比特密码算法的活跃          S  盒下
                 界. Xiang  等人  [8]  在  ASIACRYPT 2016  首次将  MILP  应用于可分性传播的刻画, 并借用   MILP  求解器有效地搜索
                 分组长度大于     32  比特且线性层为比特置换结构密码算法的积分区分器. 随后, 通过                  MILP  模型搜索具有复杂线性
                 层分组密码的积分区分器成为重要的研究方向.
                    目前, 利用   MILP  模型搜索复杂线性层密码算法积分区分器的方法主要有如下                    4  种.
                    Sun  等人  [9] 的方法  (记为   SW 方法): 给定一个矩阵  M ∈ F n×n  , Sun  等人提出任意的线性变换均可以用一系列复
                                                                2
                 制和异或操作进行建模. 该方法可以应用于任何复杂的线性层, 但是它会引入大量无效的可分迹, 从而导致输出比
                 特更快地失去平衡. 因此, 该方法可能无法得到最优的积分区分器.
                    Zhang  等人  [10] 的方法  (记为   ZR 方法): 给定一个可逆矩阵  M ∈ F n×n , Zhang  等人通过研究发现矩阵  M  的有效可
                                                                     2
                 分迹与   M  可逆子矩阵之间具有一一对应的关系. 因此, 作者将刻画线性层比特可分性的传播转化为刻画可逆子矩
                 阵. 该方法可以完全精确地刻画线性层的可分性传播, 但是它仅可以应用于二元矩阵.
                    ElSheikh  等人  [11] 的方法  (记为  EY 方法): 给定一个可逆矩阵  M ∈ F n×n ,  ElSheikh  等人在  ZR 方法的基础上通过
                                                                       2
                 输入可分性搜索使得对应子矩阵为满秩的输出可分性, 从而获得有效的可分迹. 在上述过程中, 由于需要确定线性
                 层的输入可分性, 因此随着加密轮数的增加, 其线性层输入可分性的数量会非常庞大, 从而导致上述过程难以实
                 现. 因此, 作者仅将该思路应用于密码算法的第             1  轮加密, 而其他轮数则仍然使用        SW  方法.
                    Hong  等人  [12] 的方法  (记为   HZ 方法): 给定一个可逆矩阵   M ∈ F n×n  , Hong  等人利用线性层优化实现算法获得
                                                                     2
                 矩阵  M  的优化实现, 随后根据可分性的传播规则对矩阵               M  的优化实现进行建模, 从而更加精确地刻画矩阵              M  的
                 可分性传播. 该方法尽管可以应用于任意复杂的线性层, 但是它只能删除                      SW  方法引入的部分无效可分迹.
                    针对上述几种方法存在的局限性, 本文进一步研究复杂线性层可分性传播的刻画方法, 并提出一种新的动态
                 选取可分性传播的技术, 该技术根据输入可分性的汉明重量选取不同的刻画方法, 进而达到模型精确程度和求解
                                                 M ∈ F n×n                       wt(u) = i (1 ⩽ i ⩽ n−1),  那么使
                 效率之间的折中. 对一个复杂线性层矩阵                    ,  如果其输入可分性的汉明重量
                                                      2
                                                                                                  i
                                                                                                      i
                 用  ZR 方法精确刻画矩阵      M  所有输入可分性汉明重量为         i 的可分性的传播需要的不等式数量                 = C .  当   的
                                                                                                  n
                                                                                          #L ZR i
                 取值趋近于    n/2 时,    #L ZR i  的值将趋于最大值; 相反地, 当  i 的取值趋近于   1  或  n−1 时,   #L ZR i   的值将趋于最小值.
                 受启发于上述思想, 本文将输入可分性按汉明重量的不同进行分类, 并采用不同的方法刻画不同汉明重量下的可
                 分性传播, 即在输入可分性汉明重量趋于             n/2 时, 采用  HZ 方法画线性层的可分性传播; 否则, 采用           ZR 方法刻画
                                                          HZ 方法, 该技术可以更加精确地刻画线性层的可分性传播;
                 线性层的可分性传播. 相比于         SW 方法、   EY 方法和
                 相比于   ZR 方法, 该技术可以应用于任意复杂的线性层. 为了体现本文技术的有效性, 我们将该技术应用于搜索
   398   399   400   401   402   403   404   405   406   407   408