一種混沌組合序列密碼電路設(shè)計與復(fù)雜度分析方法
1 引言
本文引用地址:http://m.butianyuan.cn/article/201706/348561.htm 在密碼學(xué)領(lǐng)域,利用密碼技術(shù)|0">密碼技術(shù)對傳輸信息進(jìn)行加密發(fā)送、解密接收,是一種行之有效的方法。密碼學(xué)發(fā)展至今已有許多優(yōu)秀的算法發(fā)明并得到應(yīng)用,例如私鑰密碼體制中的DES密碼、IDEA密碼、序列密碼;公鑰密碼體制中的RSA密碼、橢圓曲線密碼等,他們各有設(shè)計特點(diǎn)和對應(yīng)的應(yīng)用領(lǐng)域,其中序列密碼一直是密碼學(xué)中最重要的加密方式之一。利用組合LFSR序列作為序列密碼的前饋電路,可充分利用m序列的良好統(tǒng)計特性和加大輸出序列周期和線性復(fù)雜度的優(yōu)勢,但如何在保證前饋電路輸出統(tǒng)計特性不被破壞的基礎(chǔ)上,置換與混亂輸出關(guān)系,增強(qiáng)密碼的保密性仍是該領(lǐng)域研究必須思考的問題。傳統(tǒng)方法是利用非線性函數(shù)對前饋電路輸出進(jìn)行變換,但在函數(shù)設(shè)計與生成速度上制約了其發(fā)展;利用某LFSR序列產(chǎn)生控制信號去控制并行LFSR序列,這種形式電路如Geffe發(fā)生器、Jenning發(fā)生器、交錯停走式發(fā)生器等,易受到相關(guān)性攻擊,應(yīng)避免在保密強(qiáng)度要求高的部門應(yīng)用。隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,將神經(jīng)網(wǎng)絡(luò)、混沌等算法融入密碼學(xué)的研究已不斷深入,伴隨著數(shù)字化技術(shù)和大規(guī)模集成電路的快速發(fā)展,一些算法不僅停止在理論研究與模擬仿真實(shí)驗(yàn)上,利用硬件電路進(jìn)行設(shè)計并實(shí)現(xiàn)已逐漸成為事實(shí)。如何衡量加密芯片的復(fù)雜度是應(yīng)該研究的問題,當(dāng)加密芯片被敵方得到并破譯時,以高復(fù)雜度保持加密信息的安全性是加密芯片成功設(shè)計的關(guān)鍵。現(xiàn)提出一種混沌組合序列密碼復(fù)雜度分析與設(shè)計方法,并由此設(shè)計混沌組合序列密碼電路并基于FPGA實(shí)現(xiàn)。
2 序列密碼原理
由于語音、圖像和數(shù)據(jù)等信息都可以經(jīng)過量化編碼轉(zhuǎn)化為二進(jìn)制數(shù)字序列或本身就是二進(jìn)制數(shù)字的序列,因而可以假定序列密碼系統(tǒng)中的明文為二進(jìn)制數(shù)字序列組成的集合m={mi},密鑰空間為K,密文空間為C={ci}。如圖1所示,對于每一個k∈K,由算法Z可以確定一個二進(jìn)制序列Z(k)=z0,z1,z2,…,當(dāng)明文為m0,m1,m2,…,mn-1時,在密鑰k下的加密過程為:對i=1,2,3,…,n-1,計算ci=mi○+zi,密文為c=Ek(m)=c0,c1,c2,…,cn-1,對密文c的解密過程是:對i=1,2,3,…,n-1,計算mi=ci○+zi,由此恢復(fù)明文為m。通常,稱密鑰k為種子密鑰,由k通過算法Z產(chǎn)生的序列Z(k)稱為密鑰序列。
由此可見,序列密碼的安全性主要取決于密鑰序列Z(k)和序列密碼算法的難破譯性。當(dāng)z0,z1,z2,…為均勻分布的二進(jìn)制隨機(jī)序列時,則該密碼系統(tǒng)為一次一密系統(tǒng),因此是不可破的。但是由于Z(k)是一個由k通過確定性算法產(chǎn)生的偽隨機(jī)序列,所以該密碼系統(tǒng)的保密性關(guān)鍵是高復(fù)雜度設(shè)計。
3 密碼芯片電路設(shè)計
根據(jù)國內(nèi)外在混沌序列密碼研究的分析,本文設(shè)計了基于FPGA的混沌序列密碼芯片,該芯片核心部分是混沌序列密碼模塊,如圖2所示。加密芯片除混沌序列密碼模塊外還有控制模塊和加/解密傳輸模塊。
從該框圖可以看出,由8個LFSR序列作為驅(qū)動源,Lorenz混沌系統(tǒng)與數(shù)據(jù)選擇器Ⅰ構(gòu)成對8個LFSR序列進(jìn)行非線性變換部分,數(shù)據(jù)選擇器工輸出序列與數(shù)據(jù)選擇器Ⅱ輸出序列相異或后產(chǎn)生密鑰輸出序列。
選擇器根據(jù)Lorenz混沌系統(tǒng)選擇信號輸出,其中選擇器的控制端信號也來源于Lorenz混沌系統(tǒng)的任意一輸出。根據(jù)多個LFSR序列作為驅(qū)動源的特性得知,當(dāng)LFSRi(i=1,2,…,n)的級數(shù)N1,N2,…,Nn兩兩互素且滿足一定條件時,該組合序列輸出周期為。為了使輸出序列有盡可能大的線性復(fù)雜度,各Ni應(yīng)盡可能接近N/n,其中N=N1+N2+…+Nn。當(dāng)Ni確定以后,為使每個LFSRi(i=1,2,…,n)生成周期為2Ni-1的m序列,其充要條件是使其特征多項(xiàng)式為本原多項(xiàng)式。
4 密碼芯片電路的復(fù)雜度分析
該結(jié)構(gòu)輸出周期較單一LFSR作為前饋電路的輸出周期大大增加,同時此電路的復(fù)雜度大大增加,可從以下證明中得到。
該密碼電路中構(gòu)成線性復(fù)雜度的主要器件有8個LFSR、混沌序列發(fā)生器及數(shù)據(jù)選擇器,設(shè)8個LFSR級數(shù)分別為Di(i=1,2,…,8)且互不相等,di(i=1,2,…,8)分別為8個LFSR的輸出,a0a1a2為Lorenz混沌序列輸出,設(shè)Y1(t),Y2(t)分別為數(shù)據(jù)選擇器Ⅰ和Ⅱ的輸出,那么:
如果假設(shè)混沌每個輸出序列復(fù)雜度為A,LFSR的復(fù)雜度分別以他們各自級數(shù)表示,依據(jù)復(fù)雜特性基本定理,則Y1(t)的線性復(fù)雜度L1可由上面的邏輯輸出表達(dá)式計算為:
此式給出描述多控制端的數(shù)據(jù)選擇器線性復(fù)雜度的基本公式,可看出該電路線性復(fù)雜度主要由An項(xiàng)決定,如果LFSR數(shù)目增加,復(fù)雜度將為冪指數(shù)增長。
5 加密芯片電路輸出測試
利用ALTERA公司的QuartusⅡ工具和目標(biāo)芯片EP20K300EQC240設(shè)計,對邏輯綜合結(jié)果進(jìn)行仿真后完成硬件下載功能。為驗(yàn)證其輸出序列的平衡性、相關(guān)性及游程等特性,對下載后輸出序列利用Agilent1693A邏輯分析儀進(jìn)行數(shù)據(jù)測試、存儲并利用Matlab進(jìn)行統(tǒng)計分析。在實(shí)際應(yīng)用中,如果平穩(wěn)隨機(jī)序列滿足各態(tài)歷經(jīng)性,統(tǒng)計均值可用時間均值代替。取一個有限的計算系統(tǒng)能夠承受的時間均值和時間自相關(guān)序列,并用他們作為統(tǒng)計均值和統(tǒng)計自相關(guān)序列的估值。根據(jù)此理論設(shè)定一初始數(shù)據(jù),在一段時間內(nèi)觀測其輸出序列的平衡性、游程性、自相關(guān)性及互相關(guān)性,基本滿足密碼序列輸出要求,現(xiàn)以自相關(guān)特性測試為例進(jìn)行說明。
將混沌組臺序列轉(zhuǎn)化成X={x(n)|n=0,1,2,…,x(n)∈{-1,1}},使序列輸出概率密度關(guān)于0對稱。取測試序列N=12×104,并利用自相關(guān)函數(shù)的估值式(5)進(jìn)行仿真,得到該神經(jīng)網(wǎng)絡(luò)序列的自相關(guān)特性如圖3所示??煽闯鲈撁艽a序列輸出具有較好的自相關(guān)特性,在0值處峰值尖銳,其他值近似為0,類似于δ函數(shù)。
6 結(jié) 語
該電路的特點(diǎn)為:
(1) 單個混沌系統(tǒng)對多LFSR進(jìn)行非線性變換,無限延拓多LFSR周期,在極大擴(kuò)展了周期空間的同時,又增加了序列的復(fù)雜性;
(2) 由LFSR序列和混沌序列共同構(gòu)建加密芯片電路的設(shè)計,避免由單一混沌序列而被重構(gòu)的可能;
(3) 此電路的復(fù)雜性將高于單一混沌電路,更遠(yuǎn)高于由LFSR組合序列生成電路;
(4) 該電路用FPGA技術(shù)進(jìn)行設(shè)計,使硬件電路與數(shù)學(xué)算法有機(jī)結(jié)合一起,F(xiàn)PGA技術(shù)的特點(diǎn)使所設(shè)計電路易移植和更改,這對密碼的設(shè)計十分有利。
此加密芯片經(jīng)VHDL設(shè)計并生成,整個時序由狀態(tài)機(jī)控制,邏輯關(guān)系符合電路設(shè)計要求。此研究結(jié)果有助于加快混沌序列密碼芯片的研究與應(yīng)用,使加密算法更靈活有效地應(yīng)用到信息安全和現(xiàn)代保密通信設(shè)備中。
評論