国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一類輕量化線性MDS變換的設(shè)計(jì)與分析*

2018-03-21 00:56董新鋒董新科胡建勇
通信技術(shù) 2018年3期
關(guān)鍵詞:構(gòu)造方法移位分支

董新鋒,董新科,胡建勇

0 引 言

擴(kuò)散部件的設(shè)計(jì)是密碼算法設(shè)計(jì)的重要組成部分。目前,擴(kuò)散部件主要有MDS矩陣、基于循環(huán)移位和異或運(yùn)算的線性MDS變換、比特置換和二元矩陣等。擴(kuò)散部件設(shè)計(jì)的好壞直接影響密碼算法的安全性和效率[1-3]。采用差分分支數(shù)和線性分支數(shù)較大的擴(kuò)散部件,可以使密碼算法更好地抵抗差分攻擊和線性攻擊。采用結(jié)構(gòu)簡單的擴(kuò)散部件,有利于密碼算法的快速實(shí)現(xiàn)。線性MDS變換的差分分支數(shù)和線性分支數(shù)相等且達(dá)到最大[4],故利用線性MDS變換設(shè)計(jì)分組密碼的擴(kuò)散部件是一種常用的方法。線性MDS變換作為擴(kuò)散部件被廣泛應(yīng)用于密碼算法設(shè)計(jì)中,如AES算法、Twofish算法、SMS4算法、AIRA算法、HIEROCRYPT算法等。為了保證密碼算法的快速有效實(shí)現(xiàn),線性MDS變換對應(yīng)的MDS矩陣應(yīng)具有較少的元素和較小的數(shù)值。例如,AES算法使用有限域GF(28)上的MDS矩陣為循環(huán)移位矩陣;Twofish算法使用GF(28)上的MDS矩陣為Hadamard矩陣;AIRA算法使用GF(2)上的0/1矩陣為對合矩陣,等等。如何設(shè)計(jì)有限域GF(2n)上快速實(shí)現(xiàn)MDS矩陣,一直是人們關(guān)心的重要問題,具有較好的理論基礎(chǔ)和豐富的研究成果。例如,文獻(xiàn)[5-7]等提出可以基于循環(huán)移位矩陣、Cauchy矩陣以及Hadamard矩陣等特殊矩陣來設(shè)計(jì)MDS矩陣的思想和構(gòu)造方法,并搜索出大量便于實(shí)現(xiàn)的MDS矩陣。但是,由于有限域GF(2n)上的乘法運(yùn)算較為復(fù)雜,導(dǎo)致有限域上的MDS矩陣無法滿足移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)中諸多資源受限應(yīng)用場景下的密碼算法擴(kuò)散部件的設(shè)計(jì)要求。此外,文獻(xiàn)[8-14]研究了通常情形下MDS矩陣的構(gòu)造方法,文獻(xiàn)[15-19]研究了輕量級MDS變換的構(gòu)造方法。

本文將基于循環(huán)移位和異或運(yùn)算,提出一種新的輕量化的線性MDS變換的構(gòu)造方法,給出該類線性MDS變換的計(jì)數(shù)結(jié)果和相應(yīng)實(shí)例,能夠?yàn)樗惴ㄔO(shè)計(jì)提供大量輕量化的線性MDS變換。通過與公開算法中擴(kuò)散部件的比較分析,說明本文提出的最簡形式線性MDS變換具有時(shí)延低、運(yùn)算快、計(jì)算資源小等輕量化特性,可以滿足移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)中諸多資源受限應(yīng)用場景下的擴(kuò)散部件的設(shè)計(jì)要求。

1 準(zhǔn)備知識

本文用⊕表示逐位模2加,用+表示實(shí)數(shù)加或?qū)崝?shù)模2m加。對于y=(y1, y2,…, ym)∈GF(2n)m,本文均用W(y)表示y=(y1, y2,…, ym)中非0元的個(gè)數(shù)。

對于GF(2n)上m×m矩陣A定義的線性變換f(x)=Ax,其差分分支數(shù)達(dá)到最大值m+1等價(jià)于其線性分支數(shù)達(dá)到最大值m+1。當(dāng)它的差分分支數(shù)達(dá)到最大值時(shí),則稱A為MDS矩陣。

下面介紹線性變換的差分分支數(shù)Bd和線性分支數(shù)Bl的定義。

定義1:設(shè)f(x)=Ax,且A是GF(2n)上的m×m矩陣,則:

其中矩陣At為矩陣A的轉(zhuǎn)置矩陣。此處用+表示實(shí)數(shù)加。

定義 2:設(shè)A=(aij)2m×2m是GF(2n)上的 2m×2m矩陣,如果當(dāng)0≤i, j≤2m-1時(shí),均有aij=a0(i+j),則稱A為有限域上的一個(gè)循環(huán)(Cyclic)移位矩陣,簡記為A=Cyc(a00,a01,…,a0(2m-1))。此處,用+表示實(shí)數(shù)模2m加。

2 基于循環(huán)移位和異或運(yùn)算的線性MDS變換

基于循環(huán)移位、異或等簡單邏輯運(yùn)算設(shè)計(jì)的線性MDS變換,具有結(jié)構(gòu)簡單、運(yùn)算快速、計(jì)算資源消耗低等輕量化特征,特別適用于移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等應(yīng)用場景下的輕量級密碼算法設(shè)計(jì)。通常情形下,衡量一個(gè)密碼算法部件的資源占用情況,可以通過基本運(yùn)算數(shù)目的多少來大致刻畫。本文的主要目標(biāo)是尋找具有最少異或數(shù)、最少循環(huán)移位數(shù)和最優(yōu)分支數(shù)等輕量化特征的最簡形式MDS變換的設(shè)計(jì)方法。

目前,主流的密碼算法設(shè)計(jì)中采用的MDS變換擴(kuò)散部件主要有兩類:一類是有限域GF(2n)上分支數(shù)為5的4階或8階矩陣變換(一般地,n=4、8、16、32等);另一類是GF(2)上分支數(shù)為4、5或8的0/1矩陣變換(對應(yīng)的矩陣階數(shù)分別為4階、8階或16階)。考慮到密碼部件在算法設(shè)計(jì)等實(shí)際應(yīng)用中的普適性,以下章節(jié)均以GF(2)16→GF(2)16的線性MDS變換為例來闡述相關(guān)結(jié)果,但本文的構(gòu)造方法及思路適用于設(shè)計(jì)任意的GF(2n)m→GF(2n)m上的線性MDS變換。

2.1 最簡形式1與構(gòu)造方法1

由線性MDS碼的相關(guān)結(jié)論易知,GF(2)16→GF(2)16的線性變換其比特分支數(shù)最優(yōu)為8。因此,若要使基于循環(huán)移位和異或等邏輯運(yùn)算構(gòu)造的線性變換L(X):GF(2)16→GF(2)16為比特分支數(shù)為8的MDS變換,則L(X)的表達(dá)式中應(yīng)至少包含7個(gè)單項(xiàng)式(即包含6個(gè)循環(huán)移位和6個(gè)異或運(yùn)算)。此外,考慮到L(X)與L(X<<<i)具有相同的分支數(shù),則對L(X)變換整體做循環(huán)移位不會(huì)影響其MDS變換的性質(zhì),稱L(X)與L(X<<<i)為兩個(gè)等價(jià)線性MDS變換。

定義具有如下形式的L(X)為GF(2)16→GF(2)16的基于循環(huán)移位和異或等邏輯運(yùn)算構(gòu)造的線性MDS變換的最簡形式1。

設(shè)L(X)是GF(2)16→GF(2)16的線性變換,如果L(X)具有如下形式:

其中Xij(X<<<ij),且L(X)為MDS變換(即L(X)的分支數(shù)達(dá)到8),則稱L(X)為GF(2)16→GF(2)16具有最簡形式1的線性MDS變換。

具有最簡形式1的L(X)包含6個(gè)循環(huán)移位和6個(gè)異或運(yùn)算。其中,6個(gè)循環(huán)移位運(yùn)算可以并行計(jì)算,具有時(shí)延低、運(yùn)算快、計(jì)算資源小等特性,滿足諸多輕量化密碼算法擴(kuò)散部件的設(shè)計(jì)需求。

構(gòu)造方法1:設(shè)L(X)是GF(2)16→GF(2)16的線性變換,且具有如下形式(其中i0、i2、…、i5均為1~15之間互不相同的非零整數(shù)):

其中 Xij(X<<<ij)。

X通過遍歷GF(2)16的216-1個(gè)16比特值(全0除外),i0、i2、…、i5(互不相同)通過分別遍歷1~15的15個(gè)整數(shù)值,計(jì)算min{W(X)+W(L(X))|X∈GF(2)16{0}}并判斷取值是否等于8,即可得到GF(2)16→GF(2)16的所有具有最簡形式1的線性MDS變換。

若采用構(gòu)造方法1,需要遍歷的搜索量為(216-,約為228.3。其中為15選6的組合數(shù)。

性質(zhì)1:設(shè)L(X)是通過構(gòu)造方法1得到的GF(2)16→GF(2)16的線性MDS變換,形如式(4),定義Ln(X)為GF(2n)16→GF(2n)16的線性變換,且具有下面的形式:

其中Ln(X)。

那么Ln(X)為GF(2n)16→GF(2n)16的線性MDS變換,即驗(yàn)證Ln(X)的等價(jià)形式Ln(X)=M·X,其中M為16階0/1矩陣,M的分支數(shù)達(dá)到最大值8。

2.2 最簡形式2與構(gòu)造方法2

在密碼算法的某些資源受限應(yīng)用場景下,可以考慮犧牲擴(kuò)散部件運(yùn)算的并行性,使得擴(kuò)散部件占用的資源最少。這種情形下需要通過級聯(lián)迭代等形式設(shè)計(jì)擴(kuò)散部件。下面的構(gòu)造方法2給出了一種適用于這種資源受限應(yīng)用場景的GF(2)16→GF(2)16的線性MDS變換設(shè)計(jì)方法,僅包含4個(gè)循環(huán)移位和4個(gè)異或運(yùn)算。

設(shè)L'(X)是GF(2)16→GF(2)16的線性變換,如果L'(X)具有如下形式:

且L'(X)為MDS變換,即L'(X)的分支數(shù)達(dá)到8,則稱L'(X)為GF(2)16→GF(2)16具有最簡形式2的MDS變換。

具有最簡形式2的L'(X)僅包含4個(gè)循環(huán)移位和4個(gè)異或運(yùn)算,相對最簡形式1具有更低的時(shí)延和更小的計(jì)算資源占用,但4個(gè)循環(huán)移位和4個(gè)異或運(yùn)算只能依次串行計(jì)算。

構(gòu)造方法2:設(shè)L'(X)是GF(2)16→GF(2)16上的線性變換,且通過如下形式得到(其中a、c、d均為1~15之間互不相同的非零整數(shù),b為1~15之間的非零整數(shù)):

X通過遍歷GF(2)16的216-1個(gè)16比特值(全0除外),a、c、d(互不相同)通過分別遍歷1~15的15個(gè)整數(shù)值,b通過遍歷1~15的15個(gè)整數(shù)值,計(jì)算min{W(X)+W(L'(X))|X∈GF(2)16{0}},并判斷取值是否等于8,即可獲得GF(2)16→GF(2)16上的所有具有最簡形式2的MDS變換。

若采用構(gòu)造方法2,需要遍歷的搜索量為(216-1)××15,約為 228.8。其中為 15選 3的組合數(shù)。性質(zhì)2:設(shè)L'(X)是通過構(gòu)造方法2得到的GF(2)16→GF(2)16的線性MDS變換,形如式(9)、式(10)、式(11),定義Ln'(X)為GF(2n)16→GF(2n)16上的線性變換,且具有下面的形式:

那么Ln'(X)為GF(2n)16→GF(2n)16的線性MDS變換,即驗(yàn)證Ln'(X)的等價(jià)形式為Ln'(X)=M·X,其中M為16階0/1矩陣,M的分支數(shù)達(dá)到最大值8。

2.3 最簡形式1與最簡形式2之間的關(guān)系

對最簡形式2中的L'(X)展開、化簡、合并后,得到如下形式(注:此處“+”為模16加):

其中 Xi<<<i。

說明最簡形式2得到的MDS變換也具有最簡形式1的形式,即通過最簡形式2得到的MDS變換為通過最簡形式1得到的MDS變換的子集。

在有些特殊場景下,可能會(huì)對密碼算法的擴(kuò)散部件MDS變換提出更多要求,如要求GF(2n)16→GF(2n)16上的線性MDS變換同時(shí)滿足上述的最簡形式1或最簡形式2,此外還滿足為GF(24n)4→GF(24n)4上的線性MDS變換,即要求L''(X)滿足以下三點(diǎn):

(1)作為GF(2n)16→GF(2n)16的線性變換,同時(shí)滿足最簡形式1或最簡形式2;

(2)作為GF(2n)16→GF(2n)16的線性變換,其分支數(shù)達(dá)到最優(yōu)為8,即為MDS變換;

(3)作為GF(24n)4→GF(24n)4的線性變換,其分支數(shù)達(dá)到最優(yōu)為5,即為MDS變換。

將滿足上述三點(diǎn)性質(zhì)的L''(X)稱為具有特殊形式的MDS變換。

在本文的第3部分,將說明滿足上述最簡形式的線性MDS變換L(X)、L'(X)、L''(X)的存在性、計(jì)數(shù)結(jié)果等。

3 實(shí)例與分析

根據(jù)第2部分的構(gòu)造方法1、構(gòu)造方法2,通過編程計(jì)算,可以得到具有最簡形式1、最簡形式2和特殊形式的輕量化線性MDS變換的計(jì)數(shù)結(jié)果,如表1所示,并給出了1個(gè)構(gòu)造實(shí)例。

表1 輕量化線性MDS變換的計(jì)數(shù)結(jié)果

構(gòu)造實(shí)例1:

通過構(gòu)造方法1可以得到如下的L(X):

通過構(gòu)造方法2可以得到如下的L'(X):

更進(jìn)一步,通過測試發(fā)現(xiàn)L(X)滿足以下性質(zhì):

(1)作為GF(2)16→GF(2)16的線性變換,其分支數(shù)為8,達(dá)到最優(yōu),即為MDS變換L''(X);

(2)作為GF(24n)4→GF(24n)4的線性變換,其分支數(shù)為5,達(dá)到最優(yōu),即為MDS變換L''(X);

表明L(X)同時(shí)滿足最簡形式1和特殊形式,在實(shí)際密碼算法設(shè)計(jì)中具有非常明顯的實(shí)現(xiàn)優(yōu)勢。通過計(jì)算機(jī)搜索沒有發(fā)現(xiàn)同時(shí)滿足最簡形式2和特殊形式的L'(X)。

線性MDS變換L(X)對應(yīng)的0/1矩陣M為:

AIRA算法和HIEROCRYPT算法均為128 bit分組長度的分組密碼算法,分別使用了1個(gè)16階0/1矩陣M0和M1,分支數(shù)均達(dá)到最優(yōu)為8。

AIRA算法中使用的16階0/1矩陣M0為:

HIEROCRYPT算法中使用的16階0/1矩陣M1為式(22)。

通過分析比較容易發(fā)現(xiàn):M與M1相比具有更少的1(M中含有112個(gè)1,M1中含有176個(gè)1),即M所包含的比特異或數(shù)更少,消耗的計(jì)算資源更少;M與M0相比具有相同數(shù)量的1(均含有112個(gè)1),即M與M0包含的比特異或數(shù)相同,但由于M是循環(huán)矩陣,所以在實(shí)現(xiàn)上具有更多的優(yōu)勢和靈活性。

綜上所述,本文設(shè)計(jì)的這類具有最簡形式的MDS變換,具有更優(yōu)良的密碼性能和更靈活的實(shí)現(xiàn)方式,在諸多資源受限應(yīng)用場景下的密碼算法擴(kuò)散部件設(shè)計(jì)中具有極大優(yōu)勢。事實(shí)上,還存在其他最簡形式的MDS變換,研究方法類似。

4 結(jié) 語

本文研究了線性MDS變換的構(gòu)造方法,在此基礎(chǔ)上構(gòu)造了一類新的輕量化的循環(huán)移位線性MDS變換,并給出了該類MDS變換的計(jì)數(shù)和構(gòu)造實(shí)例。本文的研究結(jié)果為循環(huán)移位MDS變換的構(gòu)造方法提供了一種新的途徑,豐富了密碼算法擴(kuò)散部件的選擇,對密碼算法的設(shè)計(jì)具有實(shí)際的應(yīng)用價(jià)值。值得一提的是,這類線性MDS變換構(gòu)造方法簡單,能夠快速有效實(shí)現(xiàn)。

[1] Schneier B,Kelsey J,Whiting D,et al.Twofish:A 128-bit Block Cipher[EB/OL].(2007-02-02)[2017-11-22].http://www.schneier.com/.

[2] WANG Mei-qin.Differential Cryptanalysis of Present[EB/OL].(2008-01-09)[2017-11-22].https://eprint.iacr.org/2007/408.

[3] WU Wen-ling,ZHANG Wen-tao,FENG Deng-guo.Impossible Differential Cryptanalysis of Reduce Round ARIA and Camellia[J].Journal of Computer Science and Technology,2007,22(03):449-456.

[4] KANG Ju-sung,Hong S,Lee S,et al.Practical and Provable Security Against Differential and Linear Cryptanalysis for Substitution-permutation Networks[J].ETRI Journal,2001,23(04):158-167.

[5] Xiao L,Heys H.Hardware Design and Analysis of Block Cipher Components[C].Proceedings of the 5th International Conference on Information Security and Cryptology-ICISC’02,2003 LNCS 2587:164-181.

[6] Youssef A,Mister S,Tavares S.On the Design of Linear Transformations for Substitution Permutation Encryption Networks[C].Workshop on Selected Areas in Cryptography-SAC’97,1997:40-48.

[7] Blomer J,Kalfane M,Karpinski M,et al.An Xor-based Erasure-resilient Coding Scheme[EB/OL].(1999-10-12)[2017-11-22].https://www.researchgate.net/publication/2643899.

[8] 崔霆,金晨輝.對合Cauchy-Hadamard型MDS矩陣的構(gòu)造[J].電子與信息學(xué)報(bào),2010,32(02):500-503.CUI Ting,JIN Chen-hui.Construction of Cauchy Cauchy-Hadamard MDS Matrix[J].Journal of Electronics &Information Technology,2010,32(02):500-503.

[9] Malik M Y,No J S.Dynamic MDS Matrices for Substantial Cryptographic Strength[EB/OL].(2011-04-05)[2017-11-22].http://eprint.iacr.org/2011/177.

[10]Gupta K C,Ray I G.On Constructions of MDS Matrices from Companion Matrices for Lightweight Cryptography[EB/OL].(2013-02-04)[2017-11-22].http://eprint.iacr.org/2013/056.

[11] Dehnavi S M,Mahmoodi A,Mirzaee M R,et al.Construction of New Families of MDS Diffusion Layers[EB/OL].(2014-12-09)[2017-11-22].http://eprint.iacr.org/2014/011.

[12] Souvik K,Debdeep M.Lightweight Diffusion Layer from the k^th root of the MDS Matrix[EB/OL].(2014-06-22)[2017-11-22].http://eprint.iacr.org/2014/498.

[13] Siang M S,Khoongming K.Lightweight MDS Involution Matrices[EB/OL].(2015-05-19)[2017-11-22].http://eprint.iacr.org/2015/258.

[14] ZHAO Ruo-xin,ZHANG Rui,LI Yong-qiang,et al.On Constructions of a Sort of MDS Block Diffusion Matrices for Block Ciphers and Hash Functions[EB/OL].(2015-05-11)[2017-11-22].http://eprint.iacr.org/2015/449.

[15] Sumanta S,Siang M S.A Deeper Understanding of the XOR Count Distribution in the Context of Lightweight Cryptography[EB/OL].(2016-04-29)[2017-11-22].http://eprint.iacr.org/2016/422.

[16] Sumanta S,Habeeb S.Lightweight Diffusion Layer Importance of Toeplitz Matrices[EB/OL].(2016-09-30)[2017-11-22].http://eprint.iacr.org/2016/835.

[17] Sumanta S,Habeeb S.Analysis of Toeplitz MDS Matrices[EB/OL].(2017-04-23)[2017-11-22].http://eprint.iacr.org/2017/368.

[18] Sumanta S,Habeeb S.Bounds on the Differential Branch Number of Permutations[EB/OL].(2017-10-08)[2017-11-22].http://eprint.iacr.org/2017/990.

[19] Sumanta S,Habeeb S,Rajat S,et al.Lightweight Design Choices for LED-like Block Ciphers[EB/OL].(2017-10-18)[2017-11-22].http://eprint.iacr.org/2017/1031.

猜你喜歡
構(gòu)造方法移位分支
面向可靠性預(yù)計(jì)的軟件運(yùn)行時(shí)行為模型構(gòu)造方法
MDT診療模式在顳下頜關(guān)節(jié)盤不可復(fù)性盤前移位中的治療效果
一類離散時(shí)間反饋控制系統(tǒng)Hopf分支研究
軟件多分支開發(fā)代碼漏合問題及解決途徑①
口腔正畸治療牙周病致前牙移位的臨床療效
基于Python構(gòu)造方法與析構(gòu)方法的研究
巧分支與枝
大型總段船塢建造、移位、定位工藝技術(shù)
淺談幾何元素在現(xiàn)代家具設(shè)計(jì)中的應(yīng)用
碩果累累