王 瑩,王光義
(杭州電子科技大學(xué)電子信息學(xué)院,浙江杭州310018)
偽噪聲(Pseudo-Noise,PN)序列是保密通信及加密應(yīng)用領(lǐng)域的一個重要分支,PN序列性能的好壞,直接影響到加密系統(tǒng)的安全性。目前主要的PN序列有m序列,gold序列等,但這些序列都存在復(fù)雜度低、保密性不高等缺點[1]。混沌具有對初值極端敏感、非周期、不可預(yù)測等諸多優(yōu)良特性,能夠產(chǎn)生大量的非相關(guān)、類隨機但可再生的信號,利用混沌產(chǎn)生的PN序列具有很好的隨機性和較長周期[2]。混沌序列的產(chǎn)生可以采取多種硬件方式實現(xiàn),比如FPGA、ASICs等。但從性價比考慮,在對乘法運算精度要求不是很高的情況下,DSP顯然優(yōu)于ASICs;而DSP匯編語言中特有的乘法和加法指令使其比FPGA實現(xiàn)更有優(yōu)勢[3]。本文基于一個新的混沌系統(tǒng)和DSP技術(shù)提出了混沌PN序列的一種生成方法,對獲得的序列性能進行了NIST測試及密鑰空間、密鑰敏感性分析,結(jié)果表明序列性能良好,適合用于實際的密碼加密系統(tǒng)或擴頻通信。
為了增強混沌的動力學(xué)運動復(fù)雜性,擴展密鑰空間和提高序列性能,在原始Rossler方程基礎(chǔ)上對其進行改進,提出了一個新的混沌模型:
式中,x=(x,y,z)∈R3,當(dāng) a=0.7,b=0.3,c=0.2,d=0.1 時,系統(tǒng)存在一個混沌吸引子,如圖 1 所示??梢宰C明,新的混沌方程與原始的Rossler方程是非拓?fù)涞葍r的。
系統(tǒng)的Lyapunov指數(shù)圖和分岔圖如圖2、3所示:
當(dāng)b∈[0,0.3]時,通過MATLAB計算可得到相應(yīng)的Lyapunov指數(shù)譜和分岔圖。從圖2中可以看出:當(dāng)b∈[0.16,0.3]時,存在一個正的Lyapunov指數(shù),系統(tǒng)處于混沌狀態(tài)。
圖1 混沌吸引子相圖
圖2 Lyapunov指數(shù)譜
圖3 分岔圖
采用ICETEK-VC5502-AE評估板,評估板的主處理 DSP芯片是16位定點數(shù)字信號處理器TMS320C5502。
若使連續(xù)系統(tǒng)能夠通過數(shù)字器件實現(xiàn),需要先對系統(tǒng)進行離散化處理。本文采用差商逼近法進行離散化處理[4,5]。差商逼近法是用適當(dāng)差商逼近導(dǎo)數(shù)值使式2離散化的方法[6]。
式中,為離散間隔,根據(jù)式2,對改進的Rossler方程進行離散化得到:
式中,=0.008,將式3作為循環(huán)體進行迭代求解得到混沌實值序列,由此,便完成了連續(xù)混沌系統(tǒng)的離散化。將混沌實值序列經(jīng)過D/A轉(zhuǎn)換,便可通過示波器觀察輸出波形。
抽取混沌實值序列每個浮點型數(shù)據(jù)的小數(shù)點后第5位,將其與0x01相與,得到混沌二值序列。序列波形圖經(jīng)示波器輸出如圖4所示。
圖4 序列波形圖
為了驗證經(jīng)過離散化后的混沌系統(tǒng)仍然具有原始連續(xù)的混沌系統(tǒng)的特性,將迭代產(chǎn)生的混沌實值序列直接經(jīng)過D/A轉(zhuǎn)換輸出并觀察混沌吸引子圖。從示波器上觀察得到的混沌吸引子圖如圖5所示。將圖5與圖1比較可得,由DSP生成的混沌信號在選取相同參數(shù)和初值的前提下,與MATLAB仿真結(jié)果相吻合,實現(xiàn)了連續(xù)混沌信號的輸出。
圖5 示波器顯示的混沌吸引子相圖
美國國家標(biāo)準(zhǔn)技術(shù)研究院,該機構(gòu)制定了一套關(guān)于序列隨機特性測試的標(biāo)準(zhǔn),從不同角度檢驗被測序列在統(tǒng)計特性上相對于理想隨機序列的偏離程度。以下為該測試軟件包STS相關(guān)知識介紹[7]。
評價序列性能好壞有兩項指標(biāo):一項是通過率;另外一項是P-value分布的均勻性。測試獨立生成的m組隨機序列,依據(jù)各組每次測試的p-value值是否大于0.01來計算通過率。若各次測試的通過率在可信性區(qū)間內(nèi),其中,則可以說明此次測試算法的信任度高。對于P-value分布均勻性,若p-valueT>0.000 1,則說明P-value值是均勻分布的。測試由STS軟件包自動完成,并生成測試報告。序列測試報告如表1所示,其中,星號標(biāo)識表示該項測試不合格。
表1 序列性能測試結(jié)果
測試結(jié)果顯示,序列的具有良好的隨機性。
一個性能良好的PN序列不僅要有良好的隨機性,還要有作為密鑰的好的敏感性和大的密鑰空間,因此對序列進行密鑰敏感性和密鑰空間分析非常必要。
如圖6所示,在初值僅相差千分之一的情況下,隨著方程不斷迭代,這一微小差異被不斷放大,致使后期的迭代值迥然不同?;煦鐚Τ踔档臉O端敏感性保證了密鑰的敏感性。
圖6 初值敏感性
對混沌系統(tǒng)而言,要確定密鑰空間就必須要確定出各參數(shù)和初值的變化范圍,如表2所示,參數(shù)在這些范圍取值時通過MATLAB計算可以證明方程處于混沌狀態(tài)。
表2 各參數(shù)變化范圍
初值(x0,y0,z0)取(-2,2)。迭代次數(shù)值N,取0<N<256?;趯嶋H的計算精度和混沌對初值的敏感性,這里以計算精度10-6估算。
綜上可知,密鑰空間為:4×106×4×106×4×106×2.8×106×0.35×106×0.4×106×0.4×106×0.3×106≈7.5×1042。假設(shè)密碼分析人員使用目前世界上運行速度最快的計算機以每秒千萬億次搜索密鑰,仍然需要大約1020年才能夠窮舉所有密鑰,足以抵抗窮舉攻擊。
本文基于DSP和提出的一個混沌系統(tǒng)研究了一種產(chǎn)生混沌序列的方法,并對該序列進行了NIST測試,并從測試結(jié)果、密鑰敏感性、密鑰空間等方面對序列性能進行了分析。結(jié)果表明,序列性能良好。
[1] 羅友梅,何世彪,谷誠.一種新的混沌擴頻序列優(yōu)選算法[J].計算機工程,2009,36(24):99-101.
[2] Mozaary A,Zaainari L,Keol K,et al.Theoretical connection between PN-sequences and chaos makes simple FPGA pseudo-chaos sources possible[J].Electronics and Computer Engineering,2007,38(2):1 539 -1 542.
[3] 萬佑紅,張學(xué)軍.混沌跳頻序列的DSP實現(xiàn)[J].南京郵電大學(xué)學(xué)報,2006,26(3):88-91.
[4] 卞麗雅,戴青云,李亞.連續(xù)Lorenz混沌系統(tǒng)的DSP硬件實現(xiàn)[J].微計算機信息,2007,23(8):1-2.
[5] 郭倩穎,王光義.一個改進的混沌系統(tǒng)及其DSP實現(xiàn)[J].杭州電子科技大學(xué)學(xué)報,2010,30(3):9-12.
[6] 呂同富,兆敏,秀男.數(shù)值計算方法[M].北京:清華大學(xué)出版社,2008:266-269.
[7] Aandrew Rukhin,Juan Soto,Janmes Nechvatal,etal.A statistical test suit for random and pseudorandom number generators for cryptographic applications[EB/OL].http://www.nist.org,2010 -09 -16.