CN104158796B - 分组密码抗线性攻击安全性的评估方法 - Google Patents

分组密码抗线性攻击安全性的评估方法 Download PDF

Info

Publication number
CN104158796B
CN104158796B CN201410331997.9A CN201410331997A CN104158796B CN 104158796 B CN104158796 B CN 104158796B CN 201410331997 A CN201410331997 A CN 201410331997A CN 104158796 B CN104158796 B CN 104158796B
Authority
CN
China
Prior art keywords
linear
block cipher
boxes
variable
lower bound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410331997.9A
Other languages
English (en)
Other versions
CN104158796A (zh
Inventor
胡磊
孙思维
乔珂欣
马小双
宋凌
王鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201410331997.9A priority Critical patent/CN104158796B/zh
Publication of CN104158796A publication Critical patent/CN104158796A/zh
Application granted granted Critical
Publication of CN104158796B publication Critical patent/CN104158796B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种分组密码抗线性攻击安全性的评估方法,包括:将分组密码分成前后两个部分;先对第一部分建立第一混合整数线性规划模型,并求解以获得第一部分中的活跃S盒个数的下界,记为第一下界;再对整个所述分组密码建立第二混合整数线性规划模型,并求解以获得第二部分中的活跃S盒个数的下界,记为第二下界;之后、将第一下界与第二下界的和作为所述分组密码的活跃S盒个数的下界,并进一步确定所述分组密码的线性逼近表达式的最大偏差概率的上界。本发明的方法所获得的分组密码的抗线性攻击的安全性的高低的可靠性更高。

Description

分组密码抗线性攻击安全性的评估方法
技术领域
本发明涉及信息安全分组密码设计与分析领域,特别涉及一种通过获取分组密码中活跃S盒个数下界的以进行分组密码抗线性攻击安全性的评估方法。
背景技术
对称密码是一种加解密使用相同密钥的密码体制,对称密码利用密钥和加密算法将明文变为密文。运用相同的密钥和解密算法,可以从密文恢复出明文。其中,分组密码是一种广泛使用的对称密码,它在长度为m比特主密钥的控制下将输入的明文分组当作一个整体加密处理,输出一个等长(如果明文长度是n,则密文长度也为n)的密文分组,解密则是指将密文在同一密钥的控制下恢复出明文。其中,n为明文的分组长度,m为主密钥长度,m为正整数,n为正整数。
分组密码的设计通常遵循两个原则:安全性原则和实现原则。现代分组密码主要采用轮迭代设计,即把密码学性质较弱的函数迭代多次以满足这两个原则。根据算法采用结构的不同,现行主要结构可分为Feistel(一种密码结构)结构、SPN(替换置换网络)结构和Lai-Massey(一种密码结构)结构等。这些结构都由基本运算构成,包括XOR(异或)、比特置换、数据分叉、S盒替换等。
对一个轮函数迭代r次的分组密码来说,该分组密码共有r轮,其中r为正整数。一个分组长度为n比特的r轮分组密码,每轮需要使用一个n比特子密钥,每轮用到的子密钥是由该分组密码的主密钥通过一个确定的密钥扩展算法得到的。
分组长度为n的分组密码的轮函数结构通常包括三个操作,如图1所示。这三个操作分别为:
(1)轮密钥异或操作。将轮函数的n个输入比特(图1中箭头表示)与相应轮的子密钥进行异或操作,并输出n个输出比特。
(2)分组S盒操作。将操作(1)中的n个输出比特分成n/w1组输出比特,其中w1为正整数,n被w1整除,从而每组输出比特均为w1比特;每组输出比特经过一个S盒后得到新的输出比特,其中所述S盒的输入为w1比特,输出为w2比特。共有n/w2个S盒分别处理经过步骤(1)的异或操作之后并分组的输出比特。
如图2所示,为一个S盒的输入输出示意图。一个输入为w1比特,输出为w2比特的S盒本质上是一个映射:
其中是有两个元素的有限域,简称二元域。通常S盒由一个表给出其映射规则,如表1中给出了一个4比特输入(w1=4)4比特输出(w2=4)S盒的映射规则。
表1:4比特输入4比特输出S盒的映射规则表
x 0000 0001 0010 0011 0100 0101 0110 0111
S(x) 1100 0101 0110 1011 1001 0000 1010 1101
x 1000 1001 1010 1011 1100 1101 1110 1111
S(x) 0011 1110 1111 1000 0100 0111 0001 0010
由表1可知:S(0000)=1100、S(0001)=0101、S(0010)=0110、S(0011)=1011、S(0100)=1001、S(0101)=0000、S(0110)=1010、S(0111)=1101、S(1000)=0011、S(1001)=1110、S(1010)=1111、S(1011)=1000、S(1100)=0100、S(1101)=0111、S(1110)=0001、S(1111)=0010。
(3)、线性扩散层操作。将操作(2)中S盒输出的比特经过一个线性变换得到输出比特作为下一个轮函数的输入比特。图3所示为一个输入为8比特、输出为8比特,包含异或运算和置换的线性层。
图1中,操作(2)和操作(3)也分别称为非线性替换层和线性扩散层。
现代信息社会中微型计算设备的广泛使用,使得对轻量级分组密码的需求越来越迫切。如何设计电路面积小,功耗低并且安全的轻量级分组密码,已在密码学界和工业界引起了广泛兴趣。使用硬件实现成本极低的比特级置换线性扩散层来构造轮函数,是得到轻量级SPN分组密码的方法之一。如PRESENT(一种轻量级分组密码的名称)其已成为国际标准的轻量级分组密码。比特级置换线性扩散层的作用是把所输入的比特的位置打乱,如在图1中,若所有S盒的输出比特长度总和为16比特,则可给出一个输入和输出长度都为16比特的比特级置换线性扩散层。
虽然以比特级置换作为线性扩散层构造的轮函数可以大大降低轮函数的硬件实现成本,但是,这种设计没有有效的抗线性攻击安全性自动化评估方法来确定轮函数需要迭代多少轮才能抵抗线性攻击。
线性攻击,也叫线性密码分析,它属于已知明文攻击方法,通过寻找明文和密文之间的一个“有效”的线性逼近表达式,将分组密码与随机置换区分开,并在此基础上进行密钥恢复攻击。
以下为线性攻击所涉及的若干定义。
定义1:内积
设a,b∈{0,1}n,其中a=(a1,a2,…,an)、b=(b1,b2,…bn),向量a与b的内积定义为
其中ai·bi表示比特ai和bi的与运算,即二元域上的乘法运算。
定义2:线性掩码
设X=(X1,X2,...,Xn)∈{0,1}n,则X的线性掩码定义为向量
ΓX=(ΓX1,ΓX2,...,ΓXn)∈{0,1}n
其中,ΓX和X的内积ΓX·X代表X的某些分量的线性组合,即
定义3:线性逼近表达式
设迭代分组密码的轮函数为F(x,k),给定一对线性掩码(α,β),则称α·x⊕β·F(x,k)为F(x,k)的线性逼近表达式。同样,称α·x⊕β·E(x,k)为分组密码E(x,k)的线性逼近表达式。
假设
则p表示线性逼近表达式α·x⊕β·F(x,k)=0的概率。在线性攻击中,掩码(α,β)对应的线性逼近表达式的偏差为
εF(α,β)=2p(α,β)-1
线性逼近表达式的偏差刻画了此轮函数与完全随机函数的区别。对于完全随机函数来说,任意给定掩码(α,β),其中α≠0,β≠0,则偏差ε(α,β)=0。对于轮函数F来说,εF(α,β)的绝对值越大,表明它与完全随机函数的区别越明显,进而线性攻击可以就此展开。
以下将不加区分地采用线性逼近表达式或线性掩码来刻画线性攻击。
定义4:线性壳
迭代分组密码的一条i轮线性壳是指一对掩码(β0i),其中β0是输入掩码,βi是输出掩码。
定义5:线性特征
迭代型分组密码的一条i轮线性特征Ω=(β01,...,βi)是指当输入掩码为β0,在i轮加密的过程中,中间状态Yj的掩码为βj,其中1≤j≤i。
定义6:线性壳的线性概率
迭代分组密码的一条i轮线性壳(β0i)的线性概率LP(α,β)也可记为LP(α→β),是指在输入X,轮密钥K1,K2,...,Ki取值独立且均匀分布的情形下,当输入掩码为β0时,在经过i轮加密后,输出掩码为βi的线性概率。
定义7:线性特征的线性概率
迭代分组密码的一条i轮线性特征Ω=(β01,...,βi)所对应的线性概率LP(Ω)是指在输入X,轮密钥K1,K2,...,Ki取值独立且均匀分布的情形下,当输入掩码为β0时,在加密过程中,中间状态Yj的掩码取值为βj的线性概率,其中1≤j≤i。
定义8:线性特征的级联
给定两条线性特征Ω1=(β12,...,βs),Ω2=(γ01,...,γt),若βs=γ0,则称Ω=(β01,...,βs1,...,γt)为Ω1和Ω2的级联,记为Ω=Ω1||Ω2,此时LP(Ω)=LP(Ω1)×LP(Ω2)。
定义9:迭代线性特征
若一条i轮线性特征Ω=(β01,...,βi-1i)满足β0=βi,则称Ω是一条i轮迭代线性特征。若Ω是迭代线性特征,则它自身可以级联,而且可以级联多次。
利用线性分析将分组密码与随机置换区分开,主要是利用随机置换线性逼近表达式的如下性质:
命题1
对{0,1}n上的随机置换任意给定掩码α和β,α≠0,β≠0,则LP(α,β)=0,即偏差ε(α,β)=0。
若找到了一条r-1轮线性逼近表达式(α,β),其线性概率LP(α,β)≠0,即偏差ε(α,β)≠0,则利用该线性逼近表达式可以将r-1轮的加密算法与随机置换区分开,利用该区分器(称为线性区分器)就可以对分组密码进行密钥恢复攻击。涉及多轮的线性逼近表达式可以通过涉及轮数相对较少的线性特征的级联获得。
考虑从上的线性映射L(用矩阵A来表示),假设y=Ax,若输出掩码为β,则β·y=(AT·β)·x。故此时,输入掩码α=AT·β。可见,对于线性映射,掩码传播无概率可言,它是确定性的,给定输出掩码β,则输入掩码必为α=AT·β。例如,异或操作两个输入比特的线性掩码和输出比特的线性掩码相等,即
z[1]=z[2]=z[3]
其中,z[1]、z[2]为所述异或操作的两个输入比特的线性掩码,z[3]为所述异或操作的输出比特的线性掩码。
对迭代型分组密码算法进行线性攻击的关键,在于观察到由S盒导出的线性逼近表达式的偏差特性。
定义10:S盒的线性逼近表
设m,的非线性映射(也称为S盒)记为给定 则定义
NS(α,β)=#INS(α,β)
构造2m×2n的表格如下:以α为行指标遍历β为列指标遍历行列交错处的项取值NS(α,β)-2m-1。α为S盒的输入掩码,β为S盒的输出掩码,三元数组(α,β,NS(α,β)-2m-1)按上述方式构成的表称为S盒的线性逼近表。表中数值为正,说明β·S(x)⊕α·x=0的可能性大一些;为负,说明β·S(x)⊕α·x=1的可能性大一些。例如与表2中的S盒的映射关系相对应的线性逼近表表3。
表2:S盒映射关系表
x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S(x) 4 15 3 8 13 10 12 0 11 5 7 14 2 6 1 9
表3:与表2对应的S盒的线性逼近表
研究S盒的线性逼近性质,就是研究非线性函数β·S(x)在多大程度上可以用线性函数α·x来逼近,如果逼近程度好,就说明由该输入掩码和输出掩码对S盒进行刻画时,所对应选择的输入比特和输出比特具有一定的相关性,这种相关性可以将S盒和随机意义下的函数区分开。
定义
给定随机(满足均匀分布)给定输入x,则α·x=β·S(x)将以概率PS=(α→β)成立,即输入线性掩码α依概率传播到输出线性掩码β。如果
则称线性逼近表达式α·x=β·S(x)有偏差,此时对线性攻击有效。
高概率的线性逼近表达式(α,β)使得线性攻击更加有效,而高概率的线性逼近表达式依赖于线性特征所涉及的线性活跃S盒的个数。
定义11:线性活跃S盒
将输出掩码非零的S盒称为线性活跃S盒。
线性掩码以一定概率传播只发生在活跃S盒处,而在线性层的传播是确定性的,因此根据密码方案的线性特征所涉及的最少活跃S盒个数及S盒的线性逼近表达式的最大偏差可以给出线性逼近表达式的概率的上界,当此上界足够小时,可以说明密码方案抗线性攻击的安全性够高,被评估的分组密码很安全。
发明内容
有鉴于此,本发明提供一种分组密码抗线性攻击安全性的评估方法,以获得所述分组密码的线性逼近表达式的最大偏差概率的上界。
本申请的技术方案是这样实现的:
一种分组密码抗线性攻击安全性的评估方法,包括:
步骤1、将分组密码分成两个部分,其中第一部分为所述分组密码的至少前1轮,第二部分为所述分组密码中除第一部分以外的其它所有轮;
步骤2、对所述分组密码的第一部分中的每一个运算的输入和输出比特分别引入一个线性掩码变量;
步骤3、对所述分组密码的第一部分中的每一个S盒引入线性活跃变量;
步骤4、针对所述分组密码的第一部分中的每一个线性掩码变量和每一个线性活跃变量赋予一限制集,并以最小化所述分组密码的第一部分中的所有S盒的线性活跃变量之和为第一目标函数,建立第一混合整数线性规划模型;
步骤5、求解所述第一混合整数线性规划模型,以获得所述分组密码的第一部分中的活跃S盒个数的下界,记为第一下界;
步骤6、对整个所述分组密码每一个运算的输入和输出比特分别引入一个线性掩码变量;
步骤7、对整个所述分组密码的每一个S盒引入线性活跃变量;
步骤8、针对整个所述分组密码的每一个线性掩码变量和每一个线性活跃变量赋予所述限制集,并增加所述分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界的限制,以最小化所述分组密码的第二部分中的所有S盒的线性活跃变量之和为第二目标函数,建立第二混合整数线性规划模型;
步骤9、求解所述第二混合整数线性规划模型,以获得所述分组密码的第二部分中的活跃S盒个数的下界,记为第二下界;
步骤10、将所述第一下界与第二下界的和作为所述分组密码的活跃S盒个数的下界,并利用所述分组密码的活跃S盒个数的下界确定所述分组密码的线性逼近表达式的最大偏差概率的上界。
进一步,所述分组密码的分组长度为B比特,所述分组密码共有R轮,每一轮中具有T个S盒,所述分组密码中共有G个S盒,每个S盒具有P个输入比特和P个输出比特;
其中,G=T×R,P=B/T,B、R、T、G、P均为正整数,且B能够被T整除;
所述第一部分为所述分组密码中的第1轮至第N轮,所述第二部分为所述分组密码中的第N+1轮至第R轮,其中,1≤N<R。
进一步,所述分组密码中,任意一个S盒的任意一个输入比特位置所引入的线性掩码变量表示为x[r,t,p],任意一个S盒的任意一个输出比特位置所引入的线性掩码变量表示为y[r,t,p],每个x[r,t,p]变量以及每个y[r,t,p]变量只取0和1其中的一个值;
若x[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为1;
若x[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为0;
若y[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为1;
若y[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为0;
其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数,p的取值范围为从1到P的整数。
进一步,所述分组密码中,任意一个S盒所引入的活跃变量表示为A[r,t],每个A[r,t]变量只取0和1其中的一个值;
若A[r,t]=1,则表示该A[r,t]所代表的S盒为活跃S盒;
若A[r,t]=0,则表示该A[r,t]所代表的S盒为不活跃S盒;
其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数。
进一步,所述限制集包括:
限制一:
保证当A[r,t]变量所代表的S盒为活跃S盒时,该S盒的输出线性掩码变量中,至少有一个输入比特变量的值为1,即:
x[r,t,1]+…+x[r,t,P]-A[r,t]≥0
限制二:
保证当A[r,t]变量所表示的S盒的输出线性掩码变量中有一个非零比特时,该S盒必须是活跃S盒,即:
x[r,t,p]-A[r,t]≤0
限制三:
非零输入线性掩码变量一定导致非零输出线性掩码变量,且非零输出线性掩码变量一定导致非零输入线性掩码变量,即:
Py[r,t,1]+…+Py[r,t,P]-x[r,t,1]-…-x[r,t,P]≥0
Px[r,t,1]+…+Px[r,t,P]-y[r,t,1]-…-y[r,t,P]≥0
限制四:
保证当A[r,t]变量所代表的S盒活跃时,输入线性掩码变量和输出线性掩码变量中至少有B比特非零,即:
x[r,t,1]+…+x[r,t,P]+y[r,t,1]+…+y[r,t,P]≥B×d
其中,d≥x[r,t,1]、…、d≥x[r,t,P]、d≥y[r,t,1]、…、d≥y[r,t,P],B为A[r,t]变量所代表的S盒的极大分支数;
限制五:
将所述S盒的凸闭包作为限制,所述S盒的凸闭包为该S盒的所有非零概率的线性特征所对应的点集的凸闭包的H-表示;
限制六:
所述分组密码的每一轮中,轮密钥异或操作的输入线性掩码变量和输出线性掩码变量限制为:
所述轮密钥异或操作的两个输入线性掩码变量和输出线性掩码变量相等,即:
z[1]=z[2]=z[3]
其中,z[1]、z[2]分别为所述轮密钥异或操作的两个输入比特的线性掩码变量,z[3]为所述轮密钥异或操作的输出比特的线性掩码变量;
限制七:
三叉结构中的一个分支的线性掩码变量等于另外两个分支的线性掩码变量的异或值,即
z[4]=z[5]⊕z[6]
其中,z[4]为所述三叉结构的任意一个分支比特的线性掩码变量,z[5]为所述三叉结构中除了z[4]所属分支比特以外两个分支比特中的任意一个分支比特的线性掩码变量,z[6]为所述三叉结构中除了z[4]和z[5]所属分支比特以外的分支比特的线性掩码变量;
限制八:
所述分组密码的输入差分不全为0。
进一步,对于所述限制七,在所述第一混合整数线性规划问题和第二混合整数线性规划问题中,采用如下的不等式组刻画表达式z[4]=z[5]⊕z[6]:
z[4]=z[5]+z[6]-2d
0≤d≤1
其中,d为虚拟变量,d、z[4]、z[5]、z[6]为0-1变量。
进一步,所述步骤4中的第一目标函数为:
进一步,步骤8中,所述分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界的限制为:
其中,k1为所述第一下界,即所述分组密码的第一部分中的活跃S盒个数的下界。
进一步,所述步骤8中的第二目标函数为:
进一步,所述步骤10中,所述分组密码的线性逼近表达式的最大偏差概率的上界通过下式获得:
其中,p为所述分组密码的线性逼近表达式的最大偏差概率的上界,ps为所述分组密码中S盒的线性逼近表达式的最大偏差概率,k1为所述第一下界,k2为所述第二下界。
从上述方案可以看出,本发明的分组密码抗线性攻击安全性的评估方法,由于其中分别采用了两套限制集和混合整数线性规划问题,进而可获得分组密码的两个活跃S盒个数下界最优值,再根据该两个活跃S盒个数下界最优值而最终确定分组密码的线性逼近表达式的最大偏差概率的上界,进而所确定出的分组密码的抗线性攻击的安全性的高低。与仅采用一套限制集和混合整数线性规划问题确定的分组密码的抗线性攻击的安全性的方法相比,本发明的方法所获得的分组密码的抗线性攻击的安全性的高低的可靠性更高。
附图说明
图1为分组密码的轮函数结构图;
图2为S盒的输入输出示意图;
图3为一个输入和输出长度都为8比特的置换线性扩散层的示意图;
图4为本发明的分组密码抗线性攻击安全性的评估方法的流程示意图;
图5为二维点集的凸闭包实施例示意图;
图6为三叉结构示意图;
图7为本发明所采用的三轮密码结构的分组密码实施例示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
如图4所示,本发明的分组密码抗线性攻击安全性的评估方法,包括:
步骤1、将分组密码分成两个部分,其中第一部分为所述分组密码的至少前1轮,第二部分为所述分组密码中除第一部分以外的其它所有轮;
步骤2、对所述分组密码的第一部分中的每一个运算的输入和输出比特分别引入一个线性掩码变量;
步骤3、对所述分组密码的第一部分中的每一个S盒引入线性活跃变量;
步骤4、针对所述分组密码的第一部分中的每一个线性掩码变量和每一个线性活跃变量赋予一限制集,并以最小化所述分组密码的第一部分中的所有S盒的线性活跃变量之和为第一目标函数,建立第一混合整数线性规划模型;
步骤5、求解所述第一混合整数线性规划模型,以获得所述分组密码的第一部分中的活跃S盒个数的下界,记为第一下界;
步骤6、对整个所述分组密码每一个运算的输入和输出比特分别引入一个线性掩码变量;
步骤7、对整个所述分组密码的每一个S盒引入线性活跃变量;
步骤8、针对整个所述分组密码的每一个线性掩码变量和每一个线性活跃变量赋予所述限制集,并增加所述分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界的限制,以最小化所述分组密码的第二部分中的所有S盒的线性活跃变量之和为第二目标函数,建立第二混合整数线性规划模型;
步骤9、求解所述第二混合整数线性规划模型,以获得所述分组密码的第二部分中的活跃S盒个数的下界,记为第二下界;
步骤10、将所述第一下界与第二下界的和作为所述分组密码的活跃S盒个数的下界,并利用所述分组密码的活跃S盒个数的下界确定所述分组密码的线性逼近表达式的最大偏差概率的上界。
本发明中,分组密码的基本构造如下。
所述分组密码的分组长度为B比特,分组密码共有R轮,每一轮中具有T个S盒,分组密码中共有G个S盒,每个S盒具有P个输入比特和P个输出比特;其中,G=T×R,P=B/T,B、R、T、G、P均为正整数,且B能够被T整除。
本发明的分组密码抗线性攻击安全性的评估方法中,所述分组密码的第一部分为所述分组密码中的第1轮至第N轮,所述第二部分为所述分组密码中的第N+1轮至第R轮,其中,1≤N<R。
所述分组密码中,任意一个S盒的任意一个输入比特位置所引入的线性掩码变量表示为x[r,t,p],任意一个S盒的任意一个输出比特位置所引入的线性掩码变量表示为y[r,t,p],每个x[r,t,p]变量以及每个y[r,t,p]变量只取0和1其中的一个值;
若x[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为1;
若x[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为0;
若y[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为1;
若y[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为0;
其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数,p的取值范围为从1到P的整数。
所述分组密码中,任意一个S盒所引入的活跃变量表示为A[r,t],每个A[r,t]变量只取0和1其中的一个值;
若A[r,t]=1,则表示该A[r,t]所代表的S盒为活跃S盒;
若A[r,t]=0,则表示该A[r,t]所代表的S盒为不活跃S盒;
其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数。
本发明的分组密码抗线性攻击安全性的评估方法中所使用的限制集包括如下限制一至限制八:
限制一:
保证当A[r,t]变量所代表的S盒为活跃S盒时,该S盒的输出线性掩码变量中,至少有一个输入比特变量的值为1,即:
x[r,t,1]+…+x[r,t,P]-A[r,t]≥0
限制二:
保证当A[r,t]变量所表示的S盒的输出线性掩码变量中有一个非零比特时,该S盒必须是活跃S盒,即:
x[r,t,p]-A[r,t]≤0
限制三:
非零输入线性掩码变量一定导致非零输出线性掩码变量,且非零输出线性掩码变量一定导致非零输入线性掩码变量,即:
Py[r,t,1]+…+Py[r,t,P]-x[r,t,1]-…-x[r,t,P]≥0
Px[r,t,1]+…+Px[r,t,P]-y[r,t,1]-…-y[r,t,P]≥0
限制四:
保证当A[r,t]变量所代表的S盒活跃时,输入线性掩码变量和输出线性掩码变量中至少有B比特非零,即:
x[r,t,1]+…+x[r,t,P]+y[r,t,1]+…+y[r,t,P]≥B×d
其中,d≥x[r,t,1]、…、d≥x[r,t,P]、d≥y[r,t,1]、…、d≥y[r,t,P],B为A[r,t]变量所代表的S盒的极大分支数;
限制五:
将所述S盒的凸闭包作为限制,所述S盒的凸闭包为该S盒的所有非零概率的线性特征所对应的点集的凸闭包的H-表示。其原理为:
根据A[r,t]变量所代表的S盒的线性逼近表,将每个非零位置对应的输入、输出掩码表示为一个2P维的向量,其中每个分量表示掩码的一个比特。例如将传播形式为0×9=1001→0×7=1110的掩码表示为(1,0,0,1,1,1,1,0)。则所有有偏差的线性逼近表达式组成了上的有限个离散的点。将包含上的有限个离散点构成的集合Q的最小凸集,称为Q的凸闭包。上的凸闭包可以由有限个线性等式和不等式的解集来刻画。这组不等式和等式称为凸闭包的H-表示。计算有限点集的凸闭包的H-表示是计算机几何学中的一个应用广泛的基本算法。
S盒的凸闭包可以通过调用SAGE计算机代数系统中封装好的函数自动生成。该组约束形式如下:
其中,λi,j为上述不等式中各项的系数,γi,j为上述等式中各项的系数,λi,j和γi,j取实数,i为自然数(包括0和正整数),j为从1到2P+1的整数。凸闭包的获取为已有技术,其中各项系数均可通过现有技术获得,此处不再赘述。
以二维平面上的点为例,点集:
{(-2,5),(2,0),(7,2),(9,8),(3,10),(1,4),(2,2),(0,3),(4,7),(4,6),(5,5),(5,4),(3,4),(2,8),(8,8),(7,7),(7,4),(8,5)}
的凸闭包的H-表示为
如图5所示,五边形区域即为散点集的凸闭包。
限制六(轮密钥异或操作的相关限制):
所述分组密码的每一轮中,轮密钥异或操作的输入线性掩码变量和输出线性掩码变量限制为:
所述轮密钥异或操作的两个输入线性掩码变量和输出线性掩码变量相等,即:
z[1]=z[2]=z[3]
其中,z[1]、z[2]分别为所述轮密钥异或操作的两个输入比特的线性掩码变量,z[3]为所述轮密钥异或操作的输出比特的线性掩码变量。
限制七(三叉结构的相关限制):
当一个值被用于两处运算时,会出现一种三叉结构,即一个值用于两处运算的结构为三叉结构,如图6所示为所述三叉结构的示意图。对于这种三叉结构,任意一个分支的线性掩码变量等于另外两个分支的线性掩码变量的异或值,即
z[4]=z[5]⊕z[6]
其中,z[4]为所述三叉结构的任意一个分支比特的线性掩码变量,z[5]为所述三叉结构中除了z[4]所属分支比特以外两个分支比特中的任意一个分支比特的线性掩码变量,z[6]为所述三叉结构中除了z[4]和z[5]所属分支比特以外的分支比特的线性掩码变量。
实际操作中,在第一混合整数线性规划问题和第二混合整数线性规划问题中,采用如下的不等式组刻画表达式z[4]=z[5]⊕z[6]:
z[4]=z[5]+z[6]-2d
0≤d≤1
其中,d为虚拟变量,d、z[4]、z[5]、z[6]为0-1变量。
限制八:
所述分组密码的输入差分不全为0。
本发明中,在步骤4中,第一目标函数为:
步骤5中,求解第一混合整数线性规划模型,就是在限制级的限制下,求解所述第一目标函数,以获得第一部分中的活跃S盒个数的下界,即
其中,k1为所述第一下界,即所述分组密码的第一部分中的活跃S盒个数的下界。
分组密码中前N轮的活跃S盒个数的下界,即分组密码的第一部分中的活跃S盒个数的下界(第一下界)的获得,是为了随后针对整个所述分组密码建立第二混合整数线性规划模型时引入新的限制。即在步骤8中,在建立第二混合整数线性规划模型时,除了所赋予的上述限制集以外,还额外增加一条限制,即所述分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界,即
步骤8中的第二目标函数为:
求解该第二目标函数后,获得的获得分组密码的第二部分中的活跃S盒个数的下界(即分组密码第N+1轮至第R轮的活跃S盒个数的下界),记为第二下界,用k2表示。
步骤10中,将第一下界与第二下界的和作为所述分组密码的活跃S盒个数的下界,用k表示所述分组密码的活跃S盒个数的下界,则
k=k1+k2
在所述分组密码的线性活跃S盒相互独立的假设下,所述分组密码的总的线性逼近表达式的偏差概率即为每个线性活跃S盒的线性逼近表达式的偏差概率之积。在求所述分组密码的线性逼近表达式的最大偏差概率的上界时,每个线性活跃S盒的线性逼近表达式的偏差概率都取其最大值。则用所述分组密码的活跃S盒个数的下界确定所述分组密码的线性逼近表达式的最大偏差概率的上界,采用如下公式进行确定:
p=ps k
将k=k1+k2带入上述公式即
其中,p即为所述分组密码的线性逼近表达式的最大偏差概率的上界,ps为所述分组密码中S盒的线性逼近表达式的最大偏差概率。
以图7所示的三轮的密码结构为例,说明本发明的分组密码抗线性攻击安全性的评估方法。图7所示的分组密码中,分组长度为8比特,即B=8,每一轮中首先进行轮密钥异或操作,然后每4比特一组分别进入S盒,最后从S盒输出的8比特经过包含异或运算和置换的线性层(图7中虚线框)得到本轮的输出;图7所示的分组密码共有3轮,即R=3。标记S盒的活跃变量为A[r,t],其中r=1,2,3、t=1,2。输入的线性掩码变量为x[r,t,p],输出线性掩码变量为y[r,t,p],其中p=1,2,3,4。所采用的S盒为表2中所使用的S盒。即
表2:S盒映射关系表
x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S(x) 4 15 3 8 13 10 12 0 11 5 7 14 2 6 1 9
对图7所示的三轮的密码结构,采用本发明的分组密码抗线性攻击安全性的评估方法,包括以下步骤。
步骤a1、将图7的三轮的密码结构分成两个部分。
作为具体实施例,本步骤a1中,第一部分为该三轮的分组密码的前2轮,第二部分为该三轮分组密码中的第3轮。
步骤a2、对该三轮分组密码的第一部分(即前2轮)中的每一个运算的输入和输出比特分别引入一个线性掩码变量。即
x[1,1,1]、x[1,1,2]、x[1,1,3]、x[1,1,4]、y[1,1,1]、y[1,1,2]、y[1,1,3]、y[1,1,4]
x[1,2,1]、x[1,2,2]、x[1,2,3]、x[1,2,4]、y[1,2,1]、y[1,2,2]、y[1,2,3]、y[1,2,4]
x[2,1,1]、x[2,1,2]、x[2,1,3]、x[2,1,4]、y[2,1,1]、y[2,1,2]、y[2,1,3]、y[2,1,4]
x[2,2,1]、x[2,2,2]、x[2,2,3]、x[2,2,4]、y[2,2,1]、y[2,2,2]、y[2,2,3]、y[2,2,4]
其中,每个x[r,t,p]变量以及每个y[r,t,p]变量只取0和1其中的一个值。
步骤a3、对该三轮分组密码的第一部分(前2轮)中的每一个S盒引入线性活跃变量,即A[1,1]、A[1,2]、A[2,1]、A[2,2]。
步骤a4、针对该三轮分组密码的第一部分(前2轮)中的每一个线性掩码变量和每一个线性活跃变量赋予一限制集,并以最小化所述分组密码的第一部分中的所有S盒的线性活跃变量之和为第一目标函数,建立第一混合整数线性规划模型。
其中,限制级包括如下限制:
限制一:
第1轮中
x[1,1,1]+x[1,1,2]+x[1,1,3]+x[1,1,4]-A[1,1]≥0
x[1,2,1]+x[1,2,2]+x[1,2,3]+x[1,2,4]-A[1,2]≥0
第2轮中
x[2,1,1]+x[2,1,2]+x[2,1,3]+x[2,1,4]-A[2,1]≥0
x[2,2,1]+x[2,2,2]+x[2,2,3]+x[2,2,4]-A[2,2]≥0
限制二:
第1轮中
x[1,1,1]-A[1,1]≤0、x[1,1,2]-A[1,1]≤0、x[1,1,3]-A[1,1]≤0、x[1,1,4]-A[1,1]≤0
x[1,2,1]-A[1,2]≤0、x[1,2,2]-A[1,2]≤0、x[1,2,3]-A[1,2]≤0、x[1,2,4]-A[1,2]≤0
第2轮中
x[2,1,1]-A[2,1]≤0、x[2,1,2]-A[2,1]≤0、x[2,1,3]-A[2,1]≤0、x[2,1,4]-A[2,1]≤0
x[2,2,1]-A[2,2]≤0、x[2,2,2]-A[2,2]≤0、x[2,2,3]-A[2,2]≤0、x[2,2,4]-A[2,2]≤0
限制三:
第1轮中
4y[1,1,1]+4y[1,1,2]+4y[1,1,3]+4y[1,1,4]-x[1,1,1]-x[1,1,2]-x[1,1,3]-x[1,1,4]≥0
4x[1,1,1]+4x[1,1,2]+4x[1,1,3]+4x[1,1,4]-y[1,1,1]-y[1,1,2]-y[1,1,3]-y[1,1,4]≥0
4y[1,2,1]+4y[1,2,2]+4y[1,2,3]+4y[1,2,4]-x[1,2,1]-x[1,2,2]-x[1,2,3]-x[1,2,4]≥0
4x[1,2,1]+4x[1,2,2]+4x[1,2,3]+4x[1,2,4]-y[1,2,1]-y[1,2,2]-y[1,2,3]-y[1,2,4]≥0
第2轮中
4y[2,1,1]+4y[2,1,2]+4y[2,1,3]+4y[2,1,4]-x[2,1,1]-x[2,1,2]-x[2,1,3]-x[2,1,4]≥0
4x[2,1,1]+4x[2,1,2]+4x[2,1,3]+4x[2,1,4]-y[2,1,1]-y[2,1,2]-y[2,1,3]-y[2,1,4]≥0
4y[2,2,1]+4y[2,2,2]+4y[2,2,3]+4y[2,2,4]-x[2,2,1]-x[2,2,2]-x[2,2,3]-x[2,2,4]≥0
4x[2,2,1]+4x[2,2,2]+4x[2,2,3]+4x[2,2,4]-y[2,2,1]-y[2,2,2]-y[2,2,3]-y[2,2,4]≥0
限制四:
第1轮中
x[1,1,1]+x[1,1,2]+x[1,1,3]+x[1,1,4]+y[1,1,1]+y[1,1,2]+y[1,1,3]+y[1,1,4]≥2d0
其中,A[1,1]变量所代表的S盒的极大分支数为2。
x[1,2,1]+x[1,2,2]+x[1,2,3]+x[1,2,4]+y[1,2,1]+y[1,2,2]+y[1,2,3]+y[1,2,4]≥2d1
其中,A[1,2]变量所代表的S盒的极大分支数为2。
其中,对于A[1,1]变量所代表的S盒来说:
d0≥x[1,1,1]、d0≥x[1,1,2]、d0≥x[1,1,3]、d0≥x[1,1,4]
d0≥y[1,1,1]、d0≥y[1,1,2]、d0≥y[1,1,3]、d0≥y[1,1,4]
对于A[1,2]变量所代表的S盒来说:
d1≥x[1,2,1]、d1≥x[1,2,2]、d1≥x[1,2,3]、d1≥x[1,2,4]
d1≥y[1,2,1]、d1≥y[1,2,2]、d1≥y[1,2,3]、d1≥y[1,2,4]
第2轮中
x[2,1,1]+x[2,1,2]+x[2,1,3]+x[2,1,4]+y[2,1,1]+y[2,1,2]+y[2,1,3]+y[2,1,4]≥2d6
其中,A[2,1]变量所代表的S盒的极大分支数为2。
x[2,2,1]+x[2,2,2]+x[2,2,3]+x[2,2,4]+y[2,2,1]+y[2,2,2]+y[2,2,3]+y[2,2,4]≥2d7
其中,A[2,2]变量所代表的S盒的极大分支数为2。
其中,对于A[2,1]变量所代表的S盒来说:
d6≥x[2,1,1]、d6≥x[2,1,2]、d6≥x[2,1,3]、d6≥x[2,1,4]
d6≥y[2,1,1]、d6≥y[2,1,2]、d6≥y[2,1,3]、d6≥y[2,1,4]
对于A[2,2]变量所代表的S盒来说:
d7≥x[2,2,1]、d7≥x[2,2,2]、d7≥x[2,2,3]、d7≥x[2,2,4]
d7≥y[2,2,1]、d7≥y[2,2,2]、d7≥y[2,2,3]、d7≥y[2,2,4]
限制五:
将S盒的凸闭包作为限制,所述S盒的凸闭包为该S盒的所有非零概率的线性特征所对应的点集的凸闭包的H-表示,即
第一轮中:
对于A[1,1]变量所代表的S盒来说:
+2x[1,1,1]-1x[1,1,2]-1x[1,1,3]-1x[1,1,4]+2y[1,1,5]-1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]+2x[1,1,2]+1x[1,1,3]-1x[1,1,4]-1y[1,1,5]+1y[1,1,6]+2y[1,1,7]-1y[1,1,8]≥-2
+2x[1,1,1]-1x[1,1,2]-1x[1,1,3]+2x[1,1,4]-0y[1,1,5]+1y[1,1,6]+2y[1,1,7]+2y[1,1,8]≥-0
-1x[1,1,1]+1x[1,1,2]-1x[1,1,3]+2x[1,1,4]-2y[1,1,5]-2y[1,1,6]-1y[1,1,7]+2y[1,1,8]≥-5
-0x[1,1,1]-0x[1,1,2]-1x[1,1,3]-1x[1,1,4]+1y[1,1,5]+1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-3
-1x[1,1,1]-1x[1,1,2]-1x[1,1,3]-0x[1,1,4]-1y[1,1,5]-0y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-5
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-1x[1,1,4]-0y[1,1,5]-1y[1,1,6]-0y[1,1,7]-1y[1,1,8]≥-4
+1x[1,1,1]-0x[1,1,2]+1x[1,1,3]-0x[1,1,4]-1y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-2
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]+1x[1,1,4]+1y[1,1,5]+1y[1,1,6]-0y[1,1,7]-0y[1,1,8]≥-1
+1x[1,1,1]+2x[1,1,2]+2x[1,1,3]+1x[1,1,4]+1y[1,1,5]-2y[1,1,6]+1y[1,1,7]+1y[1,1,8]≥-0
+2x[1,1,1]+1x[1,1,2]+2x[1,1,3]+1x[1,1,4]-1y[1,1,5]+1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-1
-1x[1,1,1]-1x[1,1,2]-1x[1,1,3]-1x[1,1,4]+1y[1,1,5]+1y[1,1,6]+2y[1,1,7]+2y[1,1,8]≥-2
+1x[1,1,1]+2x[1,1,2]+1x[1,1,3]+2x[1,1,4]+1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-1
-0x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]-1y[1,1,5]+1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]-0y[1,1,5]+1y[1,1,6]-0y[1,1,7]-1y[1,1,8]≥-3
-1x[1,1,1]-0x[1,1,2]-1x[1,1,3]+1x[1,1,4]+1y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-3
+1x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]-1y[1,1,5]-1y[1,1,6]+1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]+1x[1,1,4]-1y[1,1,5]-1y[1,1,6]+1y[1,1,7]+1y[1,1,8]≥-3
+1x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]+1y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-3
+2x[1,1,1]+1x[1,1,2]+2x[1,1,3]+2x[1,1,4]-0y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-0
-1x[1,1,1]-1x[1,1,2]-0x[1,1,3]-0x[1,1,4]-1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-5
+1x[1,1,1]+1x[1,1,2]-1x[1,1,3]+1x[1,1,4]+1y[1,1,5]+1y[1,1,6]+1y[1,1,7]-0y[1,1,8]≥-0
+1x[1,1,1]-1x[1,1,2]-0x[1,1,3]-0x[1,1,4]+1y[1,1,5]-1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-2
+1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-1x[1,1,4]-1y[1,1,5]+1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]+1x[1,1,2]+1x[1,1,3]-1x[1,1,4]-1y[1,1,5]-0y[1,1,6]+1y[1,1,7]-0y[1,1,8]≥-2
+1x[1,1,1]-1x[1,1,2]-1x[1,1,3]+1x[1,1,4]-0y[1,1,5]-1y[1,1,6]-0y[1,1,7]+1y[1,1,8]≥-2
+3x[1,1,1]+3x[1,1,2]+2x[1,1,3]+3x[1,1,4]-1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-0y[1,1,8]≥-0
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-0x[1,1,4]+1y[1,1,5]+1y[1,1,6]-0y[1,1,7]+1y[1,1,8]≥-1
-1x[1,1,1]-1x[1,1,2]-1x[1,1,3]+1x[1,1,4]-1y[1,1,5]-0y[1,1,6]-1y[1,1,7]-0y[1,1,8]≥-4
+1x[1,1,1]+1x[1,1,2]+1x[1,1,3]-0x[1,1,4]+1y[1,1,5]+1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-0
-1x[1,1,1]+1x[1,1,2]-1x[1,1,3]+1x[1,1,4]+1y[1,1,5]+1y[1,1,6]-0y[1,1,7]+1y[1,1,8]≥-1
+1x[1,1,1]+2x[1,1,2]+2x[1,1,3]+2x[1,1,4]-1y[1,1,5]-0y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-0
+1x[1,1,1]-1x[1,1,2]-0x[1,1,3]-1x[1,1,4]+1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-0y[1,1,8]≥-3
-1x[1,1,1]+1x[1,1,2]-0x[1,1,3]-0x[1,1,4]-1y[1,1,5]+1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-2
+1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-1x[1,1,4]+2y[1,1,5]+2y[1,1,6]+2y[1,1,7]+1y[1,1,8]≥-0
对变量A[1,2]所代表的S盒来说:
+2x[1,2,1]-1x[1,2,2]-1x[1,2,3]-1x[1,2,4]+2y[1,2,5]-1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]+2x[1,2,2]+1x[1,2,3]-1x[1,2,4]-1y[1,2,5]+1y[1,2,6]+2y[1,2,7]-1y[1,2,8]≥-2
+2x[1,2,1]-1x[1,2,2]-1x[1,2,3]+2x[1,2,4]-0y[1,2,5]+1y[1,2,6]+2y[1,2,7]+2y[1,2,8]≥-0
-1x[1,2,1]+1x[1,2,2]-1x[1,2,3]+2x[1,2,4]-2y[1,2,5]-2y[1,2,6]-1y[1,2,7]+2y[1,2,8]≥-5
-0x[1,2,1]-0x[1,2,2]-1x[1,2,3]-1x[1,2,4]+1y[1,2,5]+1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-3
-1x[1,2,1]-1x[1,2,2]-1x[1,2,3]-0x[1,2,4]-1y[1,2,5]-0y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-5
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-1x[1,2,4]-0y[1,2,5]-1y[1,2,6]-0y[1,2,7]-1y[1,2,8]≥-4
+1x[1,2,1]-0x[1,2,2]+1x[1,2,3]-0x[1,2,4]-1y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-2
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]+1x[1,2,4]+1y[1,2,5]+1y[1,2,6]-0y[1,2,7]-0y[1,2,8]≥-1
+1x[1,2,1]+2x[1,2,2]+2x[1,2,3]+1x[1,2,4]+1y[1,2,5]-2y[1,2,6]+1y[1,2,7]+1y[1,2,8]≥-0
+2x[1,2,1]+1x[1,2,2]+2x[1,2,3]+1x[1,2,4]-1y[1,2,5]+1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-1
-1x[1,2,1]-1x[1,2,2]-1x[1,2,3]-1x[1,2,4]+1y[1,2,5]+1y[1,2,6]+2y[1,2,7]+2y[1,2,8]≥-2
+1x[1,2,1]+2x[1,2,2]+1x[1,2,3]+2x[1,2,4]+1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-1
-0x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]-1y[1,2,5]+1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]-0y[1,2,5]+1y[1,2,6]-0y[1,2,7]-1y[1,2,8]≥-3
-1x[1,2,1]-0x[1,2,2]-1x[1,2,3]+1x[1,2,4]+1y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-3
+1x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]-1y[1,2,5]-1y[1,2,6]+1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]+1x[1,2,4]-1y[1,2,5]-1y[1,2,6]+1y[1,2,7]+1y[1,2,8]≥-3
+1x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]+1y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-3
+2x[1,2,1]+1x[1,2,2]+2x[1,2,3]+2x[1,2,4]-0y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-0
-1x[1,2,1]-1x[1,2,2]-0x[1,2,3]-0x[1,2,4]-1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-5
+1x[1,2,1]+1x[1,2,2]-1x[1,2,3]+1x[1,2,4]+1y[1,2,5]+1y[1,2,6]+1y[1,2,7]-0y[1,2,8]≥-0
+1x[1,2,1]-1x[1,2,2]-0x[1,2,3]-0x[1,2,4]+1y[1,2,5]-1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-2
+1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-1x[1,2,4]-1y[1,2,5]+1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]+1x[1,2,2]+1x[1,2,3]-1x[1,2,4]-1y[1,2,5]-0y[1,2,6]+1y[1,2,7]-0y[1,2,8]≥-2
+1x[1,2,1]-1x[1,2,2]-1x[1,2,3]+1x[1,2,4]-0y[1,2,5]-1y[1,2,6]-0y[1,2,7]+1y[1,2,8]≥-2
+3x[1,2,1]+3x[1,2,2]+2x[1,2,3]+3x[1,2,4]-1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-0y[1,2,8]≥-0
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-0x[1,2,4]+1y[1,2,5]+1y[1,2,6]-0y[1,2,7]+1y[1,2,8]≥-1
-1x[1,2,1]-1x[1,2,2]-1x[1,2,3]+1x[1,2,4]-1y[1,2,5]-0y[1,2,6]-1y[1,2,7]-0y[1,2,8]≥-4
+1x[1,2,1]+1x[1,2,2]+1x[1,2,3]-0x[1,2,4]+1y[1,2,5]+1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-0
-1x[1,2,1]+1x[1,2,2]-1x[1,2,3]+1x[1,2,4]+1y[1,2,5]+1y[1,2,6]-0y[1,2,7]+1y[1,2,8]≥-1
+1x[1,2,1]+2x[1,2,2]+2x[1,2,3]+2x[1,2,4]-1y[1,2,5]-0y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-0
+1x[1,2,1]-1x[1,2,2]-0x[1,2,3]-1x[1,2,4]+1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-0y[1,2,8]≥-3
-1x[1,2,1]+1x[1,2,2]-0x[1,2,3]-0x[1,2,4]-1y[1,2,5]+1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-2
+1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-1x[1,2,4]+2y[1,2,5]+2y[1,2,6]+2y[1,2,7]+1y[1,2,8]≥-0
第二轮中:
对变量A[2,1]所代表的S盒来说:
+2x[2,1,1]-1x[2,1,2]-1x[2,1,3]-1x[2,1,4]+2y[2,1,5]-1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]+2x[2,1,2]+1x[2,1,3]-1x[2,1,4]-1y[2,1,5]+1y[2,1,6]+2y[2,1,7]-1y[2,1,8]≥-2
+2x[2,1,1]-1x[2,1,2]-1x[2,1,3]+2x[2,1,4]-0y[2,1,5]+1y[2,1,6]+2y[2,1,7]+2y[2,1,8]≥-0
-1x[2,1,1]+1x[2,1,2]-1x[2,1,3]+2x[2,1,4]-2y[2,1,5]-2y[2,1,6]-1y[2,1,7]+2y[2,1,8]≥-5
-0x[2,1,1]-0x[2,1,2]-1x[2,1,3]-1x[2,1,4]+1y[2,1,5]+1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-3
-1x[2,1,1]-1x[2,1,2]-1x[2,1,3]-0x[2,1,4]-1y[2,1,5]-0y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-5
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-1x[2,1,4]-0y[2,1,5]-1y[2,1,6]-0y[2,1,7]-1y[2,1,8]≥-4
+1x[2,1,1]-0x[2,1,2]+1x[2,1,3]-0x[2,1,4]-1y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-2
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]+1x[2,1,4]+1y[2,1,5]+1y[2,1,6]-0y[2,1,7]-0y[2,1,8]≥-1
+1x[2,1,1]+2x[2,1,2]+2x[2,1,3]+1x[2,1,4]+1y[2,1,5]-2y[2,1,6]+1y[2,1,7]+1y[2,1,8]≥-0
+2x[2,1,1]+1x[2,1,2]+2x[2,1,3]+1x[2,1,4]-1y[2,1,5]+1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-1
-1x[2,1,1]-1x[2,1,2]-1x[2,1,3]-1x[2,1,4]+1y[2,1,5]+1y[2,1,6]+2y[2,1,7]+2y[2,1,8]≥-2
+1x[2,1,1]+2x[2,1,2]+1x[2,1,3]+2x[2,1,4]+1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-1
-0x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]-1y[2,1,5]+1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]-0y[2,1,5]+1y[2,1,6]-0y[2,1,7]-1y[2,1,8]≥-3
-1x[2,1,1]-0x[2,1,2]-1x[2,1,3]+1x[2,1,4]+1y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-3
+1x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]-1y[2,1,5]-1y[2,1,6]+1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]+1x[2,1,4]-1y[2,1,5]-1y[2,1,6]+1y[2,1,7]+1y[2,1,8]≥-3
+1x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]+1y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-3
+2x[2,1,1]+1x[2,1,2]+2x[2,1,3]+2x[2,1,4]-0y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-0
-1x[2,1,1]-1x[2,1,2]-0x[2,1,3]-0x[2,1,4]-1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-5
+1x[2,1,1]+1x[2,1,2]-1x[2,1,3]+1x[2,1,4]+1y[2,1,5]+1y[2,1,6]+1y[2,1,7]-0y[2,1,8]≥-0
+1x[2,1,1]-1x[2,1,2]-0x[2,1,3]-0x[2,1,4]+1y[2,1,5]-1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-2
+1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-1x[2,1,4]-1y[2,1,5]+1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]+1x[2,1,2]+1x[2,1,3]-1x[2,1,4]-1y[2,1,5]-0y[2,1,6]+1y[2,1,7]-0y[2,1,8]≥-2
+1x[2,1,1]-1x[2,1,2]-1x[2,1,3]+1x[2,1,4]-0y[2,1,5]-1y[2,1,6]-0y[2,1,7]+1y[2,1,8]≥-2
+3x[2,1,1]+3x[2,1,2]+2x[2,1,3]+3x[2,1,4]-1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-0y[2,1,8]≥-0
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-0x[2,1,4]+1y[2,1,5]+1y[2,1,6]-0y[2,1,7]+1y[2,1,8]≥-1
-1x[2,1,1]-1x[2,1,2]-1x[2,1,3]+1x[2,1,4]-1y[2,1,5]-0y[2,1,6]-1y[2,1,7]-0y[2,1,8]≥-4
+1x[2,1,1]+1x[2,1,2]+1x[2,1,3]-0x[2,1,4]+1y[2,1,5]+1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-0
-1x[2,1,1]+1x[2,1,2]-1x[2,1,3]+1x[2,1,4]+1y[2,1,5]+1y[2,1,6]-0y[2,1,7]+1y[2,1,8]≥-1
+1x[2,1,1]+2x[2,1,2]+2x[2,1,3]+2x[2,1,4]-1y[2,1,5]-0y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-0
+1x[2,1,1]-1x[2,1,2]-0x[2,1,3]-1x[2,1,4]+1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-0y[2,1,8]≥-3
-1x[2,1,1]+1x[2,1,2]-0x[2,1,3]-0x[2,1,4]-1y[2,1,5]+1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-2
+1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-1x[2,1,4]+2y[2,1,5]+2y[2,1,6]+2y[2,1,7]+1y[2,1,8]≥-0
对变量A[2,2]所代表的S盒来说:
+2x[2,2,1]-1x[2,2,2]-1x[2,2,3]-1x[2,2,4]+2y[2,2,5]-1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]+2x[2,2,2]+1x[2,2,3]-1x[2,2,4]-1y[2,2,5]+1y[2,2,6]+2y[2,2,7]-1y[2,2,8]≥-2
+2x[2,2,1]-1x[2,2,2]-1x[2,2,3]+2x[2,2,4]-0y[2,2,5]+1y[2,2,6]+2y[2,2,7]+2y[2,2,8]≥-0
-1x[2,2,1]+1x[2,2,2]-1x[2,2,3]+2x[2,2,4]-2y[2,2,5]-2y[2,2,6]-1y[2,2,7]+2y[2,2,8]≥-5
-0x[2,2,1]-0x[2,2,2]-1x[2,2,3]-1x[2,2,4]+1y[2,2,5]+1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-3
-1x[2,2,1]-1x[2,2,2]-1x[2,2,3]-0x[2,2,4]-1y[2,2,5]-0y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-5
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-1x[2,2,4]-0y[2,2,5]-1y[2,2,6]-0y[2,2,7]-1y[2,2,8]≥-4
+1x[2,2,1]-0x[2,2,2]+1x[2,2,3]-0x[2,2,4]-1y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-2
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]+1x[2,2,4]+1y[2,2,5]+1y[2,2,6]-0y[2,2,7]-0y[2,2,8]≥-1
+1x[2,2,1]+2x[2,2,2]+2x[2,2,3]+1x[2,2,4]+1y[2,2,5]-2y[2,2,6]+1y[2,2,7]+1y[2,2,8]≥-0
+2x[2,2,1]+1x[2,2,2]+2x[2,2,3]+1x[2,2,4]-1y[2,2,5]+1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-1
-1x[2,2,1]-1x[2,2,2]-1x[2,2,3]-1x[2,2,4]+1y[2,2,5]+1y[2,2,6]+2y[2,2,7]+2y[2,2,8]≥-2
+1x[2,2,1]+2x[2,2,2]+1x[2,2,3]+2x[2,2,4]+1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-1
-0x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]-1y[2,2,5]+1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]-0y[2,2,5]+1y[2,2,6]-0y[2,2,7]-1y[2,2,8]≥-3
-1x[2,2,1]-0x[2,2,2]-1x[2,2,3]+1x[2,2,4]+1y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-3
+1x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]-1y[2,2,5]-1y[2,2,6]+1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]+1x[2,2,4]-1y[2,2,5]-1y[2,2,6]+1y[2,2,7]+1y[2,2,8]≥-3
+1x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]+1y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-3
+2x[2,2,1]+1x[2,2,2]+2x[2,2,3]+2x[2,2,4]-0y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-0
-1x[2,2,1]-1x[2,2,2]-0x[2,2,3]-0x[2,2,4]-1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-5
+1x[2,2,1]+1x[2,2,2]-1x[2,2,3]+1x[2,2,4]+1y[2,2,5]+1y[2,2,6]+1y[2,2,7]-0y[2,2,8]≥-0
+1x[2,2,1]-1x[2,2,2]-0x[2,2,3]-0x[2,2,4]+1y[2,2,5]-1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-2
+1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-1x[2,2,4]-1y[2,2,5]+1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]+1x[2,2,2]+1x[2,2,3]-1x[2,2,4]-1y[2,2,5]-0y[2,2,6]+1y[2,2,7]-0y[2,2,8]≥-2
+1x[2,2,1]-1x[2,2,2]-1x[2,2,3]+1x[2,2,4]-0y[2,2,5]-1y[2,2,6]-0y[2,2,7]+1y[2,2,8]≥-2
+3x[2,2,1]+3x[2,2,2]+2x[2,2,3]+3x[2,2,4]-1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-0y[2,2,8]≥-0
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-0x[2,2,4]+1y[2,2,5]+1y[2,2,6]-0y[2,2,7]+1y[2,2,8]≥-1
-1x[2,2,1]-1x[2,2,2]-1x[2,2,3]+1x[2,2,4]-1y[2,2,5]-0y[2,2,6]-1y[2,2,7]-0y[2,2,8]≥-4
+1x[2,2,1]+1x[2,2,2]+1x[2,2,3]-0x[2,2,4]+1y[2,2,5]+1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-0
-1x[2,2,1]+1x[2,2,2]-1x[2,2,3]+1x[2,2,4]+1y[2,2,5]+1y[2,2,6]-0y[2,2,7]+1y[2,2,8]≥-1
+1x[2,2,1]+2x[2,2,2]+2x[2,2,3]+2x[2,2,4]-1y[2,2,5]-0y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-0
+1x[2,2,1]-1x[2,2,2]-0x[2,2,3]-1x[2,2,4]+1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-0y[2,2,8]≥-3
-1x[2,2,1]+1x[2,2,2]-0x[2,2,3]-0x[2,2,4]-1y[2,2,5]+1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-2
+1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-1x[2,2,4]+2y[2,2,5]+2y[2,2,6]+2y[2,2,7]+1y[2,2,8]≥-0
限制六和限制七:
第一轮中
x[2,1,1]-y[1,1,1]=0、-y[1,1,1]+y[1,2,1]+x[2,1,3]-2d2=0
x[2,1,2]-y[1,1,2]=0、-y[1,1,2]+y[1,2,2]+x[2,1,4]-2d3=0
x[2,2,3]-y[1,2,3]=0、-y[1,2,3]+y[1,1,3]+x[2,2,1]-2d4=0
x[2,2,4]-y[1,2,4]=0、-y[1,2,4]+y[1,1,4]+x[2,2,2]-2d5=0
第二轮中
x[3,1,1]-y[2,1,1]=0、-y[2,1,1]+y[2,2,1]+x[3,1,3]-2d8=0
x[3,1,2]-y[2,1,2]=0、-y[2,1,2]+y[2,2,2]+x[3,1,4]-2d9=0
x[3,2,3]-y[2,2,3]=0、-y[2,2,3]+y[2,1,3]+x[3,2,1]-2d10=0
x[3,2,4]-y[2,2,4]=0、-y[2,2,4]+y[2,1,4]+x[3,2,2]-2d11=0
限制八:
x[1,1,1]+x[1,1,2]+x[1,1,3]+x[1,1,4]+x[1,2,1]+x[1,2,2]+x[1,2,3]+x[1,2,4]≥1
以最小化该三轮分组密码的第一部分(前2轮)中的所有S盒的线性活跃变量之和为第一目标函数,其中的第一目标函数为:
A[1,1]+A[1,2]+A[2,1]+A[2,2]
步骤a5、求解所述第一混合整数线性规划模型,以获得该三轮分组密码的第一部分(即前2轮)中的活跃S盒个数的下界,记为第一下界。
其中所获得的第一下界为k1=2
步骤a6、对该三轮分组密码每一个运算的输入和输出比特分别引入一个线性掩码变量。即
x[1,1,1]、x[1,1,2]、x[1,1,3]、x[1,1,4]、y[1,1,1]、y[1,1,2]、y[1,1,3]、y[1,1,4]
x[1,2,1]、x[1,2,2]、x[1,2,3]、x[1,2,4]、y[1,2,1]、y[1,2,2]、y[1,2,3]、y[1,2,4]
x[2,1,1]、x[2,1,2]、x[2,1,3]、x[2,1,4]、y[2,1,1]、y[2,1,2]、y[2,1,3]、y[2,1,4]
x[2,2,1]、x[2,2,2]、x[2,2,3]、x[2,2,4]、y[2,2,1]、y[2,2,2]、y[2,2,3]、y[2,2,4]
x[3,1,1]、x[3,1,2]、x[3,1,3]、x[3,1,4]、y[3,1,1]、y[3,1,2]、y[3,1,3]、y[3,1,4]
x[3,2,1]、x[3,2,2]、x[3,2,3]、x[3,2,4]、y[3,2,1]、y[3,2,2]、y[3,2,3]、y[3,2,4]
其中,每个x[r,t,p]变量以及每个y[r,t,p]变量只取0和1其中的一个值。
步骤a7、对整个该三轮分组密码的每一个S盒引入线性活跃变量。即
A[1,1]、A[1,2]、A[2,1]、A[2,2]、A[3,1]、A[3,2]
步骤a8、针对整个该三轮分组密码的每一个线性掩码变量和每一个线性活跃变量赋予所述限制集,并增加该三轮分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界的限制,以最小化该三轮分组密码的第二部分中的所有S盒的线性活跃变量之和为第二目标函数,建立第二混合整数线性规划模型。
其中,限制级包括如下限制:
限制一:
第1轮中
x[1,1,1]+x[1,1,2]+x[1,1,3]+x[1,1,4]-A[1,1]≥0
x[1,2,1]+x[1,2,2]+x[1,2,3]+x[1,2,4]-A[1,2]≥0
第2轮中
x[2,1,1]+x[2,1,2]+x[2,1,3]+x[2,1,4]-A[2,1]≥0
x[2,2,1]+x[2,2,2]+x[2,2,3]+x[2,2,4]-A[2,2]≥0
第3轮中
x[3,1,1]+x[3,1,2]+x[3,1,3]+x[3,1,4]-A[3,1]≥0
x[3,2,1]+x[3,2,2]+x[3,2,3]+x[3,2,4]-A[3,2]≥0
限制二:
第1轮中
x[1,1,1]-A[1,1]≤0、x[1,1,2]-A[1,1]≤0、x[1,1,3]-A[1,1]≤0、x[1,1,4]-A[1,1]≤0
x[1,2,1]-A[1,2]≤0、x[1,2,2]-A[1,2]≤0、x[1,2,3]-A[1,2]≤0、x[1,2,4]-A[1,2]≤0
第2轮中
x[2,1,1]-A[2,1]≤0、x[2,1,2]-A[2,1]≤0、x[2,1,3]-A[2,1]≤0、x[2,1,4]-A[2,1]≤0
x[2,2,1]-A[2,2]≤0、x[2,2,2]-A[2,2]≤0、x[2,2,3]-A[2,2]≤0、x[2,2,4]-A[2,2]≤0
第3轮中
x[3,1,1]-A[3,1]≤0、x[3,1,2]-A[3,1]≤0、x[3,1,3]-A[3,1]≤0、x[3,1,4]-A[3,1]≤0
x[3,2,1]-A[3,2]≤0、x[3,2,2]-A[3,2]≤0、x[3,2,3]-A[3,2]≤0、x[3,2,4]-A[3,2]≤0
限制三:
第1轮中
4y[1,1,1]+4y[1,1,2]+4y[1,1,3]+4y[1,1,4]-x[1,1,1]-x[1,1,2]-x[1,1,3]-x[1,1,4]≥0
4x[1,1,1]+4x[1,1,2]+4x[1,1,3]+4x[1,1,4]-y[1,1,1]-y[1,1,2]-y[1,1,3]-y[1,1,4]≥0
4y[1,2,1]+4y[1,2,2]+4y[1,2,3]+4y[1,2,4]-x[1,2,1]-x[1,2,2]-x[1,2,3]-x[1,2,4]≥0
4x[1,2,1]+4x[1,2,2]+4x[1,2,3]+4x[1,2,4]-y[1,2,1]-y[1,2,2]-y[1,2,3]-y[1,2,4]≥0
第2轮中
4y[2,1,1]+4y[2,1,2]+4y[2,1,3]+4y[2,1,4]-x[2,1,1]-x[2,1,2]-x[2,1,3]-x[2,1,4]≥0
4x[2,1,1]+4x[2,1,2]+4x[2,1,3]+4x[2,1,4]-y[2,1,1]-y[2,1,2]-y[2,1,3]-y[2,1,4]≥0
4y[2,2,1]+4y[2,2,2]+4y[2,2,3]+4y[2,2,4]-x[2,2,1]-x[2,2,2]-x[2,2,3]-x[2,2,4]≥0
4x[2,2,1]+4x[2,2,2]+4x[2,2,3]+4x[2,2,4]-y[2,2,1]-y[2,2,2]-y[2,2,3]-y[2,2,4]≥0
第3轮中
4y[3,1,1]+4y[3,1,2]+4y[3,1,3]+4y[3,1,4]-x[3,1,1]-x[3,1,2]-x[3,1,3]-x[3,1,4]≥0
4x[3,1,1]+4x[3,1,2]+4x[3,1,3]+4x[3,1,4]-y[3,1,1]-y[3,1,2]-y[3,1,3]-y[3,1,4]≥0
4y[3,2,1]+4y[3,2,2]+4y[3,2,3]+4y[3,2,4]-x[3,2,1]-x[3,2,2]-x[3,2,3]-x[3,2,4]≥0
4x[3,2,1]+4x[3,2,2]+4x[3,2,3]+4x[3,2,4]-y[3,2,1]-y[3,2,2]-y[3,2,3]-y[3,2,4]≥0
限制四:
第1轮中
x[1,1,1]+x[1,1,2]+x[1,1,3]+x[1,1,4]+y[1,1,1]+y[1,1,2]+y[1,1,3]+y[1,1,4]≥2d0
其中,A[1,1]变量所代表的S盒的极大分支数为2
x[1,2,1]+x[1,2,2]+x[1,2,3]+x[1,2,4]+y[1,2,1]+y[1,2,2]+y[1,2,3]+y[1,2,4]≥2d1
其中,A[1,2]变量所代表的S盒的极大分支数为2
其中,对于A[1,1]变量所代表的S盒来说:
d0≥x[1,1,1]、d0≥x[1,1,2]、d0≥x[1,1,3]、d0≥x[1,1,4]
d0≥y[1,1,1]、d0≥y[1,1,2]、d0≥y[1,1,3]、d0≥y[1,1,4]
对于A[1,2]变量所代表的S盒来说:
d1≥x[1,2,1]、d1≥x[1,2,2]、d1≥x[1,2,3]、d1≥x[1,2,4]
d1≥y[1,2,1]、d1≥y[1,2,2]、d1≥y[1,2,3]、d1≥y[1,2,4]
第2轮中
x[2,1,1]+x[2,1,2]+x[2,1,3]+x[2,1,4]+y[2,1,1]+y[2,1,2]+y[2,1,3]+y[2,1,4]≥2d6
其中,A[2,1]变量所代表的S盒的极大分支数为2。
x[2,2,1]+x[2,2,2]+x[2,2,3]+x[2,2,4]+y[2,2,1]+y[2,2,2]+y[2,2,3]+y[2,2,4]≥2d7
其中,A[2,2]变量所代表的S盒的极大分支数为2。
其中,对于A[2,1]变量所代表的S盒来说:
d6≥x[2,1,1]、d6≥x[2,1,2]、d6≥x[2,1,3]、d6≥x[2,1,4]
d6≥y[2,1,1]、d6≥y[2,1,2]、d6≥y[2,1,3]、d6≥y[2,1,4]
对于A[2,2]变量所代表的S盒来说:
d7≥x[2,2,1]、d7≥x[2,2,2]、d7≥x[2,2,3]、d7≥x[2,2,4]
d7≥y[2,2,1]、d7≥y[2,2,2]、d7≥y[2,2,3]、d7≥y[2,2,4]
第3轮中
x[3,1,1]+x[3,1,2]+x[3,1,3]+x[3,1,4]+y[3,1,1]+y[3,1,2]+y[3,1,3]+y[3,1,4]≥2d12
其中,A[3,1]变量所代表的S盒的极大分支数为2。
x[3,2,1]+x[3,2,2]+x[3,2,3]+x[3,2,4]+y[3,2,1]+y[3,2,2]+y[3,2,3]+y[3,2,4]≥2d13
其中,A[3,2]变量所代表的S盒的极大分支数为2。
其中,对于A[3,1]变量所代表的S盒来说:
d12≥x[3,1,1]、d12≥x[3,1,2]、d12≥x[3,1,3]、d12≥x[3,1,4]
d12≥y[3,1,1]、d12≥y[3,1,2]、d12≥y[3,1,3]、d12≥y[3,1,4]
对于A[3,2]变量所代表的S盒来说:
d13≥x[3,2,1]、d13≥x[3,2,2]、d13≥x[3,2,3]、d13≥x[3,2,4]
d13≥y[3,2,1]、d13≥y[3,2,2]、d13≥y[3,2,3]、d13≥y[3,2,4]
限制五:
将S盒的凸闭包作为限制,所述S盒的凸闭包为该S盒的所有非零概率的线性特征所对应的点集的凸闭包的H-表示,即
第一轮中:
对变量A[1,1]所代表的S盒来说:
+2x[1,1,1]-1x[1,1,2]-1x[1,1,3]-1x[1,1,4]+2y[1,1,5]-1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]+2x[1,1,2]+1x[1,1,3]-1x[1,1,4]-1y[1,1,5]+1y[1,1,6]+2y[1,1,7]-1y[1,1,8]≥-2
+2x[1,1,1]-1x[1,1,2]-1x[1,1,3]+2x[1,1,4]-0y[1,1,5]+1y[1,1,6]+2y[1,1,7]+2y[1,1,8]≥-0
-1x[1,1,1]+1x[1,1,2]-1x[1,1,3]+2x[1,1,4]-2y[1,1,5]-2y[1,1,6]-1y[1,1,7]+2y[1,1,8]≥-5
-0x[1,1,1]-0x[1,1,2]-1x[1,1,3]-1x[1,1,4]+1y[1,1,5]+1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-3
-1x[1,1,1]-1x[1,1,2]-1x[1,1,3]-0x[1,1,4]-1y[1,1,5]-0y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-5
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-1x[1,1,4]-0y[1,1,5]-1y[1,1,6]-0y[1,1,7]-1y[1,1,8]≥-4
+1x[1,1,1]-0x[1,1,2]+1x[1,1,3]-0x[1,1,4]-1y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-2
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]+1x[1,1,4]+1y[1,1,5]+1y[1,1,6]-0y[1,1,7]-0y[1,1,8]≥-1
+1x[1,1,1]+2x[1,1,2]+2x[1,1,3]+1x[1,1,4]+1y[1,1,5]-2y[1,1,6]+1y[1,1,7]+1y[1,1,8]≥-0
+2x[1,1,1]+1x[1,1,2]+2x[1,1,3]+1x[1,1,4]-1y[1,1,5]+1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-1
-1x[1,1,1]-1x[1,1,2]-1x[1,1,3]-1x[1,1,4]+1y[1,1,5]+1y[1,1,6]+2y[1,1,7]+2y[1,1,8]≥-2
+1x[1,1,1]+2x[1,1,2]+1x[1,1,3]+2x[1,1,4]+1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-1
-0x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]-1y[1,1,5]+1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]-0y[1,1,5]+1y[1,1,6]-0y[1,1,7]-1y[1,1,8]≥-3
-1x[1,1,1]-0x[1,1,2]-1x[1,1,3]+1x[1,1,4]+1y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-3
+1x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]-1y[1,1,5]-1y[1,1,6]+1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]+1x[1,1,4]-1y[1,1,5]-1y[1,1,6]+1y[1,1,7]+1y[1,1,8]≥-3
+1x[1,1,1]+1x[1,1,2]-1x[1,1,3]-1x[1,1,4]+1y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-3
+2x[1,1,1]+1x[1,1,2]+2x[1,1,3]+2x[1,1,4]-0y[1,1,5]-1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-0
-1x[1,1,1]-1x[1,1,2]-0x[1,1,3]-0x[1,1,4]-1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-1y[1,1,8]≥-5
+1x[1,1,1]+1x[1,1,2]-1x[1,1,3]+1x[1,1,4]+1y[1,1,5]+1y[1,1,6]+1y[1,1,7]-0y[1,1,8]≥-0
+1x[1,1,1]-1x[1,1,2]-0x[1,1,3]-0x[1,1,4]+1y[1,1,5]-1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-2
+1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-1x[1,1,4]-1y[1,1,5]+1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-3
-1x[1,1,1]+1x[1,1,2]+1x[1,1,3]-1x[1,1,4]-1y[1,1,5]-0y[1,1,6]+1y[1,1,7]-0y[1,1,8]≥-2
+1x[1,1,1]-1x[1,1,2]-1x[1,1,3]+1x[1,1,4]-0y[1,1,5]-1y[1,1,6]-0y[1,1,7]+1y[1,1,8]≥-2
+3x[1,1,1]+3x[1,1,2]+2x[1,1,3]+3x[1,1,4]-1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-0y[1,1,8]≥-0
-1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-0x[1,1,4]+1y[1,1,5]+1y[1,1,6]-0y[1,1,7]+1y[1,1,8]≥-1
-1x[1,1,1]-1x[1,1,2]-1x[1,1,3]+1x[1,1,4]-1y[1,1,5]-0y[1,1,6]-1y[1,1,7]-0y[1,1,8]≥-4
+1x[1,1,1]+1x[1,1,2]+1x[1,1,3]-0x[1,1,4]+1y[1,1,5]+1y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-0
-1x[1,1,1]+1x[1,1,2]-1x[1,1,3]+1x[1,1,4]+1y[1,1,5]+1y[1,1,6]-0y[1,1,7]+1y[1,1,8]≥-1
+1x[1,1,1]+2x[1,1,2]+2x[1,1,3]+2x[1,1,4]-1y[1,1,5]-0y[1,1,6]-1y[1,1,7]+1y[1,1,8]≥-0
+1x[1,1,1]-1x[1,1,2]-0x[1,1,3]-1x[1,1,4]+1y[1,1,5]-1y[1,1,6]-1y[1,1,7]-0y[1,1,8]≥-3
-1x[1,1,1]+1x[1,1,2]-0x[1,1,3]-0x[1,1,4]-1y[1,1,5]+1y[1,1,6]+1y[1,1,7]-1y[1,1,8]≥-2
+1x[1,1,1]-1x[1,1,2]+1x[1,1,3]-1x[1,1,4]+2y[1,1,5]+2y[1,1,6]+2y[1,1,7]+1y[1,1,8]≥-0
对变量A[1,2]所代表的S盒来说:
+2x[1,2,1]-1x[1,2,2]-1x[1,2,3]-1x[1,2,4]+2y[1,2,5]-1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]+2x[1,2,2]+1x[1,2,3]-1x[1,2,4]-1y[1,2,5]+1y[1,2,6]+2y[1,2,7]-1y[1,2,8]≥-2
+2x[1,2,1]-1x[1,2,2]-1x[1,2,3]+2x[1,2,4]-0y[1,2,5]+1y[1,2,6]+2y[1,2,7]+2y[1,2,8]≥-0
-1x[1,2,1]+1x[1,2,2]-1x[1,2,3]+2x[1,2,4]-2y[1,2,5]-2y[1,2,6]-1y[1,2,7]+2y[1,2,8]≥-5
-0x[1,2,1]-0x[1,2,2]-1x[1,2,3]-1x[1,2,4]+1y[1,2,5]+1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-3
-1x[1,2,1]-1x[1,2,2]-1x[1,2,3]-0x[1,2,4]-1y[1,2,5]-0y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-5
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-1x[1,2,4]-0y[1,2,5]-1y[1,2,6]-0y[1,2,7]-1y[1,2,8]≥-4
+1x[1,2,1]-0x[1,2,2]+1x[1,2,3]-0x[1,2,4]-1y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-2
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]+1x[1,2,4]+1y[1,2,5]+1y[1,2,6]-0y[1,2,7]-0y[1,2,8]≥-1
+1x[1,2,1]+2x[1,2,2]+2x[1,2,3]+1x[1,2,4]+1y[1,2,5]-2y[1,2,6]+1y[1,2,7]+1y[1,2,8]≥-0
+2x[1,2,1]+1x[1,2,2]+2x[1,2,3]+1x[1,2,4]-1y[1,2,5]+1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-1
-1x[1,2,1]-1x[1,2,2]-1x[1,2,3]-1x[1,2,4]+1y[1,2,5]+1y[1,2,6]+2y[1,2,7]+2y[1,2,8]≥-2
+1x[1,2,1]+2x[1,2,2]+1x[1,2,3]+2x[1,2,4]+1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-1
-0x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]-1y[1,2,5]+1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]-0y[1,2,5]+1y[1,2,6]-0y[1,2,7]-1y[1,2,8]≥-3
-1x[1,2,1]-0x[1,2,2]-1x[1,2,3]+1x[1,2,4]+1y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-3
+1x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]-1y[1,2,5]-1y[1,2,6]+1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]+1x[1,2,4]-1y[1,2,5]-1y[1,2,6]+1y[1,2,7]+1y[1,2,8]≥-3
+1x[1,2,1]+1x[1,2,2]-1x[1,2,3]-1x[1,2,4]+1y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-3
+2x[1,2,1]+1x[1,2,2]+2x[1,2,3]+2x[1,2,4]-0y[1,2,5]-1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-0
-1x[1,2,1]-1x[1,2,2]-0x[1,2,3]-0x[1,2,4]-1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-1y[1,2,8]≥-5
+1x[1,2,1]+1x[1,2,2]-1x[1,2,3]+1x[1,2,4]+1y[1,2,5]+1y[1,2,6]+1y[1,2,7]-0y[1,2,8]≥-0
+1x[1,2,1]-1x[1,2,2]-0x[1,2,3]-0x[1,2,4]+1y[1,2,5]-1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-2
+1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-1x[1,2,4]-1y[1,2,5]+1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-3
-1x[1,2,1]+1x[1,2,2]+1x[1,2,3]-1x[1,2,4]-1y[1,2,5]-0y[1,2,6]+1y[1,2,7]-0y[1,2,8]≥-2
+1x[1,2,1]-1x[1,2,2]-1x[1,2,3]+1x[1,2,4]-0y[1,2,5]-1y[1,2,6]-0y[1,2,7]+1y[1,2,8]≥-2
+3x[1,2,1]+3x[1,2,2]+2x[1,2,3]+3x[1,2,4]-1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-0y[1,2,8]≥-0
-1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-0x[1,2,4]+1y[1,2,5]+1y[1,2,6]-0y[1,2,7]+1y[1,2,8]≥-1
-1x[1,2,1]-1x[1,2,2]-1x[1,2,3]+1x[1,2,4]-1y[1,2,5]-0y[1,2,6]-1y[1,2,7]-0y[1,2,8]≥-4
+1x[1,2,1]+1x[1,2,2]+1x[1,2,3]-0x[1,2,4]+1y[1,2,5]+1y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-0
-1x[1,2,1]+1x[1,2,2]-1x[1,2,3]+1x[1,2,4]+1y[1,2,5]+1y[1,2,6]-0y[1,2,7]+1y[1,2,8]≥-1
+1x[1,2,1]+2x[1,2,2]+2x[1,2,3]+2x[1,2,4]-1y[1,2,5]-0y[1,2,6]-1y[1,2,7]+1y[1,2,8]≥-0
+1x[1,2,1]-1x[1,2,2]-0x[1,2,3]-1x[1,2,4]+1y[1,2,5]-1y[1,2,6]-1y[1,2,7]-0y[1,2,8]≥-3
-1x[1,2,1]+1x[1,2,2]-0x[1,2,3]-0x[1,2,4]-1y[1,2,5]+1y[1,2,6]+1y[1,2,7]-1y[1,2,8]≥-2
+1x[1,2,1]-1x[1,2,2]+1x[1,2,3]-1x[1,2,4]+2y[1,2,5]+2y[1,2,6]+2y[1,2,7]+1y[1,2,8]≥-0
第二轮中:
对变量A[2,1]所代表的S盒来说:
+2x[2,1,1]-1x[2,1,2]-1x[2,1,3]-1x[2,1,4]+2y[2,1,5]-1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]+2x[2,1,2]+1x[2,1,3]-1x[2,1,4]-1y[2,1,5]+1y[2,1,6]+2y[2,1,7]-1y[2,1,8]≥-2
+2x[2,1,1]-1x[2,1,2]-1x[2,1,3]+2x[2,1,4]-0y[2,1,5]+1y[2,1,6]+2y[2,1,7]+2y[2,1,8]≥-0
-1x[2,1,1]+1x[2,1,2]-1x[2,1,3]+2x[2,1,4]-2y[2,1,5]-2y[2,1,6]-1y[2,1,7]+2y[2,1,8]≥-5
-0x[2,1,1]-0x[2,1,2]-1x[2,1,3]-1x[2,1,4]+1y[2,1,5]+1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-3
-1x[2,1,1]-1x[2,1,2]-1x[2,1,3]-0x[2,1,4]-1y[2,1,5]-0y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-5
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-1x[2,1,4]-0y[2,1,5]-1y[2,1,6]-0y[2,1,7]-1y[2,1,8]≥-4
+1x[2,1,1]-0x[2,1,2]+1x[2,1,3]-0x[2,1,4]-1y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-2
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]+1x[2,1,4]+1y[2,1,5]+1y[2,1,6]-0y[2,1,7]-0y[2,1,8]≥-1
+1x[2,1,1]+2x[2,1,2]+2x[2,1,3]+1x[2,1,4]+1y[2,1,5]-2y[2,1,6]+1y[2,1,7]+1y[2,1,8]≥-0
+2x[2,1,1]+1x[2,1,2]+2x[2,1,3]+1x[2,1,4]-1y[2,1,5]+1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-1
-1x[2,1,1]-1x[2,1,2]-1x[2,1,3]-1x[2,1,4]+1y[2,1,5]+1y[2,1,6]+2y[2,1,7]+2y[2,1,8]≥-2
+1x[2,1,1]+2x[2,1,2]+1x[2,1,3]+2x[2,1,4]+1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-1
-0x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]-1y[2,1,5]+1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]-0y[2,1,5]+1y[2,1,6]-0y[2,1,7]-1y[2,1,8]≥-3
-1x[2,1,1]-0x[2,1,2]-1x[2,1,3]+1x[2,1,4]+1y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-3
+1x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]-1y[2,1,5]-1y[2,1,6]+1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]+1x[2,1,4]-1y[2,1,5]-1y[2,1,6]+1y[2,1,7]+1y[2,1,8]≥-3
+1x[2,1,1]+1x[2,1,2]-1x[2,1,3]-1x[2,1,4]+1y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-3
+2x[2,1,1]+1x[2,1,2]+2x[2,1,3]+2x[2,1,4]-0y[2,1,5]-1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-0
-1x[2,1,1]-1x[2,1,2]-0x[2,1,3]-0x[2,1,4]-1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-1y[2,1,8]≥-5
+1x[2,1,1]+1x[2,1,2]-1x[2,1,3]+1x[2,1,4]+1y[2,1,5]+1y[2,1,6]+1y[2,1,7]-0y[2,1,8]≥-0
+1x[2,1,1]-1x[2,1,2]-0x[2,1,3]-0x[2,1,4]+1y[2,1,5]-1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-2
+1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-1x[2,1,4]-1y[2,1,5]+1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-3
-1x[2,1,1]+1x[2,1,2]+1x[2,1,3]-1x[2,1,4]-1y[2,1,5]-0y[2,1,6]+1y[2,1,7]-0y[2,1,8]≥-2
+1x[2,1,1]-1x[2,1,2]-1x[2,1,3]+1x[2,1,4]-0y[2,1,5]-1y[2,1,6]-0y[2,1,7]+1y[2,1,8]≥-2
+3x[2,1,1]+3x[2,1,2]+2x[2,1,3]+3x[2,1,4]-1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-0y[2,1,8]≥-0
-1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-0x[2,1,4]+1y[2,1,5]+1y[2,1,6]-0y[2,1,7]+1y[2,1,8]≥-1
-1x[2,1,1]-1x[2,1,2]-1x[2,1,3]+1x[2,1,4]-1y[2,1,5]-0y[2,1,6]-1y[2,1,7]-0y[2,1,8]≥-4
+1x[2,1,1]+1x[2,1,2]+1x[2,1,3]-0x[2,1,4]+1y[2,1,5]+1y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-0
-1x[2,1,1]+1x[2,1,2]-1x[2,1,3]+1x[2,1,4]+1y[2,1,5]+1y[2,1,6]-0y[2,1,7]+1y[2,1,8]≥-1
+1x[2,1,1]+2x[2,1,2]+2x[2,1,3]+2x[2,1,4]-1y[2,1,5]-0y[2,1,6]-1y[2,1,7]+1y[2,1,8]≥-0
+1x[2,1,1]-1x[2,1,2]-0x[2,1,3]-1x[2,1,4]+1y[2,1,5]-1y[2,1,6]-1y[2,1,7]-0y[2,1,8]≥-3
-1x[2,1,1]+1x[2,1,2]-0x[2,1,3]-0x[2,1,4]-1y[2,1,5]+1y[2,1,6]+1y[2,1,7]-1y[2,1,8]≥-2
+1x[2,1,1]-1x[2,1,2]+1x[2,1,3]-1x[2,1,4]+2y[2,1,5]+2y[2,1,6]+2y[2,1,7]+1y[2,1,8]≥-0
对变量A[2,2]所代表的S盒来说:
+2x[2,2,1]-1x[2,2,2]-1x[2,2,3]-1x[2,2,4]+2y[2,2,5]-1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]+2x[2,2,2]+1x[2,2,3]-1x[2,2,4]-1y[2,2,5]+1y[2,2,6]+2y[2,2,7]-1y[2,2,8]≥-2
+2x[2,2,1]-1x[2,2,2]-1x[2,2,3]+2x[2,2,4]-0y[2,2,5]+1y[2,2,6]+2y[2,2,7]+2y[2,2,8]≥-0
-1x[2,2,1]+1x[2,2,2]-1x[2,2,3]+2x[2,2,4]-2y[2,2,5]-2y[2,2,6]-1y[2,2,7]+2y[2,2,8]≥-5
-0x[2,2,1]-0x[2,2,2]-1x[2,2,3]-1x[2,2,4]+1y[2,2,5]+1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-3
-1x[2,2,1]-1x[2,2,2]-1x[2,2,3]-0x[2,2,4]-1y[2,2,5]-0y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-5
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-1x[2,2,4]-0y[2,2,5]-1y[2,2,6]-0y[2,2,7]-1y[2,2,8]≥-4
+1x[2,2,1]-0x[2,2,2]+1x[2,2,3]-0x[2,2,4]-1y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-2
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]+1x[2,2,4]+1y[2,2,5]+1y[2,2,6]-0y[2,2,7]-0y[2,2,8]≥-1
+1x[2,2,1]+2x[2,2,2]+2x[2,2,3]+1x[2,2,4]+1y[2,2,5]-2y[2,2,6]+1y[2,2,7]+1y[2,2,8]≥-0
+2x[2,2,1]+1x[2,2,2]+2x[2,2,3]+1x[2,2,4]-1y[2,2,5]+1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-1
-1x[2,2,1]-1x[2,2,2]-1x[2,2,3]-1x[2,2,4]+1y[2,2,5]+1y[2,2,6]+2y[2,2,7]+2y[2,2,8]≥-2
+1x[2,2,1]+2x[2,2,2]+1x[2,2,3]+2x[2,2,4]+1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-1
-0x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]-1y[2,2,5]+1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]-0y[2,2,5]+1y[2,2,6]-0y[2,2,7]-1y[2,2,8]≥-3
-1x[2,2,1]-0x[2,2,2]-1x[2,2,3]+1x[2,2,4]+1y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-3
+1x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]-1y[2,2,5]-1y[2,2,6]+1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]+1x[2,2,4]-1y[2,2,5]-1y[2,2,6]+1y[2,2,7]+1y[2,2,8]≥-3
+1x[2,2,1]+1x[2,2,2]-1x[2,2,3]-1x[2,2,4]+1y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-3
+2x[2,2,1]+1x[2,2,2]+2x[2,2,3]+2x[2,2,4]-0y[2,2,5]-1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-0
-1x[2,2,1]-1x[2,2,2]-0x[2,2,3]-0x[2,2,4]-1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-1y[2,2,8]≥-5
+1x[2,2,1]+1x[2,2,2]-1x[2,2,3]+1x[2,2,4]+1y[2,2,5]+1y[2,2,6]+1y[2,2,7]-0y[2,2,8]≥-0
+1x[2,2,1]-1x[2,2,2]-0x[2,2,3]-0x[2,2,4]+1y[2,2,5]-1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-2
+1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-1x[2,2,4]-1y[2,2,5]+1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-3
-1x[2,2,1]+1x[2,2,2]+1x[2,2,3]-1x[2,2,4]-1y[2,2,5]-0y[2,2,6]+1y[2,2,7]-0y[2,2,8]≥-2
+1x[2,2,1]-1x[2,2,2]-1x[2,2,3]+1x[2,2,4]-0y[2,2,5]-1y[2,2,6]-0y[2,2,7]+1y[2,2,8]≥-2
+3x[2,2,1]+3x[2,2,2]+2x[2,2,3]+3x[2,2,4]-1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-0y[2,2,8]≥-0
-1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-0x[2,2,4]+1y[2,2,5]+1y[2,2,6]-0y[2,2,7]+1y[2,2,8]≥-1
-1x[2,2,1]-1x[2,2,2]-1x[2,2,3]+1x[2,2,4]-1y[2,2,5]-0y[2,2,6]-1y[2,2,7]-0y[2,2,8]≥-4
+1x[2,2,1]+1x[2,2,2]+1x[2,2,3]-0x[2,2,4]+1y[2,2,5]+1y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-0
-1x[2,2,1]+1x[2,2,2]-1x[2,2,3]+1x[2,2,4]+1y[2,2,5]+1y[2,2,6]-0y[2,2,7]+1y[2,2,8]≥-1
+1x[2,2,1]+2x[2,2,2]+2x[2,2,3]+2x[2,2,4]-1y[2,2,5]-0y[2,2,6]-1y[2,2,7]+1y[2,2,8]≥-0
+1x[2,2,1]-1x[2,2,2]-0x[2,2,3]-1x[2,2,4]+1y[2,2,5]-1y[2,2,6]-1y[2,2,7]-0y[2,2,8]≥-3
-1x[2,2,1]+1x[2,2,2]-0x[2,2,3]-0x[2,2,4]-1y[2,2,5]+1y[2,2,6]+1y[2,2,7]-1y[2,2,8]≥-2
+1x[2,2,1]-1x[2,2,2]+1x[2,2,3]-1x[2,2,4]+2y[2,2,5]+2y[2,2,6]+2y[2,2,7]+1y[2,2,8]≥-0
第三轮中:
对变量A[3,1]所代表的S盒来说:
+2x[3,1,1]-1x[3,1,2]-1x[3,1,3]-1x[3,1,4]+2y[3,1,5]-1y[3,1,6]-1y[3,1,7]+1y[3,1,8]≥-3
-1x[3,1,1]+2x[3,1,2]+1x[3,1,3]-1x[3,1,4]-1y[3,1,5]+1y[3,1,6]+2y[3,1,7]-1y[3,1,8]≥-2
+2x[3,1,1]-1x[3,1,2]-1x[3,1,3]+2x[3,1,4]-0y[3,1,5]+1y[3,1,6]+2y[3,1,7]+2y[3,1,8]≥-0
-1x[3,1,1]+1x[3,1,2]-1x[3,1,3]+2x[3,1,4]-2y[3,1,5]-2y[3,1,6]-1y[3,1,7]+2y[3,1,8]≥-5
-0x[3,1,1]-0x[3,1,2]-1x[3,1,3]-1x[3,1,4]+1y[3,1,5]+1y[3,1,6]-1y[3,1,7]-1y[3,1,8]≥-3
-1x[3,1,1]-1x[3,1,2]-1x[3,1,3]-0x[3,1,4]-1y[3,1,5]-0y[3,1,6]-1y[3,1,7]-1y[3,1,8]≥-5
-1x[3,1,1]-1x[3,1,2]+1x[3,1,3]-1x[3,1,4]-0y[3,1,5]-1y[3,1,6]-0y[3,1,7]-1y[3,1,8]≥-4
+1x[3,1,1]-0x[3,1,2]+1x[3,1,3]-0x[3,1,4]-1y[3,1,5]-1y[3,1,6]+1y[3,1,7]-1y[3,1,8]≥-2
-1x[3,1,1]-1x[3,1,2]+1x[3,1,3]+1x[3,1,4]+1y[3,1,5]+1y[3,1,6]-0y[3,1,7]-0y[3,1,8]≥-1
+1x[3,1,1]+2x[3,1,2]+2x[3,1,3]+1x[3,1,4]+1y[3,1,5]-2y[3,1,6]+1y[3,1,7]+1y[3,1,8]≥-0
+2x[3,1,1]+1x[3,1,2]+2x[3,1,3]+1x[3,1,4]-1y[3,1,5]+1y[3,1,6]-1y[3,1,7]-1y[3,1,8]≥-1
-1x[3,1,1]-1x[3,1,2]-1x[3,1,3]-1x[3,1,4]+1y[3,1,5]+1y[3,1,6]+2y[3,1,7]+2y[3,1,8]≥-2
+1x[3,1,1]+2x[3,1,2]+1x[3,1,3]+2x[3,1,4]+1y[3,1,5]-1y[3,1,6]-1y[3,1,7]-1y[3,1,8]≥-1
-0x[3,1,1]+1x[3,1,2]-1x[3,1,3]-1x[3,1,4]-1y[3,1,5]+1y[3,1,6]-1y[3,1,7]+1y[3,1,8]≥-3
-1x[3,1,1]+1x[3,1,2]-1x[3,1,3]-1x[3,1,4]-0y[3,1,5]+1y[3,1,6]-0y[3,1,7]-1y[3,1,8]≥-3
-1x[3,1,1]-0x[3,1,2]-1x[3,1,3]+1x[3,1,4]+1y[3,1,5]-1y[3,1,6]+1y[3,1,7]-1y[3,1,8]≥-3
+1x[3,1,1]+1x[3,1,2]-1x[3,1,3]-1x[3,1,4]-1y[3,1,5]-1y[3,1,6]+1y[3,1,7]+1y[3,1,8]≥-3
-1x[3,1,1]-1x[3,1,2]+1x[3,1,3]+1x[3,1,4]-1y[3,1,5]-1y[3,1,6]+1y[3,1,7]+1y[3,1,8]≥-3
+1x[3,1,1]+1x[3,1,2]-1x[3,1,3]-1x[3,1,4]+1y[3,1,5]-1y[3,1,6]+1y[3,1,7]-1y[3,1,8]≥-3
+2x[3,1,1]+1x[3,1,2]+2x[3,1,3]+2x[3,1,4]-0y[3,1,5]-1y[3,1,6]+1y[3,1,7]-1y[3,1,8]≥-0
-1x[3,1,1]-1x[3,1,2]-0x[3,1,3]-0x[3,1,4]-1y[3,1,5]-1y[3,1,6]-1y[3,1,7]-1y[3,1,8]≥-5
+1x[3,1,1]+1x[3,1,2]-1x[3,1,3]+1x[3,1,4]+1y[3,1,5]+1y[3,1,6]+1y[3,1,7]-0y[3,1,8]≥-0
+1x[3,1,1]-1x[3,1,2]-0x[3,1,3]-0x[3,1,4]+1y[3,1,5]-1y[3,1,6]-1y[3,1,7]+1y[3,1,8]≥-2
+1x[3,1,1]-1x[3,1,2]+1x[3,1,3]-1x[3,1,4]-1y[3,1,5]+1y[3,1,6]-1y[3,1,7]+1y[3,1,8]≥-3
-1x[3,1,1]+1x[3,1,2]+1x[3,1,3]-1x[3,1,4]-1y[3,1,5]-0y[3,1,6]+1y[3,1,7]-0y[3,1,8]≥-2
+1x[3,1,1]-1x[3,1,2]-1x[3,1,3]+1x[3,1,4]-0y[3,1,5]-1y[3,1,6]-0y[3,1,7]+1y[3,1,8]≥-2
+3x[3,1,1]+3x[3,1,2]+2x[3,1,3]+3x[3,1,4]-1y[3,1,5]-1y[3,1,6]-1y[3,1,7]-0y[3,1,8]≥-0
-1x[3,1,1]-1x[3,1,2]+1x[3,1,3]-0x[3,1,4]+1y[3,1,5]+1y[3,1,6]-0y[3,1,7]+1y[3,1,8]≥-1
-1x[3,1,1]-1x[3,1,2]-1x[3,1,3]+1x[3,1,4]-1y[3,1,5]-0y[3,1,6]-1y[3,1,7]-0y[3,1,8]≥-4
+1x[3,1,1]+1x[3,1,2]+1x[3,1,3]-0x[3,1,4]+1y[3,1,5]+1y[3,1,6]-1y[3,1,7]+1y[3,1,8]≥-0
-1x[3,1,1]+1x[3,1,2]-1x[3,1,3]+1x[3,1,4]+1y[3,1,5]+1y[3,1,6]-0y[3,1,7]+1y[3,1,8]≥-1
+1x[3,1,1]+2x[3,1,2]+2x[3,1,3]+2x[3,1,4]-1y[3,1,5]-0y[3,1,6]-1y[3,1,7]+1y[3,1,8]≥-0
+1x[3,1,1]-1x[3,1,2]-0x[3,1,3]-1x[3,1,4]+1y[3,1,5]-1y[3,1,6]-1y[3,1,7]-0y[3,1,8]≥-3
-1x[3,1,1]+1x[3,1,2]-0x[3,1,3]-0x[3,1,4]-1y[3,1,5]+1y[3,1,6]+1y[3,1,7]-1y[3,1,8]≥-2
+1x[3,1,1]-1x[3,1,2]+1x[3,1,3]-1x[3,1,4]+2y[3,1,5]+2y[3,1,6]+2y[3,1,7]+1y[3,1,8]≥-0
对变量A[3,2]所代表的S盒来说:
+2x[3,2,1]-1x[3,2,2]-1x[3,2,3]-1x[3,2,4]+2y[3,2,5]-1y[3,2,6]-1y[3,2,7]+1y[3,2,8]≥-3
-1x[3,2,1]+2x[3,2,2]+1x[3,2,3]-1x[3,2,4]-1y[3,2,5]+1y[3,2,6]+2y[3,2,7]-1y[3,2,8]≥-2
+2x[3,2,1]-1x[3,2,2]-1x[3,2,3]+2x[3,2,4]-0y[3,2,5]+1y[3,2,6]+2y[3,2,7]+2y[3,2,8]≥-0
-1x[3,2,1]+1x[3,2,2]-1x[3,2,3]+2x[3,2,4]-2y[3,2,5]-2y[3,2,6]-1y[3,2,7]+2y[3,2,8]≥-5
-0x[3,2,1]-0x[3,2,2]-1x[3,2,3]-1x[3,2,4]+1y[3,2,5]+1y[3,2,6]-1y[3,2,7]-1y[3,2,8]≥-3
-1x[3,2,1]-1x[3,2,2]-1x[3,2,3]-0x[3,2,4]-1y[3,2,5]-0y[3,2,6]-1y[3,2,7]-1y[3,2,8]≥-5
-1x[3,2,1]-1x[3,2,2]+1x[3,2,3]-1x[3,2,4]-0y[3,2,5]-1y[3,2,6]-0y[3,2,7]-1y[3,2,8]≥-4
+1x[3,2,1]-0x[3,2,2]+1x[3,2,3]-0x[3,2,4]-1y[3,2,5]-1y[3,2,6]+1y[3,2,7]-1y[3,2,8]≥-2
-1x[3,2,1]-1x[3,2,2]+1x[3,2,3]+1x[3,2,4]+1y[3,2,5]+1y[3,2,6]-0y[3,2,7]-0y[3,2,8]≥-1
+1x[3,2,1]+2x[3,2,2]+2x[3,2,3]+1x[3,2,4]+1y[3,2,5]-2y[3,2,6]+1y[3,2,7]+1y[3,2,8]≥-0
+2x[3,2,1]+1x[3,2,2]+2x[3,2,3]+1x[3,2,4]-1y[3,2,5]+1y[3,2,6]-1y[3,2,7]-1y[3,2,8]≥-1
-1x[3,2,1]-1x[3,2,2]-1x[3,2,3]-1x[3,2,4]+1y[3,2,5]+1y[3,2,6]+2y[3,2,7]+2y[3,2,8]≥-2
+1x[3,2,1]+2x[3,2,2]+1x[3,2,3]+2x[3,2,4]+1y[3,2,5]-1y[3,2,6]-1y[3,2,7]-1y[3,2,8]≥-1
-0x[3,2,1]+1x[3,2,2]-1x[3,2,3]-1x[3,2,4]-1y[3,2,5]+1y[3,2,6]-1y[3,2,7]+1y[3,2,8]≥-3
-1x[3,2,1]+1x[3,2,2]-1x[3,2,3]-1x[3,2,4]-0y[3,2,5]+1y[3,2,6]-0y[3,2,7]-1y[3,2,8]≥-3
-1x[3,2,1]-0x[3,2,2]-1x[3,2,3]+1x[3,2,4]+1y[3,2,5]-1y[3,2,6]+1y[3,2,7]-1y[3,2,8]≥-3
+1x[3,2,1]+1x[3,2,2]-1x[3,2,3]-1x[3,2,4]-1y[3,2,5]-1y[3,2,6]+1y[3,2,7]+1y[3,2,8]≥-3
-1x[3,2,1]-1x[3,2,2]+1x[3,2,3]+1x[3,2,4]-1y[3,2,5]-1y[3,2,6]+1y[3,2,7]+1y[3,2,8]≥-3
+1x[3,2,1]+1x[3,2,2]-1x[3,2,3]-1x[3,2,4]+1y[3,2,5]-1y[3,2,6]+1y[3,2,7]-1y[3,2,8]≥-3
+2x[3,2,1]+1x[3,2,2]+2x[3,2,3]+2x[3,2,4]-0y[3,2,5]-1y[3,2,6]+1y[3,2,7]-1y[3,2,8]≥-0
-1x[3,2,1]-1x[3,2,2]-0x[3,2,3]-0x[3,2,4]-1y[3,2,5]-1y[3,2,6]-1y[3,2,7]-1y[3,2,8]≥-5
+1x[3,2,1]+1x[3,2,2]-1x[3,2,3]+1x[3,2,4]+1y[3,2,5]+1y[3,2,6]+1y[3,2,7]-0y[3,2,8]≥-0
+1x[3,2,1]-1x[3,2,2]-0x[3,2,3]-0x[3,2,4]+1y[3,2,5]-1y[3,2,6]-1y[3,2,7]+1y[3,2,8]≥-2
+1x[3,2,1]-1x[3,2,2]+1x[3,2,3]-1x[3,2,4]-1y[3,2,5]+1y[3,2,6]-1y[3,2,7]+1y[3,2,8]≥-3
-1x[3,2,1]+1x[3,2,2]+1x[3,2,3]-1x[3,2,4]-1y[3,2,5]-0y[3,2,6]+1y[3,2,7]-0y[3,2,8]≥-2
+1x[3,2,1]-1x[3,2,2]-1x[3,2,3]+1x[3,2,4]-0y[3,2,5]-1y[3,2,6]-0y[3,2,7]+1y[3,2,8]≥-2
+3x[3,2,1]+3x[3,2,2]+2x[3,2,3]+3x[3,2,4]-1y[3,2,5]-1y[3,2,6]-1y[3,2,7]-0y[3,2,8]≥-0
-1x[3,2,1]-1x[3,2,2]+1x[3,2,3]-0x[3,2,4]+1y[3,2,5]+1y[3,2,6]-0y[3,2,7]+1y[3,2,8]≥-1
-1x[3,2,1]-1x[3,2,2]-1x[3,2,3]+1x[3,2,4]-1y[3,2,5]-0y[3,2,6]-1y[3,2,7]-0y[3,2,8]≥-4
+1x[3,2,1]+1x[3,2,2]+1x[3,2,3]-0x[3,2,4]+1y[3,2,5]+1y[3,2,6]-1y[3,2,7]+1y[3,2,8]≥-0
-1x[3,2,1]+1x[3,2,2]-1x[3,2,3]+1x[3,2,4]+1y[3,2,5]+1y[3,2,6]-0y[3,2,7]+1y[3,2,8]≥-1
+1x[3,2,1]+2x[3,2,2]+2x[3,2,3]+2x[3,2,4]-1y[3,2,5]-0y[3,2,6]-1y[3,2,7]+1y[3,2,8]≥-0
+1x[3,2,1]-1x[3,2,2]-0x[3,2,3]-1x[3,2,4]+1y[3,2,5]-1y[3,2,6]-1y[3,2,7]-0y[3,2,8]≥-3
-1x[3,2,1]+1x[3,2,2]-0x[3,2,3]-0x[3,2,4]-1y[3,2,5]+1y[3,2,6]+1y[3,2,7]-1y[3,2,8]≥-2
+1x[3,2,1]-1x[3,2,2]+1x[3,2,3]-1x[3,2,4]+2y[3,2,5]+2y[3,2,6]+2y[3,2,7]+1y[3,2,8]≥-0
限制六和限制七
第一轮中:
x[2,1,1]-y[1,1,1]=0、-y[1,1,1]+y[1,2,1]+x[2,1,3]-2d2=0
x[2,1,2]-y[1,1,2]=0、-y[1,1,2]+y[1,2,2]+x[2,1,4]-2d3=0
x[2,2,3]-y[1,2,3]=0、-y[1,2,3]+y[1,1,3]+x[2,2,1]-2d4=0
x[2,2,4]-y[1,2,4]=0、-y[1,2,4]+y[1,1,4]+x[2,2,2]-2d5=0
第二轮中:
x[3,1,1]-y[2,1,1]=0、-y[2,1,1]+y[2,2,1]+x[3,1,3]-2d8=0
x[3,1,2]-y[2,1,2]=0、-y[2,1,2]+y[2,2,2]+x[3,1,4]-2d9=0
x[3,2,3]-y[2,2,3]=0、-y[2,2,3]+y[2,1,3]+x[3,2,1]-2d10=0
x[3,2,4]-y[2,2,4]=0、-y[2,2,4]+y[2,1,4]+x[3,2,2]-2d11=0
第三轮中:
x[4,1,1]-y[3,1,1]=0、-y[3,1,1]+y[3,2,1]+x[4,1,3]-2d14=0
x[4,1,2]-y[3,1,2]=0、-y[3,1,2]+y[3,2,2]+x[4,1,4]-2d15=0
x[4,2,3]-y[3,2,3]=0、-y[3,2,3]+y[3,1,3]+x[4,2,1]-2d16=0
x[4,2,4]-y[3,2,4]=0、-y[3,2,4]+y[3,1,4]+x[4,2,2]-2d17=0
限制八:
x[1,1,1]+x[1,1,2]+x[1,1,3]+x[1,1,4]+x[1,2,1]+x[1,2,2]+x[1,2,3]+x[1,2,4]≥1
以最小化该三轮分组密码的第二部分(第3轮)中的所有S盒的线性活跃变量之和为第二目标函数,其中的第二目标函数为:
A[3,1]+A[3,2]
步骤a9、求解所述第二混合整数线性规划模型,以获得该三轮分组密码的第二部分(即第3轮)中的活跃S盒个数的下界,记为第二下界。
其中所获得的第二下界为k2=1
步骤a10、将第一下界与第二下界的和作为该三轮分组密码的活跃S盒个数的下界,并利用所述分组密码的活跃S盒个数的下界确定该三轮分组密码的线性逼近表达式的最大偏差概率的上界。
本步骤a10中采用如下公式获得该三轮分组密码的线性逼近表达式的最大偏差概率的上界:
其中,Ps=3/4
本发明的分组密码抗线性攻击安全性的评估方法,由于其中分别采用了两套限制集和混合整数线性规划问题,进而可获得分组密码的两个活跃S盒个数下界最优值,再根据该两个活跃S盒个数下界最优值而最终确定分组密码的线性逼近表达式的最大偏差概率的上界,进而所确定出的分组密码的抗线性攻击的安全性的高低。与仅采用一套限制集和混合整数线性规划问题确定的分组密码的抗线性攻击的安全性的方法相比,本发明的方法所获得的分组密码的抗线性攻击的安全性的高低的可靠性更高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (6)

1.一种分组密码抗线性攻击安全性的评估方法,包括:
步骤1、将分组密码分成两个部分,其中第一部分为所述分组密码的至少前1轮,第二部分为所述分组密码中除第一部分以外的其它所有轮;
步骤2、对所述分组密码的第一部分中的每一个运算的输入和输出比特分别引入一个线性掩码变量;
步骤3、对所述分组密码的第一部分中的每一个S盒引入线性活跃变量;
步骤4、针对所述分组密码的第一部分中的每一个线性掩码变量和每一个线性活跃变量赋予一限制集,并以最小化所述分组密码的第一部分中的所有S盒的线性活跃变量之和为第一目标函数,建立第一混合整数线性规划模型;
步骤5、求解所述第一混合整数线性规划模型,以获得所述分组密码的第一部分中的活跃S盒个数的下界,记为第一下界;
步骤6、对整个所述分组密码每一个运算的输入和输出比特分别引入一个线性掩码变量;
步骤7、对整个所述分组密码的每一个S盒引入线性活跃变量;
步骤8、针对整个所述分组密码的每一个线性掩码变量和每一个线性活跃变量赋予所述限制集,并增加所述分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界的限制,以最小化所述分组密码的第二部分中的所有S盒的线性活跃变量之和为第二目标函数,建立第二混合整数线性规划模型;
步骤9、求解所述第二混合整数线性规划模型,以获得所述分组密码的第二部分中的活跃S盒个数的下界,记为第二下界;
步骤10、将所述第一下界与第二下界的和作为所述分组密码的活跃S盒个数的下界,并利用所述分组密码的活跃S盒个数的下界确定所述分组密码的线性逼近表达式的最大偏差概率的上界;
其中,所述分组密码的分组长度为B比特,所述分组密码共有R轮,每一轮中具有T个S盒,所述分组密码中共有G个S盒,每个S盒具有P个输入比特和P个输出比特;
其中,G=T×R,P=B/T,B、R、T、G、P均为正整数,且B能够被T整除;
所述第一部分为所述分组密码中的第1轮至第N轮,所述第二部分为所述分组密码中的第N+1轮至第R轮,其中,1≤N<R;
所述分组密码中,任意一个S盒的任意一个输入比特位置所引入的线性掩码变量表示为x[r,t,p],任意一个S盒的任意一个输出比特位置所引入的线性掩码变量表示为y[r,t,p],每个x[r,t,p]变量以及每个y[r,t,p]变量只取0和1其中的一个值;
若x[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为1;
若x[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为0;
若y[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为1;
若y[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为0;
其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数,p的取值范围为从1到P的整数;
所述分组密码中,任意一个S盒所引入的活跃变量表示为A[r,t],每个A[r,t]变量只取0和1其中的一个值;
若A[r,t]=1,则表示该A[r,t]所代表的S盒为活跃S盒;
若A[r,t]=0,则表示该A[r,t]所代表的S盒为不活跃S盒;
其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数;
所述限制集包括:
限制一:
保证当A[r,t]变量所代表的S盒为活跃S盒时,该S盒的输出线性掩码变量中,至少有一个输入比特变量的值为1,即:
x[r,t,1]+…+x[r,t,P]-A[r,t]≥0
限制二:
保证当A[r,t]变量所表示的S盒的输出线性掩码变量中有一个非零比特时,该S盒必须是活跃S盒,即:
x[r,t,p]-A[r,t]≤0
限制三:
非零输入线性掩码变量一定导致非零输出线性掩码变量,且非零输出线性掩码变量一定导致非零输入线性掩码变量,即:
Py[r,t,1]+…+Py[r,t,P]-x[r,t,1]-…-x[r,t,P]≥0
Px[r,t,1]+…+Px[r,t,P]-y[r,t,1]-…-y[r,t,P]≥0
限制四:
保证当A[r,t]变量所代表的S盒活跃时,输入线性掩码变量和输出线性掩码变量中至少有B比特非零,即:
x[r,t,1]+…+x[r,t,P]+y[r,t,1]+…+y[r,t,P]≥B×d
其中,d≥x[r,t,1]、…、d≥x[r,t,P]、d≥y[r,t,1]、…、d≥y[r,t,P],B为A[r,t]变量所代表的S盒的极大分支数;
限制五:
将所述S盒的凸闭包作为限制,所述S盒的凸闭包为该S盒的所有非零概率的线性特征所对应的点集的凸闭包的H-表示;
限制六:
所述分组密码的每一轮中,轮密钥异或操作的输入线性掩码变量和输出线性掩码变量限制为:
所述轮密钥异或操作的两个输入线性掩码变量和输出线性掩码变量相等,即:
z[1]=z[2]=z[3]
其中,z[1]、z[2]分别为所述轮密钥异或操作的两个输入比特的线性掩码变量,z[3]为所述轮密钥异或操作的输出比特的线性掩码变量;
限制七:
三叉结构中的一个分支的线性掩码变量等于另外两个分支的线性掩码变量的异或值,即
z[4]=z[5]⊕z[6]
其中,z[4]为所述三叉结构的任意一个分支比特的线性掩码变量,z[5]为所述三叉结构中除了z[4]所属分支比特以外两个分支比特中的任意一个分支比特的线性掩码变量,z[6]为所述三叉结构中除了z[4]和z[5]所属分支比特以外的分支比特的线性掩码变量;
限制八:
所述分组密码的输入差分不全为0。
2.根据权利要求1所述的方法,其特征在于,对于所述限制七,在所述第一混合整数线性规划问题和第二混合整数线性规划问题中,采用如下的不等式组刻画表达式z[4]=z[5]⊕z[6]:
z[4]=z[5]+z[6]-2d
0≤d≤1
其中,d为虚拟变量,d、z[4]、z[5]、z[6]为0-1变量。
3.根据权利要求1所述的方法,其特征在于,所述步骤4中的第一目标函数为:
&Sigma; r = 1 N &Sigma; t = 1 T A &lsqb; r , t &rsqb; .
4.根据权利要求3所述的方法,其特征在于,步骤8中,所述分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界的限制为:
&Sigma; r = 1 N &Sigma; t = 1 T A &lsqb; r , t &rsqb; &GreaterEqual; k 1
其中,k1为所述第一下界,即所述分组密码的第一部分中的活跃S盒个数的下界。
5.根据权利要求1所述的方法,其特征在于,所述步骤8中的第二目标函数为:
&Sigma; r = N + 1 R &Sigma; t = 1 T A &lsqb; r , t &rsqb; .
6.根据权利要求1所述的方法,其特征在于,所述步骤10中,所述分组密码的线性逼近表达式的最大偏差概率的上界通过下式获得:
p = p s k 1 + k 2
其中,p为所述分组密码的线性逼近表达式的最大偏差概率的上界,ps为所述分组密码中S盒的线性逼近表达式的最大偏差概率,k1为所述第一下界,k2为所述第二下界。
CN201410331997.9A 2014-07-11 2014-07-11 分组密码抗线性攻击安全性的评估方法 Expired - Fee Related CN104158796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410331997.9A CN104158796B (zh) 2014-07-11 2014-07-11 分组密码抗线性攻击安全性的评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410331997.9A CN104158796B (zh) 2014-07-11 2014-07-11 分组密码抗线性攻击安全性的评估方法

Publications (2)

Publication Number Publication Date
CN104158796A CN104158796A (zh) 2014-11-19
CN104158796B true CN104158796B (zh) 2017-07-21

Family

ID=51884201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410331997.9A Expired - Fee Related CN104158796B (zh) 2014-07-11 2014-07-11 分组密码抗线性攻击安全性的评估方法

Country Status (1)

Country Link
CN (1) CN104158796B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850203B (zh) * 2017-02-22 2019-11-01 北京智慧云测科技有限公司 密码算法的安全性评估方法和装置
CN110401627B (zh) * 2019-01-31 2020-07-10 中国科学院软件研究所 一种适用于分组密码算法感染防护的抗差分故障攻击安全性评估方法和系统
CN110266470B (zh) * 2019-06-24 2020-09-18 清华大学 新型分组密码算法轮函数的构造方式
CN110299988B (zh) * 2019-07-01 2022-10-21 中国人民解放军战略支援部队信息工程大学 轻量级分组密码算法抗攻击能力的检测方法及检测装置
CN113343175B (zh) * 2021-05-31 2022-05-27 中国电子科技集团公司第三十研究所 一种自动化搜索spn型轻量级分组密码活跃s盒的快速方法
CN115102689B (zh) * 2022-08-24 2022-11-15 北京信安世纪科技股份有限公司 两方协同的s盒生成方法、加密方法和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951314A (zh) * 2010-10-12 2011-01-19 北京航空航天大学 对称密码加密中s-盒的设计方法
CN103427986A (zh) * 2013-08-22 2013-12-04 中国科学院信息工程研究所 获取分组密码活跃s盒个数下界的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622807B2 (ja) * 2005-03-25 2011-02-02 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951314A (zh) * 2010-10-12 2011-01-19 北京航空航天大学 对称密码加密中s-盒的设计方法
CN103427986A (zh) * 2013-08-22 2013-12-04 中国科学院信息工程研究所 获取分组密码活跃s盒个数下界的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Differential and Linear Cryptanalysis;Nicky Mouha et al;《Interational Conference on Information Security and Cryptology》;20121231;全文 *
一般SPT模型的抗差分和线性攻击安全性研究;刘凤梅等;《通信学报》;20120131;全文 *
分组密码算法抗线性攻击设计策略;罗岚等;《第十一届全国青年通信学术会议 》;20060731;全文 *

Also Published As

Publication number Publication date
CN104158796A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
CN104158796B (zh) 分组密码抗线性攻击安全性的评估方法
KR101245010B1 (ko) 정보 처리 장치
Fu et al. A novel chaos-based bit-level permutation scheme for digital image encryption
CN101739695B (zh) 一种基于三维Arnold映射的图像分组加密方法
CN102648600B (zh) 由定制的掩蔽保护的低复杂度电子电路
CN106997606B (zh) 一种基于超混沌系统投影同步的图像加密方法
CN103427986B (zh) 获取分组密码活跃s盒个数下界的方法
CN110572255B (zh) 基于轻量级分组密码算法Shadow的加密方法、装置及计算机可读介质
CN106910156A (zh) 一种具有与明文相关密钥流生成机制的混沌图像加密方法
CN109768854A (zh) 一种轻量级分组密码算法Wheel的实现方法
CN103634101A (zh) 加密处理方法及设备
Yasser et al. A robust chaos-based technique for medical image encryption
CN107204841B (zh) 一种抵御差分功耗攻击的分组密码多s盒实现的方法
CN104052595B (zh) 密码算法定制方法
CN107633474B (zh) 一种具有快速密钥流生成过程的混沌彩色图像加密方法
CN103636159B (zh) 用于产生随机的输出位序列的方法
Ullah et al. An efficient construction of S-box based on the fractional-order Rabinovich–Fabrikant chaotic system
Negi et al. Cryptography Playfair cipher using linear feedback shift register
Arshad et al. Construction of highly nonlinear substitution boxes (S-boxes) based on connected regular graphs
Shetty et al. Encryption system involving matrix associated with semigraphs
Mishra et al. A Chaotic encryption algorithm: Robustness against Brute-force attack
CN110247754B (zh) 一种分组密码fbc的实现方法及装置
CN107886463A (zh) 一种基于Chen系统和细胞自动机的数字图像加密方法
CN113691364A (zh) 一种基于位片技术的动态s盒分组密码的加密及解密方法
Perez et al. A Modified Key Generation Scheme of Vigenère Cipher Algorithm using Pseudo-Random Number and Alphabet Extension

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170721

Termination date: 20200711