CN110266468B - 用于分组密码代换-置换网络块中的扩散变换方法 - Google Patents
用于分组密码代换-置换网络块中的扩散变换方法 Download PDFInfo
- 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
Links
- 238000009792 diffusion process Methods 0.000 title claims abstract description 114
- 230000009466 transformation Effects 0.000 title claims abstract description 64
- 238000006467 substitution reaction Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims abstract description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 238000011426 transformation method Methods 0.000 abstract description 9
- 238000010276 construction Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000007781 pre-processing Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution 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)扩散变换初始化
(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)重新选择扩散变换,否则,继续下一步。
6)L(X)遍历长度为mn比特的数据X1为即对区间[1,2mn]内所有的取值进行扩散变换,X1扩散变换后的数据Y1为 其中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)扩散变换初始化
(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),则
式(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为即对区间[1,232]内所有的取值进行扩散变换,X1扩散变换后的数据Y1为 其中xj与yj的长度均为8比特,j为1,2,…,4,如果存在某一个X1中xj的非零元素个数与其对应的Y1中yj的非零元素个数之和小于5,转至步骤(1)重新选择扩散变换,否则,L(X)是最大距离可分扩散变换,构造成用于分组密码代换-置换网络块中的扩散变换。
以上实施例构建的用于分组密码代换-置换网络块中的扩散变换在有限域上构造成用于分组密码代换-置换网络块中的扩散变换分支数达到最大值5,而《一种代换-置换网络块加密中扩散层的二元线性变换方法》中构造的二元扩散变换分支数为4,并未达到最大值。
实施例2
以初始扩散变换L(X)中的m为4、n为4为例,本实施例的用于分组密码代换-置换网络块中的扩散变换方法由以下步骤组成:
(1)扩散变换初始化
(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),则
式(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为即对区间[1,216]内所有的取值进行扩散变换,X1扩散变换后的数据Y1为 其中xj与yj的长度均为4比特,j为1,2,…,4,如果存在某一个X1中xj的非零元素个数与其对应的Y1中yj的非零元素个数之和小于5,转至步骤(1)重新选择扩散变换,否则,L(X)是最大距离可分扩散变换,构造成用于分组密码代换-置换网络块中的扩散变换。
Claims (1)
1.一种用于分组密码代换-置换网络块中的扩散变换方法,其特征在于由下述步骤组成:
(1)扩散变换初始化
(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)重新选择扩散变换,否则,继续下一步;
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487410A (zh) * | 2020-12-02 | 2021-03-12 | 中国电子科技集团公司第三十研究所 | 基于循环移位和异或运算构造密码结构模型的方法 |
Citations (3)
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)
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 |
-
2019
- 2019-05-20 CN CN201910418923.1A patent/CN110266468B/zh not_active Expired - Fee Related
Patent Citations (3)
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)
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 |