预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN110266468A(43)申请公布日2019.09.20(21)申请号201910418923.1(22)申请日2019.05.20(71)申请人陕西师范大学地址710062陕西省西安市长安南路199号(72)发明人张晶杨波王金波王鑫樊旭雅(74)专利代理机构西安永生专利代理有限责任公司61201代理人申忠才(51)Int.Cl.H04L9/06(2006.01)权利要求书1页说明书5页附图1页(54)发明名称用于分组密码代换-置换网络块中的扩散变换方法(57)摘要一种用于分组密码代换-置换网络块中的扩散变换方法,由扩散变换初始化、对L(X)进行分解、构建最大距离可分扩散变换步骤组成。本发明方法实现简单,能够达到最大分支数n+1,构建过程不需进行预处理和辅助计算,可直接构建出用于分组密码代换-置换网络块中的扩散变换,构建成用于分组密码代换-置换网络块中的扩散变换分支数达到最大值5,而现有技术构建的二元扩散变换分支数为4,并未达到最大值。本发明方法简单,效率更高。CN110266468ACN110266468A权利要求书1/1页1.一种用于分组密码代换-置换网络块中的扩散变换方法,其特征在于由下述步骤组成:(1)扩散变换初始化选定初始扩散变换式(1)中,X为xj的长度为m比特,xj的个数为n,m、n为有限的正整数,<<<为循环左移操作,li为X循环左移的位数、取值范围为[0,mn);(2)对L(X)进行分解1)将扩散变换L(X)中的异或项X<<<li按照li从小到大的顺序排列,判断区间[mi,m(i+1))内li的个数是否属于区间[1,2],其中i为0,1,…,n-1,如果不属于,转至步骤(1)重新选择扩散变换,否则,继续下一步;2)若li的个数为2的区间是[0,m),则式(2)中,d0为l0,di为li-m(i-1),0≤di<m;(3)构建最大距离可分扩散变换满足下列所有条件,式(2)中L(X)是最大距离可分扩散变换,否则式(2)中L(X)不是最大距离可分扩散变换,判断式(2)中L(X)是否为最大距离可分扩散变换的条件如下:1)判断是否满足d0不为d1,max{d0,d1}≥d2以及min{d0,d1}≤dn,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;2)判断是否满足di≥di+1,其中i为2,3,…,n-1,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;3)判断d0为0、d1不为0、d2不为0时,是否满足mmod(m-d1+d2)为0,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;4)判断当di不为0、di+1不为0时,是否满足mmod(m-di+di+1)为0,其中i为2,3,…,n-1,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;5)判断是否存在di与di+1、di+2相等,其中i为2,3,…,n-2,如果存在,转至步骤(1)重新选择扩散变换,否则,继续下一步;mn6)L(X)遍历长度为mn比特的数据X1为即对区间[1,2]内所有的取值进行扩散变换,X1扩散变换后的数据Y1为其中xj与yj的长度均为m比特,j为1,2,…,n,如果存在某一个X1中xj的非零元素个数与其对应的Y1中yj的非零元素个数之和小于n+1,转至步骤(1)重新选择扩散变换,否则,L(X)是最大距离可分扩散变换,构造成用于分组密码代换-置换网络块中的扩散变换。2CN110266468A说明书1/5页用于分组密码代换-置换网络块中的扩散变换方法技术领域[0001]本发明属于数据加密技术领域,具体涉及一种应用于分组密码代换-置换网络中扩散层的MDS扩散变换方法。背景技术[0002]随着网络通信的发展,确保通信中的数据安全成为重要问题。确保安全的方式之一是对数据进行加密。加密方法主要包括对称加密和非对称加密两类。其中,对称加密的加解密密钥相同且实现速度快,适用于大批量的数据加密。而以分组密码为代表的对称加密因其简单高效,被广泛使用。混淆层一般由几个非线性的并置S盒构造,扩散层一般由一个线性变换构造。代换-置换网络是分组密码的一种常见结构,它将明文块与轮密钥的异或值作为输入,依次经过混淆层和扩散层,重复若干轮后得到密文块。性能良好的扩散层可抵抗差分密码分析和线性密码分析,其性能通过分支数的大小来衡量,其中分支数指任意连续两轮运算间最小的活跃S盒数目。分支数达到最大的扩散层为最优扩散层,即最大距离可分(MaximumDistanceSeparable,MDS)扩散层,其本质是一个MDS扩散变换,而基于位移的MDS扩散变换由于软硬件实现简单,已被广泛应用于各种分组密码算法当中,比如:SMS4算法、ZUC算法等。[0