魏連鎖, 胡現成, 郭 媛, 陳 煒, 馬志昇
(齊齊哈爾大學 計算機與控制工程學院, 黑龍江 齊齊哈爾 161006)
混沌是一種非周期的動力學過程,具有不確定性、不可重復、不可預測的特性,它看似雜亂無章,其實混沌中蘊涵著有序[1],這是其非線性動力系統(tǒng)的固有特性。偽隨機序列廣泛應用于密碼、調頻以及調頻通信系統(tǒng)中,并且混沌系統(tǒng)產生的信號很難被破解?;煦绲膽檬切枰煦鐐坞S機序列發(fā)生器來產生混沌序列,并且生成速度快,被廣泛使用,而隨著現在混沌解密對象的復雜性與安全性要求的提高,對混沌序列的要求也越來越高。
對混沌系統(tǒng)或混沌偽隨機序列的要求是隨機性好、安全性高、均勻分布、長期不可預測等,但是對于一般混沌會存在不連續(xù)、可控參數少等問題。文獻[2]中就提到了一維Logistic映射,但在計算過程中出現周期退化、復雜度低和映射函數容易被破解等問題。文獻[3]中提出的組合設計新一維混沌系統(tǒng)來提高區(qū)間大小以及不連續(xù)等性能,但周期退化以及周期有限問題沒有解決。另外,在文獻[4]中提出的多混沌聯合可以發(fā)現,通過合適的級聯組合方式能夠提高偽隨機性。文獻[5]中提出一種基于混沌和Fibonacci偽隨機數列(F-L)的加密方法,提高了混沌序列的隨機特性,改進了有限周期性的局限性。Zhou等[6]提出將兩個一維映射并聯后進行模1相加的改進方法得到了性能較好的新一維混沌映射。文獻[7]中利用Logistic混沌映射來產生Arnold映射控制參數,再利用Henon混沌生成序列,該算法產生的混沌安全性更高。文獻[8]中提出將3個不同的二維混沌映射結合生成混沌序列,具有高維的隨機性和復雜度高等優(yōu)點。因此,將多混沌進行結合可以很好的提高混沌的隨機性。
Fibonacci序列產生速度快以及可控參數多等優(yōu)勢很適合在隨機序列發(fā)生器里應用,但是存在隨機數不居中及序列的顯著相關性現象[9],為了克服存在問題,將在云模型里云的數字特征下產生的若干云滴作為三階Fibonacci函數的數值來源,結合云模型的隨機性以及數據的居中分布特性,來提升混沌的隨機特性?,F在基于云模型的云技術已被成功地應用于計算機多領域。云模型是反映了客觀世界中概念的兩種不確定性,即隨機性和模糊性。
本文介紹了基于云模型Fibonacci混沌系統(tǒng)(Cloud-based Fibonacci Chaotic System,CFCS),以云模型作為數值來源,利用量子Logistic(Quantum Logistic,QL)混沌序列作為三階Fibonacci函數模型參數,Logistic 映射來級聯耦合,采用多混沌與多發(fā)生器的結合來產生了滿足實際應用的隨機序列。最后從密鑰空間、初值敏感性、相關性、互信息、差值特性、分布特性、復雜度、相空間結構等多方面具體分析發(fā)現混沌序列具有隨機性且安全可靠。
混沌偽隨機序列是由數學公式計算產生,從數學層面上講,想實現理想的應用,偽隨機序列的周期需要足夠大,并且符合各項檢驗要求。該發(fā)生器采用 Fibonacci數列“擾動”的方法來得到混沌序列,實現多參數控制,不僅提高復雜度,而且彌補了Logistic混沌序列分布不均勻的缺點;同時,云滴的產生是隨機的,且始終存在著細微的變化,將云滴與Fibonacci系統(tǒng)結合,實現混沌序列的不重復性。
云模型是用語言值表示的某個定性概念與其定量表示之間的不確定性轉換模型,云模型具有期望值Ex、熵En和超熵He3個數字特征[9-10]。
Ex反映了在云滴群里云重心的位置,
(1)
樣本方差:
(2)
En揭示了模糊性和隨機性的關聯性,
(3)
He是對En的不確定度量,反映了云的離散程度和厚度,
(4)
生成以En為期望值,He2為方差的一個正態(tài)隨機數,
yi=RN(En,He)
(5)
xi=RN(Ex,yi)
(6)
由云模型數字特性產生的云滴分布如圖1(a)所示,具有正態(tài)分布特性,其中xi居中分布,如圖1(b)所示。云發(fā)生器的數據雖然不像混沌具有分布均勻特性,但是云模型的隨機性應用到混沌發(fā)生器上,解決了混沌序列長期不可預測性的問題,每一次混沌發(fā)生器的運行會隨機產生一組混沌隨機序列,序列的規(guī)律將
(a) 云滴圖
很難被發(fā)現。隨著隨機因子的隨機變化,每次的隨機序列無法找到周期規(guī)律,特別是在加密應用中會起到很好的加密效果。
由Fibonacci 數列產生隨機數,序列本身存在顯著的相關性,所以需要對它進行改進,這樣才能滿足實際的需要,對經典的Fibonacci 數列進行改進得到延遲的Fibonacci數列[11-12]:
xi+1=(xi+xi-p)modM
i=p,p+1,…,M∈N
(7)
Fibonacci數列具有簡單、快速、易于實現等特性,因為Fibonacci 數列本身具有自相似性,因此采用廣義三階Fibonacci函數模型:
Fj=(AiFi-1+BiFi-2+CiFi-3)modM
(8)
量子Logistic映射的表達式為:
(9)
式中:Ai、Bi和Ci表示隨機常數;M為模;Ai,Bi,Ci為選取QL混沌映射所產生的變量xi、yi、zi序列組合,其初值x0= 0.3,y0=0.06,z0=0.2,r=3.99,β=6.2;Fi為取值Ex=5 000,En=3,He=0.1的云滴群,再通過取模運算產生Fj序列。
采用QL混沌映射作為隨機變參數來增加序列的隨機性,降低相關性。經過廣義三階Fibonacci的函數模型處理后,再與 Logistic映射耦合得到廣義三階Fibonacci混沌系統(tǒng):
(10)
式中:Q(γ,β)表示QL混沌系統(tǒng);F(Q(γ,β))表示將云滴代入到式(8)廣義三階Fibonacci函數模型的序列Fj;L(x0,μ)表示初始狀態(tài)為x0以及參數為r的Logistic混沌系統(tǒng)。最后通過與Logistic映射耦合產生新的均勻且非相關的混沌序列。圖2所示為CFCS偽隨機序列發(fā)生器的設計示意圖。
步驟1選取量子Logistic混沌系統(tǒng)的初始值及系統(tǒng)控制參數,代入QL混沌系統(tǒng)中,得到xi、yi和zi均在(0,1)范圍內的實數三階序列(xi,yi,zi)。
步驟2選取云模型期望值Ex、En、He3個參數的初始值,利用云發(fā)生器生成隨機的云滴群。
步驟3將步驟1產生的QL混沌三階序列(xi,yi,zi)代入式(8)中分別作為廣義三階Fibonacci函數模型的參數Ai、Bi、Ci,并將步驟2中的云滴代入式(8)
圖2 CFCS偽隨機混沌序列發(fā)生器示意圖
中作為廣義三階Fibonacci函數模型的函數值Fi,產生廣義三階Fibonacci函數模型序列。
步驟4步驟3中通過式(8)產生的廣義三階Fibonacci函數模型序列與Logistic混沌系統(tǒng)代入式(10)中級聯耦合,廣義三階Fibonacci混沌系統(tǒng)產生最后所需的均勻非相關的序列。
根據上述步驟設計的偽隨機序列發(fā)生器相比于一般的序列發(fā)生器具有較好的偽隨機特性,生成速度快、序列獨立不重復且具有較高的安全性,產生均勻且非相關的偽隨機混沌序列如圖3所示。
圖3 偽隨機序列值分布圖
密鑰空間分析是一個重要的檢測方法,它是對隨機序列發(fā)生器在產生加密密鑰應用的可行性的必要檢測。檢測選取混沌系統(tǒng)的初始值和控制參數作為密鑰,檢測目標需要密鑰空間足夠大才能保證安全性。實驗數據表明,將該算法的數據精確到小數點后11 位,密鑰空間為1011×6= 1066≈2219,遠大于2128的密鑰空間,增大了抵抗密鑰攻擊的能力[13]。
初值敏感性分析是安全性說明的重要部分,偽隨機序列擁有好的初值敏感性才能滿足實際應用。通過對密鑰初始值進行輕微的改變,觀察產生的序列與原始序列是否有強烈的變化。利用CFCS產生兩個混沌序列,其中1個為原始序列;另1個則是對初始值取偏差為10-11所得到的新序列,圖4為兩序列的差值圖,區(qū)間變化的差值說明該算法對密鑰初始值具有很強的敏感性。
圖4 兩序列差異圖
相關性分析[14]是混沌序列隨機性分析的關鍵步驟,好的相關性是系統(tǒng)能夠可靠運行的重要保證之一。自相關函數是描述在任意兩個不同時刻分別取初值x0=121,x0=121+10-11的相關程度;互相關函數給出了兩個隨機序列是否相關的一個判斷指標,自相關描述同一序列在不同的時刻的相關程度。
在QL混沌系統(tǒng)初始參數取x0=121,x1=2.0,x2=2.0,M=191,CFCS產生的序列具有自相關和互相關特性,通常認為相關系數在0~±0.09為沒有相關性,0.1~±0.30為弱相關,如圖5所示。由圖5可見序列具有類似δ-like的性質,有尖銳的自相關特性和良好的互相關特性。
(a) 序列的自相關特性
(b) 序列的互相關特性
圖5 序列相關性分析圖
隨機性采用美國 NIST公布的 SP 800-22 隨機數測試標準對序列進行測試,即SP800-22 標準[15]。該標準從不同角度檢驗偽隨機序列在統(tǒng)計特性上相對于理想隨機序列的偏離程度,通過該檢驗標準可以判斷出偽隨機序列的隨機性能[16]。
計算判斷標準P-Value 的計算公式:
式中:erfc為互補誤差函數;sabs為統(tǒng)計值。評判標準為若P-Value>0.01,認為測試的序列符合隨機序列; 反之,則認為序列不滿足隨機序列的要求。由上述測試方法得P-Value = 0.852 18> 0.01,故可認為序列是隨機序列;任意取7次的測試數據分別為:0.723 97,0.898 65,0.710 72, 0.708 45,0.719 65, 0.526 68,0.392 39。由于云模型云滴的模糊性與隨機性,隨著隨機因子的變化,產生不重復的混沌序列,取N(N>100)次測試P-Value 的值均大于0.01。
為了更直觀展現CFCS偽隨機序列的特性,分別對QL(x軸)、F-L混沌和CFCS進行對比,選取了典型的序列直方圖、序列復雜度等測試方法進行對比分析。
為了更直觀地觀察系統(tǒng)輸出序列分布均勻情況,繪制了圖6所示的直方圖。
(a) QL直方圖
(c) CFCS直方圖
由圖6可以看出,QL、F-L系統(tǒng)和CFCS生成的混沌序列的分布特點,圖6(a)QL(x軸)直方圖,(b)F-L直方圖分布不均勻,并且初始值對QL影響很大,而CFCS采用 Fibonacci數列“擾動”的方法來得到混沌序列,并且將云模型云滴群作為廣義三階Fibonacci函數模型函數值,使得混沌序列隨機性及復雜度提高,混沌序列分布更加均勻平滑,沒有出現波動較大的現象,符合隨機序列發(fā)生器的要求。
序列復雜度表示了序列與理想隨機序列的相似程度,通過序列復雜度的大小可以判斷序列的復雜情況,其數值越大,說明與理想隨機序列越相似,就越難以被恢復,安全性越高[17]。Pincus等提出的近似熵(ApEn)方法,可以很便捷地計算出序列的復雜度[18]。圖7中給出了F-L系統(tǒng)、QL和CFCS的ApEn值,對比復雜度曲線可以得到以下結論:CFCS模型生成的偽隨機序列的ApEn值最大,約為1;其他幾種模型數值偏低 。這充分說明此模型生成的偽隨機序列的復雜度明顯高于F-L系統(tǒng)、QL模型產生的偽隨機序列。
圖7 近似熵
對3個模型偽隨機序列的連續(xù)數值構造空間結構圖,以QL(x軸)、F-L系統(tǒng)、CFCS生成的序列xn為基礎進行取點,以點(xi,xi+1)繪制二維空間結構圖,遍歷完整個序列xn得到圖8(a)QL(x軸)空間二維結構圖、圖8(b)F-L空間二維結構圖和圖8(c)CFCS序列空間二維結構圖。
(a) QL(x軸)空間二維結構圖
(c) CFCS空間二維結構圖
由圖8可以看出,QL混沌映射輸出序列空間結構呈現曲線特征,說明具有較高的相關性,而F-L存在分布不均勻的現象,并且是隨著迭代的次數增加,隨機數的分布呈現出初始過于密集,逐漸出現稀疏不均勻分布的現象,而圖8(c)CFCS序列以量子Logistic混沌序列作參數、云模型隨機云滴群做輸入與Logistic 映射級聯耦合,不僅增加了可控參數的數量,同時利用混沌序列再次作為數據的輸入,增強了數據混沌性,使得序列分布表現出了好的均勻性和無序性。
本文設計了一種偽隨機序列的生成算法,該生成器能產生偽隨機性強、分布均勻、相關性小的偽隨機序列。通過對隨機序列的密鑰空間、初值敏感性、相關性的分析,證明該方法具有很好的隨機性且安全可靠。除此之外,還通過與其他序列的信息熵、序列直方圖、序列復雜度進行對比分析,序列表現出良好的偽隨機序列,具有結構簡單、偽隨機性強、分布均勻、相關性小等特征,該發(fā)生器具有很好的應用前景。