【技术实现步骤摘要】
一种混合差分字节级区分器搜索方法
[0001]本专利技术涉及一种混合差分字节级区分器搜索方法,属于网络信息安全分组密码设计与分析
技术介绍
[0002]对称密码,是指加密和解密使用同一密钥的密码算法,主要用于数据加密。其中,分组密码是一种广泛使用的对称密码。分组密码的加密是指在长度为m比特主密钥的控制下,将固定长度(如n比特)的明文变为相同长度(如果明文长度是n,则密文长度也为n)的密文;解密是指将密文在同一密钥的控制下恢复出明文。n为明文的分组长度,m为主密钥长度,m为正整数,n为正整数。
[0003]分组密码不仅可以用于数据加密,还可用于构造杂凑函数(Hash Function)和消息认证码(MAC,Message Authentication Code)等,这使得分组密码的应用非常广泛。如何设计一个安全高效的分组密码,是信息安全研究领域一个至关重要的课题。
[0004]SPN(替换置换网络)结构,是设计分组密码中最常采用的结构之一。设计一个SPN结构分组密码的核心在于设计一个合适的轮函数,并将轮函数迭代数次以达到足够的安全性。一个将轮函数迭代R次的SPN分组密码,称该分组密码有R轮,其中R为正整数。一个分组长度为N的R轮SPN分组密码,每轮需要使用一个N比特子密钥,每轮用到的子密钥是由该分组密码的主密钥通过一个确定的密钥扩展算法得到的。
[0005]分组长度为N的SPN结构分组密码的轮函数结构通常包括三个操作,如图1所示。这三个操作依次为:
[0006]1.轮密钥异或操 ...
【技术保护点】
【技术特征摘要】
1.一种混合差分字节级区分器搜索方法,其特征在于,包括以下步骤:首先,对使用(半)字节级置换作为线性扩散层的分组密码中的每一个状态矩阵的每个输入字节和每个输出字节,引入混合差分模式编码变量,并对每一层线性扩散层的XOR操作引入概率变量,其中,所有变量均为二元变量,即取值为0或1;然后,针对加密流程中的非线性层S盒操作,无需生成新的编码变量,以最小化分组密码中所有线性扩散层XOR操作的概率变量之和为目标,对每一轮线性扩散层的每一个XOR操作的输入(半)字节混合差分编码变量、输出(半)字节混合差分编码变量、概率变量赋予限制,建立一个混合整数的线性规划问题;求解该混合整数线性规划问题,获得满足要求的混合差分区分器。2.如权利要求1所述的一种混合差分字节级区分器搜索方法,其特征在于:分组密码的分组长度为N比特,分组密码共有R轮,每一轮状态矩阵含T个(半)字节,每个(半)字节的宽度为w,其中,N=T
×
w,N、R、T、w均为正整数,且N能够被T整除;分组密码每轮的线性层由M个(半)字节级的XOR运算构成;在分组密码中,第i轮输入状态矩阵的任意一个字节位置所引入的混合差分模式编码变量表示为(c2
i
‑
1,k
,c1
i
‑
1,k
,c0
i
‑
1,k
),c为code的简写,i∈[1,R+1],k∈[0,T
‑
1];对于XOR的输出不在状态矩阵中而是作为中间状态的情况,引入中间状态上的混合差分模式编码变量输出不在状态矩阵中而是作为中间状态的情况,引入中间状态上的混合差分模式编码变量J是中间变量的个数,设置如下:若(c2
i
‑
1,k
,c1
i
‑
1,k
,c0
i
‑
1,k
)=000,则表示该(半)字节所代表的混合差分模式为
“‑”
;若(c2
i
‑
1,k
,c1
i
‑
1,k
,c0
i
‑
1,k
)=001,则表示该(半)字节所代表的混合差分模式为“s”;若(c2
i
‑
1,k
,c1
i
‑
1,k
,c0
i
‑
1,k
)=010,则表示该(半)字节所代表的混合差分模式为“c”;若(c2
i
‑
1,k
,c1
i
‑
1,k
,c0
i
‑
1,k
)=100,则表示该(半)字节所代表的混合差分模式为“x”;若(c2
i
‑
1,k
,c1
i
‑
1,k
,c0
i
‑
1,k
)=101,则表示该(半)字节所代表的混合差分模式为“*”;若则表示该中间状态(半)字节所代表的混合差分模式为
“‑”
;若则表示该中间状态(半)字节所代表的混合差分模式为“s”;若则表示该中间状态(半)字节所代表的混合差分模式为“c”;若则表示该中间状态(半)字节所代表的混合差分模式为“x”;若则表示该中间状态(半)字节所代表的混合差分模式为“*”;其中,i的取值范围为从1到R+1的整数,k的取值范围为从0到T
‑
1的整数,用三元码来表示状态矩阵中每一个(半)字节的混合差分模式;其中,限制包括:对于混合差分模式变量与混合差分概率变量所对应的XOR操作,不失
一般性,将两个输入混合差分模式变量分别记为(c
l2
,c
l1
,c
l0
)与(c
r2
,c
r1
,c
r0
),输出混合差分模式变量记为(c
o2
,c
o1
,c
o0
),概率变量记为(ph,pl),c
l
、c
r
表示分别表示XOR运算两侧输入混合差分模式编码,c
o
表示XOR运算输出混合差分模式编码;ph表示概率变量高位,pl表示概率变量低位;对混合差分模式的可行传播以及相应的概率进行枚举,在混合差分模式变量和概率变量表示下为50个11维点,代表9个模式变量和2个概率变量的可行取值,规则如下:概率为1,变量取值为(001 001 000 00);概率为2
‑
w
,变量取值为(001 001 000 01);概率为2
‑
w
,变量取值为(001 100 010 01);概率为2
‑
w
,变量取值为(100 100 000 01);概率为2
‑
w
,变量取值为(101 101 000 11);限制还包括:用不等式刻画可行点集,每个不等式是关于11个对应当前XOR操作的模式变量和概率变量的不等式,上述可行点集由如下不等式进行刻画:
‑
c
l2
‑
3c
l1
‑
c
l0
‑
c
r2
‑
3c
r1
‑
c
r0
‑
2c
o2
‑
3c
o1
‑
2c
o0
‑
2ph
‑
3pl+9≥0;3c
l2
+3c
l1
+2c
l0
+3c
r2
+3c
r1
+2c
r0
‑
c
o2
‑
c
o1
‑
2c
o0
‑
6ph
‑
4pl≥0;
‑
c
r2
‑
2c
r1
‑
c
ro
+c
o2
+2c
o1
+c
o0
+ph+2pl≥0;
‑
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。