999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于遺傳算法的S?box設(shè)計(jì)方法研究

2013-04-12 00:00:00谷曉辰丁文霞
現(xiàn)代電子技術(shù) 2013年7期

摘 要: S?box是分組密碼中惟一的非線(xiàn)性部件,它的密碼強(qiáng)度決定了整個(gè)分組密碼的安全強(qiáng)度。提出了一種基于遺傳算法的S?box設(shè)計(jì)方法,并對(duì)S?box的雙射性、非線(xiàn)性度、嚴(yán)格雪崩準(zhǔn)則、輸出比特間獨(dú)立性和差分均勻性進(jìn)行了測(cè)試和分析。分析結(jié)果表明,利用該算法產(chǎn)生的S?box具有良好的密碼學(xué)特性,適合用于開(kāi)發(fā)新的分組密碼算法。

關(guān)鍵詞: S?box; 遺傳算法; 密碼學(xué); 性能分析

中圖分類(lèi)號(hào): TN918.4?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)07?0101?04

0 引 言

隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)的不斷應(yīng)用和發(fā)展,各種安全問(wèn)題也越來(lái)越多地受到人們的重視。密碼學(xué)作為信息安全領(lǐng)域的內(nèi)容之一,已成為研究的熱點(diǎn)問(wèn)題。在分組密碼系統(tǒng)中,S?box(Substitution box)是惟一非線(xiàn)性部件,因DES的使用廣為流傳。S?box為分組密碼算法提供了所需的混淆作用[1]。S?box的構(gòu)成可以分為兩大類(lèi),直接用數(shù)學(xué)方法構(gòu)造和采用人工智能的算法進(jìn)行演化。AES、Camellia的S?box是基于有限域上的逆函數(shù),還有一部分是基于m?序列[2]和正型置換,這樣構(gòu)造出來(lái)的S?box在差分均勻度,非線(xiàn)性度等性質(zhì)都表現(xiàn)良好,但其代數(shù)結(jié)構(gòu)簡(jiǎn)單,存在線(xiàn)性冗余等缺點(diǎn),易受到代數(shù)攻擊[3]。采用演化方法[4]構(gòu)造的S?box,能夠生成隨機(jī)性和密碼學(xué)性能良好的S?box,本文研究的重點(diǎn)就是利用演化算法中的遺傳算法構(gòu)造S?box。

1 遺傳算法基本原理

遺傳算法[[5]](Genetic Algorithm)是一種模擬生物種群進(jìn)化的優(yōu)化方法,它的思想來(lái)源于自然界中的進(jìn)化過(guò)程,其運(yùn)算過(guò)程如下:

(1)確定染色體編碼方案和適應(yīng)值計(jì)算方法;

(2)隨機(jī)生成一個(gè)初始群體;

(3)計(jì)算群體中每個(gè)個(gè)體的目標(biāo)函數(shù)和其他相關(guān)函數(shù),根據(jù)目標(biāo)函數(shù)和適應(yīng)值函數(shù)的關(guān)系計(jì)算出每個(gè)個(gè)體的適應(yīng)值,并按大小進(jìn)行排列;

(4)選取適應(yīng)值較大的兩個(gè)個(gè)體進(jìn)行交叉和變異產(chǎn)生新的個(gè)體;

(5)滿(mǎn)足一定迭代次數(shù)算法停止。

給出了遺傳算法的流程圖。

基本遺傳算法的流程圖

2 S?box設(shè)計(jì)方法

本文最初的個(gè)體(S?box)由兩個(gè)混沌映射迭代產(chǎn)生,然后利用遺傳算法優(yōu)化個(gè)體,遺傳算法中的所有控制參數(shù)由混沌映射迭代產(chǎn)生,具體方法如下:

第1步:公式(1)和公式(2)分別定義了混沌Logistic映射和Tent映射,用于生成遺傳算法的控制參數(shù)。

[xn+1=λxn(1-xn), λ∈(0,4), xn∈0,1] (1)

[xn+1=xna, 0xn<0.5(1-xn)(1-a), 0.5xn<1] (2)

式中:[xn][(n=0,1,2,…)]是兩個(gè)混沌映射的狀態(tài)值;[λ]和[a]是參數(shù)值,設(shè)[λ=4],[a=0.5]。

給定初始值[x0]。Logistic映射迭代50次,去掉瞬間狀態(tài),用Logistic映射迭代值作為T(mén)ent映射的初始值,Tent映射迭代50次。

第2步:根據(jù)初始種群描述的方法,通過(guò)混沌映射迭代產(chǎn)生初始種群。

第3步:根據(jù)非線(xiàn)性度公式(見(jiàn)式(13))計(jì)算當(dāng)前S?box的非線(xiàn)性度。S?box非線(xiàn)性度最小值作為個(gè)體的適應(yīng)值。如果種群中最大適應(yīng)值大于等于一個(gè)預(yù)定值F,或者種群數(shù)達(dá)到最大值,轉(zhuǎn)到第8步。

第4步:當(dāng)前個(gè)體按照適應(yīng)值從小到大排列。如果兩個(gè)個(gè)體有相同的適應(yīng)值,那么非線(xiàn)性度的平均值按從小到大排列。

第5步:根據(jù)選擇算子,選出下一代個(gè)體。

第6步:根據(jù)交叉算子,對(duì)新生個(gè)體進(jìn)行重組。

第7步:根據(jù)變異算子,對(duì)新生個(gè)體進(jìn)行變異。

第8步:產(chǎn)生適應(yīng)值最大的個(gè)體,操作結(jié)束。

2.1 初始種群

兩個(gè)混沌映射進(jìn)行迭代產(chǎn)生初始種群。初始個(gè)體的產(chǎn)生描述如下:

第1步:Logistic映射迭代10次,Tent映射迭代10次。[x]表示當(dāng)前Tent映射狀態(tài)值。通過(guò)公式(3)得到整數(shù)值[X]:

[X=256×x] (3)

第2步:定義序列S,最初為空序列。添加[X]到[S]中。

第3步:如果[S]中數(shù)值不大于256,轉(zhuǎn)到第1步。否則,輸出的[S]作為初始種群的個(gè)體。

重復(fù)操作第1~3步,直到所有種群都被初始化。

2.2 選擇算子

選擇數(shù)量由式(4)計(jì)算產(chǎn)生。

[NE=p1×C] (4)

式中:[NE]是選擇數(shù)量;[C]是種群大小;[p1]是選擇概率。由于個(gè)體是按適應(yīng)值排序的,很容易找到適應(yīng)值大的個(gè)體選擇數(shù)量。被選擇的個(gè)體直接成為下一代。

2.3 交叉算子

交叉算子可以避免局部極小值,并從父染色體里獲得基因片段。交叉過(guò)程描述如下:

第1步:通過(guò)公式(5)計(jì)算交叉所產(chǎn)生的個(gè)體總數(shù)。

[NC=p2×C] (5)

式中[p2]為交叉概率。

第2步:通過(guò)公式(1)Logistic映射迭代10次,通過(guò)公式(6)產(chǎn)生整數(shù)[l]:

[l=8×x] (6)

式中[x]是Logistic映射當(dāng)前狀態(tài)值。

第3步:通過(guò)公式(2)Tent映射迭代10次,通過(guò)式(7)和式(8)分別產(chǎn)生整數(shù)[m]和[i]:

[m=8×x] (7)

[i=C×x] (8)

第4步:選擇適應(yīng)值最大的個(gè)體作為[父1],當(dāng)前種群中第[i]個(gè)個(gè)體作為[父2]。然后,兩個(gè)交叉子代產(chǎn)生于Exchg函數(shù)[(父1,l,父2,m)]。添加到交叉種群。

第5步:如果交叉算子產(chǎn)生的當(dāng)前個(gè)體數(shù)量不大于[NC],重復(fù)該操作的第2~4步,直到所有選擇產(chǎn)生交叉子代。

2.4 變異算子

變異算子只發(fā)生在交叉?zhèn)€體,步驟如下:

第1步:定義[NM]為需要變異的個(gè)體數(shù)量。[NM=p3×C] (9)

式中[p3]為變異概率。

第2步:公式(1)中Logistic映射迭代10次。

第3步:公式(2)中Tent映射迭代10次。

第4步:根據(jù)公式(10)生成整數(shù)[I]:

[I=NM×x] (10)

式中[x]為T(mén)ent映射當(dāng)前狀態(tài)值。交叉種群中第[I]個(gè)個(gè)體被選擇執(zhí)行變異操作。

第5步:重復(fù)第2步操作,通過(guò)公式(11)得到整數(shù)[P1]:

[P1=NM×x] (11)

第6步:重復(fù)第3步操作,通過(guò)公式(12)得到整數(shù)[P2]:

[P2=NM×x] (12)

第7步:交換第[(P1+j)]項(xiàng)和第[(P2+j)]項(xiàng)個(gè)體,其中,[j=0,1,???,9]。生成了一個(gè)變異個(gè)體。

第8步:如果變異個(gè)體數(shù)量不大于[NM],回到第2步,否則,停止變異算子。

3 S?box性能分析

設(shè)[x0=0.1],[p1=0.2],[p2=0.5],[p3=0.3],[C=5 000],[F=100]。通過(guò)2.1節(jié)的方法首先得到5 000個(gè)初始個(gè)體。初始個(gè)體用來(lái)生成下一代個(gè)體。2.2~2.4節(jié)分別描述了選擇,交叉,變異生成下一代個(gè)體的過(guò)程。通過(guò)式(1)和式(2)中兩種混沌映射的迭代生成控制參數(shù),用于產(chǎn)生下一代個(gè)體。第500代種群形成的S?box如圖2所示。

文獻(xiàn)[6?8]給出了具有代表性的混沌S?box構(gòu)造方法,用于和本文S?box進(jìn)行性能比較。文獻(xiàn)[9]給出了S?box演化算法,也用于和本文S?box進(jìn)行性能比較。

3.1 雙射性

文獻(xiàn)[6]提出了雙射性檢驗(yàn)方法。當(dāng)[m=n]時(shí),S?box滿(mǎn)足雙射的充分必要條件為:各分量布爾函數(shù)[fi]的線(xiàn)性運(yùn)算之和為[2n-1],[ωti=1naifi=2n-1,][ai∈0,1,(a1,a2,…,an)≠][(0,0,…,0);][ωt]為漢明重量。[fi]滿(mǎn)足[01]平衡,說(shuō)明S?box滿(mǎn)足雙射性。本文S?box滿(mǎn)足雙射性要求。

3.2 非線(xiàn)性度

用Walsh譜表示的非線(xiàn)性度為:

[Nf=2n-11-2-nmaxSfω] (13)

在線(xiàn)性密碼分析中,關(guān)鍵一步是構(gòu)造單輪有效線(xiàn)性逼近,單輪線(xiàn)性逼近和S?box的線(xiàn)性逼近有關(guān),S?box的非線(xiàn)性度越大越好。表1給出了本文S?box和文獻(xiàn)[6?9]中S?box的非線(xiàn)性度值,本文S?box非線(xiàn)性度值為107.2,好于其他方法構(gòu)造的S?box。

非線(xiàn)性度值比較

[S?box\非線(xiàn)性度值\平均值\本文\108 108 106 108 106 106 106 108\107.2\文獻(xiàn)[6]\104 106 104 108 98 100 100 106\103.3\文獻(xiàn)[7]\103 109 104 105 105 106 104 103\104.9\文獻(xiàn)[8]\107 103 100 102 96 108 104 108\103.5\文獻(xiàn)[9]\105 102 109 106 102 105 105 108\105.3\]

3.3 嚴(yán)格雪崩準(zhǔn)則

Webster和Tavares首次提出了嚴(yán)格雪崩準(zhǔn)則[[10]]。文獻(xiàn)[11]提出了一種有效的方法檢驗(yàn)S?box是否滿(mǎn)足嚴(yán)格雪崩準(zhǔn)則。如果函數(shù)滿(mǎn)足這一標(biāo)準(zhǔn),說(shuō)明一個(gè)輸入比特的改變,將有一半的輸出結(jié)果發(fā)生變化。一般情況下,S?box的嚴(yán)格雪崩性是通過(guò)矩陣計(jì)算測(cè)試出來(lái)的。如果每個(gè)元素值和矩陣平均值都接近0.5,說(shuō)明S?box滿(mǎn)足嚴(yán)格雪崩準(zhǔn)則。圖3給出了本文S?box的相關(guān)矩陣,平均值為0.505 9,接近理想值0.5。

3.4 輸出比特間獨(dú)立性

Webster和Tavares首次提出了這個(gè)標(biāo)準(zhǔn)。這是安全密碼系統(tǒng)另一個(gè)基本屬性。對(duì)由一個(gè)明文比特的反碼所產(chǎn)生的雪崩向量集而言,所有雪崩變量應(yīng)該是成對(duì)獨(dú)立的。通過(guò)計(jì)算兩個(gè)雪崩向量的相關(guān)系數(shù)可以測(cè)量其獨(dú)立程度。

Adams C.和Tavares S.給出了另一種測(cè)量輸出比特獨(dú)立的方法[12]:對(duì)于給定的布爾函數(shù)[fi],[fk(j≠k)]是S盒的兩個(gè)輸出比特,如果[fi⊕fk]高度非線(xiàn)性且盡可能的滿(mǎn)足嚴(yán)格雪崩效應(yīng),則它們可以確保當(dāng)一個(gè)輸入比特取反時(shí),每個(gè)輸出比特對(duì)的相關(guān)系數(shù)接近0。可以通過(guò)驗(yàn)證S盒的任意兩個(gè)輸出比特間[fi⊕fk]是否滿(mǎn)足嚴(yán)格雪崩準(zhǔn)則來(lái)證明S盒是否滿(mǎn)足輸出比特間獨(dú)立性準(zhǔn)則。

給出了計(jì)算結(jié)果,本文S?box輸出比特間獨(dú)立性—非線(xiàn)性度最小值為100,平均值大于100。輸出比特間獨(dú)立性—嚴(yán)格雪崩準(zhǔn)則平均值為0.502 1,接近理想值0.5。本文S?box滿(mǎn)足該準(zhǔn)則。

[-104102106102-106104102106-106104102106-100104106104104102104102100102106100102102104104106104100102104102102102106106100104104102100104-104100104104-102100100102-106104100108-]

輸出比特間獨(dú)立性—非線(xiàn)性度計(jì)算結(jié)果

[-0.531 30.476 60.531 30.498 0-0.501 90.498 00.476 60.501 9-0.502 00.515 60.478 50.502 0-0.501 90.484 40.478 50.498 00.529 30.531 30.517 60.507 80.498 00.476 60.470 70.515 60.498 00.515 60.470 70.501 90.503 90.529 30.498 00.498 00.498 00.531 30.476 60.515 60.478 50.515 60.470 70.529 30.498 00.501 90.515 60.501 9-0.531 30.529 30.501 90.531 3-0.484 40.478 50.529 30.484 4-0.501 90.501 90.478 50.501 9-]

輸出比特間獨(dú)立性—嚴(yán)格雪崩準(zhǔn)則計(jì)算結(jié)果

3.5 差分均勻性

差分均勻性是針對(duì)差分密碼分析而引入的,用來(lái)度量一個(gè)密碼函數(shù)抗擊差分密碼分析的能力。S盒的差分均勻性越小越好。

用差分逼近概率[[13]]表示輸入輸出的異或分別情況:[DPf=maxΔx≠0,Δy#x∈X|f(x)⊕f(x⊕Δx)=Δy2n] (14)

式中:[x]為所有可能輸入的集合;[2n]是集合的元素個(gè)數(shù);[DPf]表示給定一個(gè)輸入差分[Δx],輸出為[Δy]的最大可能性。

給出了計(jì)算結(jié)果,最大值為10,本文S?box差分逼近概率為3.906%,說(shuō)明本文S?box具有良好的抵抗差分攻擊能力。

S?box差分分布

4 結(jié) 語(yǔ)

本文提出了分組密碼算法中一種新的S?box設(shè)計(jì)方法,此方法首先通過(guò)混沌映射迭代生成初始的S?box,在初始S?box的基礎(chǔ)上通過(guò)遺傳算法,得到性能更好的S?box。遺傳算法進(jìn)化過(guò)程中的控制參數(shù)由混沌映射迭代產(chǎn)生。本算法產(chǎn)生的S?box不僅具有混沌映射的隨機(jī)分布特性,還具有遺傳算法的優(yōu)化特性。通過(guò)測(cè)試可以看出,本文S?box具有良好的密碼學(xué)特性,適合開(kāi)發(fā)新的分組密碼算法。

參考文獻(xiàn)

[1] CHEN Hua, FENG Deng?guo. An effective evolutionary strategy for bijective s?boxes [C]// 2004 IEEE Congress on Evolutionary Computation. Oregon: IEEE, 2004, 2: 2120?2123.

[2] 劉曉晨,馮登國(guó).滿(mǎn)足若干密碼學(xué)性質(zhì)的S盒的構(gòu)造[J].軟件學(xué)報(bào),2000(10):15?17.

[3] FREDERIK A, MATTHIAC K. Algebraic attacks on combiners with memory [C]// 23rd Annual International Cryptology Conference. Santa Barbara, California, USA: 2003: 162?175.

[4] 張煥國(guó),馮秀濤,覃中平,等.演化密碼與DES的演化研究[J].計(jì)算機(jī)學(xué)報(bào),2003(12):23?25.

[5] 玄光南,程潤(rùn)偉.遺傳算法與工程設(shè)計(jì)[M].北京:科學(xué)出版社,2000.

[6] JAKIMOSKI G, KOCAREV L. Chaos and cryptography: block encryption ciphers based on chaotic maps [J]. IEEE Transactions on Circuits and Systems?I, 2001, 48(2): 163?169.

[7] TANG G, LIAO X, CHEN Y. A method for designing dynamical S?boxes based on discretized chaotic map [J]. Chaos Solitons Fractals 2005, 23: 413?416.

[8] ASIM M, JEOTI V. Efficient and simple method for designing chaotic S?boxes [J]. Etri J., 2008, 30(1): 170?176.

[9] BHATTACHARYA D, BANSAL N, BANERJEE A, et al. A near optimal S?box design [J]. Lecture Notes in Computer Science, 2012, 4812: 7?90.

[10] WEBSTER A F, TAVARES S. On the design of S?boxes [J]. Lecture Notes in Computer Science, 1986, 218: 523?534.

[11] PIEPRZYK J, FINKELSTEN G. Towards effective nonlinear cryptosystem design [J]. IEEE Proc. Part E: Computers and Digital Techniques. 1988, 135(6): 325?335.

[12] ADAMS C, TAVARES S. The structured design of cryptographically good S?boxes [J]. Journal of Cryptology, 1990, 3(1): 27?41.

[13] HALE J K,VERDYN LUNEL S M. Introduction to functional differential equations [M]. New York: Springer? verlag, 1993.

主站蜘蛛池模板: 国产精品三级av及在线观看| 欧美日本激情| 久久大香香蕉国产免费网站| 丁香五月激情图片| 国产日韩av在线播放| 亚洲精品亚洲人成在线| 无码网站免费观看| 97视频精品全国在线观看| 五月婷婷亚洲综合| 精品欧美视频| 久久国产V一级毛多内射| 亚洲国产在一区二区三区| 欧美日韩第二页| 美女国产在线| 国产成人精品日本亚洲| 久久永久免费人妻精品| 国产精品欧美日本韩免费一区二区三区不卡 | 亚洲最新在线| 67194亚洲无码| 亚洲aaa视频| 精品视频第一页| 国产精品亚洲日韩AⅤ在线观看| 99热这里只有精品2| 青青草国产精品久久久久| 韩日免费小视频| 久久免费成人| 老司机午夜精品网站在线观看| 成人中文在线| 制服丝袜 91视频| 秋霞国产在线| 午夜福利亚洲精品| 爆乳熟妇一区二区三区| 人妻21p大胆| 亚洲天堂网在线视频| 福利在线不卡| 91精品国产自产在线老师啪l| 在线看AV天堂| 国产视频自拍一区| 熟女成人国产精品视频| 无码综合天天久久综合网| 99视频在线看| 2048国产精品原创综合在线| 欧美天堂在线| 制服丝袜国产精品| 狠狠五月天中文字幕| 伊人福利视频| hezyo加勒比一区二区三区| 亚洲欧美一区在线| 蜜桃臀无码内射一区二区三区| 黄片在线永久| 国产成人成人一区二区| 国产精品毛片一区| 国产自在线拍| 内射人妻无套中出无码| 国产毛片久久国产| 亚洲色无码专线精品观看| 成人在线视频一区| 免费高清毛片| 国产精品播放| 精品超清无码视频在线观看| 一级做a爰片久久免费| 中文字幕永久在线看| 2020最新国产精品视频| 秋霞国产在线| 欧美精品1区| 欧美伦理一区| a级毛片免费看| 九色在线观看视频| 色网在线视频| 欧日韩在线不卡视频| 欧美日韩成人| 国产一在线观看| 直接黄91麻豆网站| 中文字幕av无码不卡免费 | 国产极品嫩模在线观看91| 啪啪啪亚洲无码| 久久99精品久久久大学生| 波多野结衣中文字幕一区| 久久这里只精品热免费99| 一本大道在线一本久道| 亚瑟天堂久久一区二区影院| 欧美影院久久|