一种对称密码中二进制线性扩散结构的设计方法

文档序号:7779710阅读:240来源:国知局
一种对称密码中二进制线性扩散结构的设计方法
【专利摘要】本发明公开了一种对称密码中二进制线性扩散结构的设计方法,涉及用于密码设计的方法。所述方案如下:(1)计算二进制矩阵汉明重量值的上界和下界,同时生成候选行向量组成的集合;(2)在行向量集合中选取元素构造线性分支数达到理论最优、同时汉明重量高的二进制可逆矩阵;(3)判断矩阵的差分分支数是否也达到理论最优;(4)通过对行进行两两互换,来构造强正形矩阵。本发明利用强正形置换,提供一种既具有最优差分分支数和线性分支数,又具有强完全平衡性的二进制线性扩散结构的设计方法,同时该方法还能保证得到的二进制矩阵的汉明重量达到差分分支数和线性分支数同时最优条件下的最高值,从而能够提高数据加密的安全性。
【专利说明】一种对称密码中二进制线性扩散结构的设计方法
【技术领域】
[0001]本发明涉及密码设计的方法,特别涉及一种对称密码中二进制线性扩散结构的设计方法。
【背景技术】
[0002]1949年C.E.Shannon提出了对称密码需要满足的两大设计原则:混淆原则和扩散原则。置换理论是密码学领域的基本理论之一,置换理论既可以用于设计对称密码的混淆结构,也可以用于设计对称密码的扩散结构。现代分组密码(分组密码为对称密码的一种)中的混淆结构,典型的就是由η个mXm的S盒并置组成混淆结构,例如AES、ARIA都是由16个8X8的S盒并置而成,Camellia是由8个8X8的S盒并置而成。一个S盒输出的m比特仅与其输入的m比特有关,与其他S盒的输入无关。而线性扩散结构的作用就是将这些S盒的输出打乱,使得输出的m比特尽可能的与其他S盒的输入也相关。二进制线性扩散结构是一种常用的线性扩散结构形式,具有实现高效的优点,但是现有的二进制线性扩散结构的设计方法考虑的密码学性质主要是差分分支数和线性分支数,而没有考虑其他的密码学性质,因此现有的二进制线性扩散结构普遍安全功能单一,使得构造出的密码算法对于新型密码分析的“免疫”能力不足。同时现有的二进制线性扩散矩阵的构造方法,不能保证其得到的矩阵在满足差分分支数和线性分支数达到最优的同时,Hamming重量也为最高,而二进制扩散矩阵的Hamming重量越高,雪崩效果越好,雪崩效果也是一项重要的密码学性质。
[0003]正形置换是一种特殊的布尔置换,也是一类完全映射,具有完全平衡性等优良的密码学性质,相比其他普通的置换拥有更强的扩散特性。我国的无线局域网商用密码算法SMS4的轮函数,就是基于正形置换发生器设计的。我国科学家设计的流密码算法LOISS中的S盒,也是一个非线性正形置换。另外,我国军方很重视正形置换在密码算法中的应用,国防科技大学、解放军信息工程大学以及西安电子科技大学都对其进行持续研究。

【发明内容】

[0004]本发明的目的是解决目前二进制线性扩散结构只具有优良的差分分支数和线性分支数,而缺乏其他优秀密码学性质;现有的二进制线性扩散矩阵的构造方法,不能保证其得到的矩阵在满足差分分支数和线性分支数达到最优的同时,Hamming重量也为最高的问题和不足。通过利用强正形置换,提供一种既具有最优差分分支数和线性分支数,又具有强完全平衡性等密码学性质的二进制线性扩散结构设计方法,同时该方法还能保证所得到的二进制矩阵的Hamming重量达到差分分支数和线性分支数都最优条件下的最高值。
[0005]为实现上述目的,本发明采用如下解决方案:本发明基于向量空间GF(2m)n上的强正形置换设计二进制线性扩散结构,通过下述步骤实现(其中18,m> 1,H等于该二进制矩阵的Hamming重量值):
[0006](I)计算出η阶(η行η列)二进制线性扩散矩阵的Hamming重量值的一个上界和一个下界,并将该上界赋值给H,同时生成候选η维行向量组成的集合;
[0007](2)在行向量集合中选取元素构造这样的η阶二进制可逆矩阵=Hamming重量值为H,同时线性分支数达到该种条件下的理论最优值。若找到这样的矩阵,则执行(3)。若不存在这样的矩阵,则H自减1,此时如果H小于下界,程序终止,反之继续执行(2);
[0008](3)计算该二进制矩阵的差分分支数,若差分分支数也达到理论最优值,则执行
(4),否则返回(2);
[0009](4)将该矩阵按行进行两两互换(一共可形成η!个矩阵),每得到一个新矩阵就判断其是否是GF(2m)上的强正形矩阵(每一个线性强正形置换都可以写成一个强正形矩阵)。若是强正形矩阵则输出结果,程序终止,若这η!个矩阵都不为强正形矩阵,则返回(2)。
[0010]上述的一种基于向量空间GF(2m)n上的强正形置换设计二进制线性扩散结构的方法,其特征在于:
[0011]所述步骤(1)中计算二进制矩阵的Hamming重量值下界的方法如下:
[0012]假设d为二进制线性码[2n,n, d]的极小距离,之后出现的d的含义均同此处。
[0013]现在假设该二进制矩阵是η阶(η行η列)的,那么根据二进制线性码[2n,n,d]与二元矩阵的对应关系,可以得到通用下界为(d-l)n。
[0014]所述步骤(1)中计算二进制矩阵的Hamming重量值上界的方法如下:
[0015]一个通用上界为
【权利要求】
1.一种对称密码中二进制线性扩散结构的设计方法,其特征在于,所述方法包括: (1)计算二进制矩阵Hamming重量值的上界和下界,同时生成候选行向量组成的集合; (2)在行向量集合中选取元素构造线性分支数达到理论最优、同时Hamming重量高的二进制可逆矩阵; (3)判断该矩阵的差分分支数是否也达到理论最优; (4)通过对行进行两两互换,来构造强正形矩阵; 二进制矩阵是矩阵元素为O或者I的矩阵,这里的二进制矩阵Hamming重量值等于该矩阵中元素为I的个数。
2.根据权利要求1所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于: 假设η表示矩阵的规模,并且I < η < 18,d为二进制线性码[2n,n, d]的极小距离,之后出现的η和d的含义均同此处; 现在假设该二进制矩阵是η阶的,那么根据二进制线性码[2n,n, d]与二元矩阵的对应关系,可以得到通用下界为(d-l)n。
3.根据权利要求1所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于: 一个通用上界为
4.根据权利要求1所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于: 一共生成(η-d+l)个η维行向量集合,每一个行向量集合内,所有行的Hamming重量相等,(η-d+l)个行向量集合的行向量Hamming重量取值依次为d_l, d,…,η。
5.根据权利要求1所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于: 假设H等于该二进制矩阵的Hamming重量值,λ ,值等于二进制矩阵中Hamming重量为i的行的数量,那么可以得到如下不定方程组:
6.根据权利要求5所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于:
7.根据权利要求6所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于:I r\、若η关4并且η幸12,那么当η--— +1 < / < n , Ai只能取O或者I ;当且仅当
VLZJJd为偶数时,可以取大于I的数,当d为奇数时,j—giD能取的非零整数只有I。 若η = 4或者η = 12,由二进制线性码的知识得d均为偶数,则当( d — I 'η-一— + I </<(2/7-2(/+ 3)时,λ i只能取O或者I可以取大于I的数。



I 2 J
8.根据权利要求1所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于: 先测试Hamming重量高的情况,若找不到,才将H自减1,然后重新解权利要求5中的不定方程,重新选取行构造矩阵,这样就保证了所得矩阵的Hamming重量总是较高的情况。
9.根据权利要求1所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于: 生成I到η的所有η!种排列,然后利用排列来重新安排矩阵的行序。排列的生成可以预先计算,然后存储预计算结果,使用的时候直接调用。当利用一个排列重新安排行序,得到一个新矩阵后,则计算出这个矩阵的特征多项式,然后检测有限域GF(2m)上的所有非零元素是否是该多项式的根,若均不是根,则该矩阵为强正形矩阵,将该结果输出。
10.根据权利要求1和8所述的一种对称密码中二进制线性扩散结构的设计方法,其特征在于: 当H自减I后,若H的值小于下界,则程序终止,并提示该规模下无满足要求的强正形矩阵。
【文档编号】H04L9/00GK103701584SQ201310665234
【公开日】2014年4月2日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】童言 申请人:中国船舶重工集团公司第七0九研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1