CN110266468B - 用于分组密码代换-置换网络块中的扩散变换方法 - Google Patents

用于分组密码代换-置换网络块中的扩散变换方法 Download PDF

Info

Publication number
CN110266468B
CN110266468B CN201910418923.1A CN201910418923A CN110266468B CN 110266468 B CN110266468 B CN 110266468B CN 201910418923 A CN201910418923 A CN 201910418923A CN 110266468 B CN110266468 B CN 110266468B
Authority
CN
China
Prior art keywords
diffusion
transformation
substitution
reselect
diffusion transformation
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
CN201910418923.1A
Other languages
English (en)
Other versions
CN110266468A (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.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
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 Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201910418923.1A priority Critical patent/CN110266468B/zh
Publication of CN110266468A publication Critical patent/CN110266468A/zh
Application granted granted Critical
Publication of CN110266468B publication Critical patent/CN110266468B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Facsimile Transmission Control (AREA)

Abstract

一种用于分组密码代换‑置换网络块中的扩散变换方法,由扩散变换初始化、对L(X)进行分解、构建最大距离可分扩散变换步骤组成。本发明方法实现简单,能够达到最大分支数n+1,构建过程不需进行预处理和辅助计算,可直接构建出用于分组密码代换‑置换网络块中的扩散变换,构建成用于分组密码代换‑置换网络块中的扩散变换分支数达到最大值5,而现有技术构建的二元扩散变换分支数为4,并未达到最大值。本发明方法简单,效率更高。

Description

用于分组密码代换-置换网络块中的扩散变换方法
技术领域
本发明属于数据加密技术领域,具体涉及一种应用于分组密码代换-置换网络中扩散层的MDS扩散变换方法。
背景技术
随着网络通信的发展,确保通信中的数据安全成为重要问题。确保安全的方式之一是对数据进行加密。加密方法主要包括对称加密和非对称加密两类。其中,对称加密的加解密密钥相同且实现速度快,适用于大批量的数据加密。而以分组密码为代表的对称加密因其简单高效,被广泛使用。混淆层一般由几个非线性的并置S盒构造,扩散层一般由一个线性变换构造。代换-置换网络是分组密码的一种常见结构,它将明文块与轮密钥的异或值作为输入,依次经过混淆层和扩散层,重复若干轮后得到密文块。性能良好的扩散层可抵抗差分密码分析和线性密码分析,其性能通过分支数的大小来衡量,其中分支数指任意连续两轮运算间最小的活跃S盒数目。分支数达到最大的扩散层为最优扩散层,即最大距离可分(Maximum Distance Separable,MDS)扩散层,其本质是一个MDS扩散变换,而基于位移的MDS扩散变换由于软硬件实现简单,已被广泛应用于各种分组密码算法当中,比如:SMS4算法、ZUC算法等。
目前的构造算法并不能高效地构造出MDS扩散变换。专利公开号为CN101944991A、发明名称为《一种代换-置换网络块加密中扩散层的二元线性变换方法》的中国专利,构造了8×8的二元扩散变换,该扩散变换的分支数为4,未达到最大分支数5。基于位移的扩散变换中仅包含循环移位和异或运算,实现简单,为了高效地构造线性扩散层,需要提供一种基于位移的MDS扩散变换的构造方法。
发明内容
本发明所要解决的技术问题在于克服上述现有技术的缺点,为替换-置换网络加密结构的扩散层提供一种用于分组密码代换-置换网络块中的扩散变换方法。
解决上述技术问题所采用的技术方案是由下述步骤组成:
(1)扩散变换初始化
选定初始扩散变换
Figure BDA0002065346760000021
式(1)中,X为
Figure BDA0002065346760000023
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),则
Figure BDA0002065346760000022
式(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)重新选择扩散变换,否则,继续下一步。
6)L(X)遍历长度为mn比特的数据X1
Figure BDA0002065346760000031
即对区间[1,2mn]内所有的取值进行扩散变换,X1扩散变换后的数据Y1
Figure BDA0002065346760000032
Figure BDA0002065346760000033
其中xj与yj的长度均为m比特,j为1,2,…,n,如果存在某一个X1中xj的非零元素个数与其对应的Y1中yj的非零元素个数之和小于n+1,转至步骤(1)重新选择扩散变换,否则,L(X)是最大距离可分扩散变换,构造成用于分组密码代换-置换网络块中的扩散变换。
本发明为分组密码代换-置换网络块提供了一种基于位移的扩散变换方法,该方法实现简单,能够达到最大分支数n+1,构建过程不需进行预处理和辅助计算,可直接构建出用于分组密码代换-置换网络块中的扩散变换,构建成用于分组密码代换-置换网络块中的扩散变换分支数达到最大值5,而一种代换-置换网络块加密中扩散层的二元线性变换方法中构建的二元扩散变换分支数为4,并未达到最大值。本发明方法简单,效率更高。
附图说明
图1是本发明实施例1的流程图。
具体实施方式
下面结合附图和实施例对本发明进一步详细说明,但本发明不应局限于下面的实施例。
实施例1
以初始扩散变换L(X)中的m为8、n为4为例,本实施例的用于分组密码代换-置换网络块中的扩散变换方法由以下步骤组成(参见图1):
(1)扩散变换初始化
选定初始扩散变换
Figure BDA0002065346760000041
式(1)中,X为
Figure BDA0002065346760000042
xj的长度为m比特,xj的个数为n,本实施例的m为8、n为4,<<<为循环左移操作,li为X循环左移的位数、取值范围为[0,32);
(2)对L(X)进行分解
1)将扩散变换L(X)中的异或项X<<<li按照li从小到大的顺序排列,判断区间[8i,8(i+1))内li的个数是否属于区间[1,2],其中i为0,1,…,3,如果不属于,转至步骤(1)重新选择扩散变换,否则,继续下一步;
2)若li的个数为2的区间是[0,8),则
Figure BDA0002065346760000043
式(2)中,d0为l0,di为li-8(i-1),0≤di<8;
(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,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;
3)判断d0为0、d1不为0、d2不为0时,是否满足8mod(8-d1+d2)为0,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;
4)判断当di不为0、di+1不为0时,是否满足8mod(8-di+di+1)为0,其中i为2,3,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;
5)判断是否存在di与di+1、di+2相等,其中i为2,如果存在,转至步骤(1)重新选择扩散变换,否则,继续下一步;
6)L(X)遍历长度为32比特的数据X1
Figure BDA0002065346760000051
即对区间[1,232]内所有的取值进行扩散变换,X1扩散变换后的数据Y1
Figure BDA0002065346760000052
Figure BDA0002065346760000053
其中xj与yj的长度均为8比特,j为1,2,…,4,如果存在某一个X1中xj的非零元素个数与其对应的Y1中yj的非零元素个数之和小于5,转至步骤(1)重新选择扩散变换,否则,L(X)是最大距离可分扩散变换,构造成用于分组密码代换-置换网络块中的扩散变换。
本实施例在有限域
Figure BDA0002065346760000054
上构造成用于分组密码代换-置换网络块中的扩散变换为:
Figure BDA0002065346760000055
Figure BDA0002065346760000056
以上实施例构建的用于分组密码代换-置换网络块中的扩散变换在有限域
Figure BDA0002065346760000057
上构造成用于分组密码代换-置换网络块中的扩散变换分支数达到最大值5,而《一种代换-置换网络块加密中扩散层的二元线性变换方法》中构造的二元扩散变换分支数为4,并未达到最大值。
实施例2
以初始扩散变换L(X)中的m为4、n为4为例,本实施例的用于分组密码代换-置换网络块中的扩散变换方法由以下步骤组成:
(1)扩散变换初始化
选定初始扩散变换
Figure BDA0002065346760000061
式(1)中,X为
Figure BDA0002065346760000062
xj的长度为m比特,xj的个数为n,本实施例的m为4、n为4,<<<为循环左移操作,li为X循环左移的位数、取值范围为[0,16);
(2)对L(X)进行分解
1)将扩散变换L(X)中的异或项X<<<li按照li从小到大的顺序排列,判断区间[4i,4(i+1))内li的个数是否属于区间[1,2],其中i为0,1,…,3,如果不属于,转至步骤(1)重新选择扩散变换,否则,继续下一步;
2)若li的个数为2的区间是[0,4),则
Figure BDA0002065346760000063
式(2)中,d0为l0,di为li-4(i-1),0≤di<4;
(3)判断L(X)是否为最大距离可分扩散变换
满足下列所有条件,式(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,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;
3)判断d0为0、d1不为0、d2不为0时,是否满足4mod(4-d1+d2)为0,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;
4)判断当di不为0、di+1不为0时,是否满足4mod(4-di+di+1)为0,其中i为2,3,如果不满足,转至步骤(1)重新选择扩散变换,否则,继续下一步;
5)判断是否存在di与di+1、di+2相等,其中i为2,如果存在,转至步骤(1)重新选择扩散变换,否则,继续下一步;
6)L(X)遍历长度为16比特的数据X1
Figure BDA0002065346760000071
即对区间[1,216]内所有的取值进行扩散变换,X1扩散变换后的数据Y1
Figure BDA0002065346760000072
Figure BDA0002065346760000073
其中xj与yj的长度均为4比特,j为1,2,…,4,如果存在某一个X1中xj的非零元素个数与其对应的Y1中yj的非零元素个数之和小于5,转至步骤(1)重新选择扩散变换,否则,L(X)是最大距离可分扩散变换,构造成用于分组密码代换-置换网络块中的扩散变换。
本实施例在有限域
Figure BDA0002065346760000074
上构造成用于分组密码代换-置换网络块中的扩散变换为:
Figure BDA0002065346760000075
Figure BDA0002065346760000076
以上实施例构建的用于分组密码代换-置换网络块中的扩散变换在有限域
Figure BDA0002065346760000077
上构造成用于分组密码代换-置换网络块中的扩散变换分支数达到最大值5,而背景技术《一种代换-置换网络块加密中扩散层的二元线性变换方法》中构建的二元扩散变换分支数为4,并未达到最大值。

Claims (1)

1.一种用于分组密码代换-置换网络块中的扩散变换方法,其特征在于由下述步骤组成:
(1)扩散变换初始化
选定初始扩散变换
Figure FDA0002065346750000011
式(1)中,X为
Figure FDA0002065346750000012
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),则
Figure FDA0002065346750000013
式(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)重新选择扩散变换,否则,继续下一步;
6)L(X)遍历长度为mn比特的数据X1
Figure FDA0002065346750000021
即对区间[1,2mn]内所有的取值进行扩散变换,X1扩散变换后的数据Y1
Figure FDA0002065346750000022
Figure FDA0002065346750000023
其中xj与yj的长度均为m比特,j为1,2,…,n,如果存在某一个X1中xj的非零元素个数与其对应的Y1中yj的非零元素个数之和小于n+1,转至步骤(1)重新选择扩散变换,否则,L(X)是最大距离可分扩散变换,构造成用于分组密码代换-置换网络块中的扩散变换。
CN201910418923.1A 2019-05-20 2019-05-20 用于分组密码代换-置换网络块中的扩散变换方法 Expired - Fee Related CN110266468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910418923.1A CN110266468B (zh) 2019-05-20 2019-05-20 用于分组密码代换-置换网络块中的扩散变换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910418923.1A CN110266468B (zh) 2019-05-20 2019-05-20 用于分组密码代换-置换网络块中的扩散变换方法

Publications (2)

Publication Number Publication Date
CN110266468A CN110266468A (zh) 2019-09-20
CN110266468B true CN110266468B (zh) 2022-05-27

Family

ID=67914797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910418923.1A Expired - Fee Related CN110266468B (zh) 2019-05-20 2019-05-20 用于分组密码代换-置换网络块中的扩散变换方法

Country Status (1)

Country Link
CN (1) CN110266468B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487410A (zh) * 2020-12-02 2021-03-12 中国电子科技集团公司第三十研究所 基于循环移位和异或运算构造密码结构模型的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法
CN101944991A (zh) * 2010-09-27 2011-01-12 北京航空航天大学 一种代换-置换网络块加密中扩散层的二元线性变换方法
CN102571331A (zh) * 2012-02-07 2012-07-11 中国科学院软件研究所 一种用于防御能量分析攻击的密码算法实现保护方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702099B2 (en) * 2005-06-30 2010-04-20 Chiou-Haun Lee Multipoint synchronous diffused encryption/decryption method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764686A (zh) * 2010-01-11 2010-06-30 石家庄开发区冀科双实科技有限公司 一种用于网络与信息安全的加密方法
CN101944991A (zh) * 2010-09-27 2011-01-12 北京航空航天大学 一种代换-置换网络块加密中扩散层的二元线性变换方法
CN102571331A (zh) * 2012-02-07 2012-07-11 中国科学院软件研究所 一种用于防御能量分析攻击的密码算法实现保护方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MDS矩阵构造方法;李鹏飞 等;《网络与信息安全学报》;20160630;第2卷(第6期);正文第45-51页 *
On the calculation of input and output for dynamic MDS matrices in diffusion layer of SPN block ciphers;Tran Thi Luong 等;《2017 International Conference on Information and Communications (ICIC)》;20170628;正文第281-286页 *
基于循环移位构造最优线性变换;王金波;《中国密码学会2007年会论文集》;20071231;正文第306-307页 *
基于移位和异或的最佳扩散变换的构造;曹云飞 等;《四川大学学报》;20120930;第49卷(第5期);正文第1020-1022页 *

Also Published As

Publication number Publication date
CN110266468A (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
Kim et al. Impossible differential cryptanalysis using matrix method
Noura et al. A new efficient lightweight and secure image cipher scheme
Mendel et al. Rebound attacks on the reduced Grøstl hash function
Biryukov et al. Cryptanalysis of Feistel networks with secret round functions
Keliher et al. Improving the upper bound on the maximum average linear hull probability for Rijndael
Abdoun et al. Design and security analysis of two robust keyed hash functions based on chaotic neural networks
Bansod et al. An ultra lightweight encryption design for security in pervasive computing
Noura et al. Overview of efficient symmetric cryptography: dynamic vs static approaches
Li et al. Related-tweak statistical saturation cryptanalysis and its application on QARMA
CN110266468B (zh) 用于分组密码代换-置换网络块中的扩散变换方法
Karakoç et al. AKF: A key alternating Feistel scheme for lightweight cipher designs
Tang et al. A meet-in-the-middle attack on reduced-round ARIA
Li et al. Integral cryptanalysis of ARIA
CN115484019B (zh) 一种弱相关性的aes密钥扩展改进算法
Burov et al. The influence of linear mapping reducibility on the choice of round constants
Srisakthi et al. Towards the design of a stronger AES: AES with key dependent shift rows (KDSR)
Kang et al. Known-key attacks on generalized Feistel schemes with SP round function
Pehlivanoğlu et al. The new approach of AES key schedule for lightweight block ciphers
Su et al. Full-round differential attack on TWIS block cipher
Biham et al. Differential cryptanalysis of Q
Xie et al. Related-key Impossible Boomerang Cryptanalysis on LBlock-s
Wei et al. Related-key impossible differential cryptanalysis on crypton and crypton v1. 0
Akleylek et al. Efficient methods to generate cryptographically significant binary diffusion layers
Kazymyrov Extended criterion for absence of fixed points
CN110532763A (zh) 一种基于高阶正形置换的密码构造方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20220527