林 敏 龍 飛
(貴州大學大數據與信息工程學院 貴州 貴陽 550025)
?
基于分段線性混沌網絡的序列密碼算法
林敏龍飛
(貴州大學大數據與信息工程學院貴州 貴陽 550025)
針對Logistic混沌序列容易被重構的問題,引入一種外部密鑰對Logistic方程的初始值和參數進行加密;然后給出一種分段線性混沌網絡模型。利用Logistic序列對初值的敏感性對混沌網絡進行敏感和擴散處理,通過更新控制參數使混沌網絡迭代運算產生隨機性良好的序列密碼。最后的算法分析和仿真實驗表明,該算法的密鑰具有良好的敏感性,生成的隨機序列具有良好的隨機性,滿足密碼學要求。
混沌序列外部密鑰分段線性混沌網絡序列密碼
信息安全一直是與我們生活息息相關的重要問題,而保護信息安全最常用的手段就是數據加密了。自K.Aihara等人提出混沌神經網絡模型以來,混沌與神經網絡相結合應用于數據加密就得到了不斷發展。目前主要的研究方法有:(1) 采用已知的混沌序列來訓練神經網絡模型,使得神經網絡能夠近似生成相同的混沌序列,然后將已知的混沌序列作為公鑰,訓練好的神經網絡權重和閾值參數作為私鑰,實現數據加密。(2) 利用離散Hopfield網絡的混沌吸引性和初始狀態與吸引子的單向映射性,可以將離散Hopfield網絡的穩定吸引子作為密鑰實現加密。文獻[1]將神經網絡互學習模型與混沌系統融合互擾,提出了一種新型復合流密碼。文獻[2]把Diffe-Hellman密鑰交換協議和流密碼算法相結合,設計了一種基于神經網絡混沌吸引子的混合加密算法。文獻[3]將Hermite正交多項式引入到神經網絡激勵層,實現了“一次一密”異步加密算法。文獻[4]利用Hopfield網絡的混沌吸引性與線性反饋移位寄存器相結合,提出了一種流密碼加密方案。將混沌與神經網絡相結合應用于數據加密最主要的就是利用混沌序列的混沌特性了,但是文獻[5]也指出了混沌序列在數據加密中存在序列被重構缺陷,而且文獻[6]對Logistic方程的四點和十六點序列片段完全實現了重構。因此,簡單的混沌序列加密方法是存在被破解的風險的。針對這個問題,本文引入一種外部密鑰對Logistic方程進行加密,同時提出一種分段線性混沌神經網絡模型,通過一種敏感和擴散處理,使得混沌網絡模型也具有良好的敏感性,生成良好的隨機序列。
Logistic映射是經典的混沌序列映射,由于其實現方法簡單,容易被竊密者利用相空間進行重構,從而構造出混沌方程的形式[7]。因此,本文為了增強Logistic映射的保密性,引入一個外部密鑰對Logistic映射的初始值和參數進行加密。
采用24位的二進制數字K1作為一個外部密鑰來初始化Logistic映射的初始值和參數。設K1的16進制表示為K1=k1k2k3k4k5k6,″k1k2k3k4k5k6″為外部密鑰。其中″k1k2k3″用于生成Logistic映射的輸入控制參數r,″k4k5k6″用于生成Logistic映射的初始值X0。
在本文中,使用的Logistic映射如下:
Xn+1=r×Xn(1-Xn)Xn∈(0,1)
其中:r為輸入控制參數,X0為Logistic映射的初始值。它們由外部密鑰經過運算產生,運算過程中″k1k2k3k4k5k6″分別轉化為相應的十進制數進行運算。因此:
本文采用的混沌神經網絡結構如圖1所示,網絡的輸入層對數據進行預處理,每一層的傳輸函數由函數f(·)和g(·)組合構成,實現對輸入的數據進行混沌處理。

圖1 混沌神經網絡結構圖
設二進制密鑰K2長度為16 bit,將其按行二維化分組,每一行為一組,形成4×4的二進制數據矩陣D1:
每一行數據為一組,共有4組,分別為D11、D12、D13、D14。在本文中,為了提高密鑰K2的敏感性,分別對D11、D12、D13、D14作如下處理:
設D11、D12、D13、D14的十進制表示分別為h1、h2、h3、h4,則:
其中:X為Logistic方程生成的值,n0為區間[50,100]上的整數。
將變換后的數據輸入到混沌神經網絡,則:
其中α為函數g(·)的參數。
函數g(x)將區間(-∞,∞)上的數映射到區間(0,1)上。混沌網絡的傳輸函數f(·)為一個分段線性混沌映射函數,其輸入值要求在區間(0,1)上,這與函數g(·)的映射區間剛好吻合。n1表示函數f(·)的迭代次數,Q1為函數f(·)的控制參數矩陣,傳輸函數f(·)的數學模型描述如下:
其中:x(k)是混沌映射的狀態,q是控制參數,并且0 D3=fn2(g(W2D2+B2),Q2) 其中,D2是網絡第二層的輸入,W2和B2分別是第二層神經元的權值和閾值;n2表示函數f(·)的迭代次數,Q2為函數f(·)的控制參數。 由于網絡的每一個神經元輸出值都在區間(0,1)上,因此可以采用如下方法來更新控制參數Q1、Q2的值,通過網絡運算得到不同的隨機值D3。 Q1=(0.2×D2)+0.4 Q2=(0.2×D3)+0.4 每運行一次混沌網絡,都會生成一個隨機值D3,并更新Q1和Q2的值。利用更新后的Q1和Q2重復運行混沌網絡就可以得到由隨機值D3組成的隨機序列。 為了將混沌網絡生成的隨機序列應用于數據加密,本文引入轉換函數T(x),使生成的隨機序列轉換為0-1隨機序列,T(x)定義如下: 由于網絡生成的隨機值在區間(0,1)上,因此本文將區間(0,1)分成N等份,N值越大,(0,1)區間劃分越精細,數據精度越高。 (1) 輸入密鑰K1來初始化Logistic映射,并迭代運算Logistic映射200次,設X=[x101x102x103…x199x200]用于存儲后面100次的混沌值。 (2) 利用X來初始化擴散矩陣W和混沌網絡的權值與閾值。W是4×4的矩陣,W1是2×4的矩陣,B1是2×1的矩陣,W2是1×2的矩陣,B2是1×1的矩陣,從X中提取元素來分別初始化W、W1、B1、W2、B2。 (5) 通過量化函數T(x)將生成的隨機序列轉換成相應的二進制隨機序列。 本文通過理論分析和實驗仿真的方法來對算法的密鑰空間大小、0/1的個數統計、隨機序列的相關性和密鑰的敏感性進行分析,并得出相應結論。仿真實驗數據如下: K1=[1,1,1,0;1,0,1,0;0,0,1,1;1,1,0,0;0,1,1,1;0,1,1,1] K2=[0,0,0,1;0,0,1,0;0,1,1,0;1,0,0,0] n0=60,n1=4,n2=5,α=2,N=64,Q1=[0.5,0.5]T,Q2=0.5。 5.1密鑰空間分析 本文的加密密鑰由K1和K2組成,密鑰空間由K1和K2的長度決定。設它們的長度分別為L1和L2,則密鑰空間為2(L1+L2)。L1+L2越大,密鑰空間越大。在本文中L1=24、L2=16,密鑰空間大小為240。顯然,L2的長度大小是可變的,增加L2的長度可以增加密鑰空間大小。但是,增加密鑰L2的長度時,混沌網絡的輸入個數也會增多,相應的混沌網絡層數也會增多,網絡迭代運行一次的時間開銷將會增大。當生成的隨機序列長度非常大時,整個網絡運行的時間開銷將會是非常大的。 5.2統計分析 一個有效的二進制隨機序列必須滿足0/1比例近似相等[9]。因此,本檢驗的目的是確定序列中0/1的比例是否與真正的隨機序列中的0/1的比例近似相等。同時,本文參考文獻[12]的方法對生成的隨機序列進行頻數檢驗、序列檢驗和游程檢驗。 為此,隨機選取兩個長度為256的隨機序列進行統計分析,分析結果如表1所示。 表1 統計分析結果 由表1可以看出,序列1和序列2中“0”與“1”的個數接近相等,滿足隨機序列要求。同時,頻數檢驗值y1均小于3.84,能通過頻數檢驗;序列檢驗值y2均小于5.99,能通過序列檢驗;游程檢驗值y3遠小于1.96,能通過游程檢驗。因此,生成的隨機序列具有很好的隨機性。 為了進一步驗證生成序列的隨機性,本文將上述隨機選取的兩組隨機序列與文獻[11,12]中的統計分析結果進行比較。文獻[11,12]的統計分析結果如表2所示。 表2 文獻[11,12] 統計分析結果 由表1和表2可以看出,本文生成的隨機序列中“0”與“1”的相差個數要比文獻[12]中“0”與“1”的相差個數更小。因此,本文生成的0/1序列隨機性更好。同時,本文的頻數檢驗值y1、序列檢驗值y2和游程檢驗值y3均小于文獻[12]中對應的值。因此,本文生成的0/1序列能夠更好地通過頻數檢驗、序列檢驗和游程檢驗。與文獻[11]相比,本文生成的隨機序列中“0”與“1”的相差個數接近文獻[11]中“0”與“1”的相差個數。同時,本文的頻數檢驗值y1和游程檢驗值y3在有些情況下小于文獻[11]中對應的值,說明本文生成的0/1序列在有些情況下能夠更好地通過頻數檢驗和游程檢驗。但是,本文的序列檢驗值y2均大于文獻[11]中對應的值,說明文獻[11]中生成的0/1序列能夠更好地通過序列檢驗。總體上來說,本文算法在頻數檢驗、序列檢驗和游程檢驗中優于文獻[12],在有些情況下優于文獻[11]。 5.3相關性分析 序列的自相關函數變化越小,說明序列的隨機性越好。序列的互相關函數越接近零,說明兩個序列越互不相關[10]。圖2是初始密鑰為K1和K2時生成的0/1序列的自相關函數圖。圖3是密鑰K1或K2隨機改變一位時生成的0/1序列對比圖,實線代表原序列,虛線代表新序列。圖4是兩個序列的互相關函數圖。 圖2 生成0-1序列的自相關函數圖 圖3 密鑰改變一位時生成的0/1序列對比圖 圖4 序列的互相關函數圖 由圖2可以看出,自相關函數變化很小,生成的序列隨機性良好。由圖3可以看出,只要改變密鑰K1或K2中的一位,生成的0/1序列將會有很大的不同;由圖4可以看出,改變密鑰K1或K2中的一位時,生成的新序列與原序列的互相關函數值接近0,說明兩個序列互不相關。 5.4密鑰敏感性分析 Logistic映射生成的混沌序列對初始值具有良好的敏感性,由于密鑰K1用于生成Logistic方程的初始值,因此K1也具有良好的敏感性。同時,本文利用Logistic映射對密鑰K2進行了敏感和擴散處理,使得K2也具有良好的敏感性。為了驗證密鑰K1和K2的敏感性,分別改變密鑰K1、K2中的一位,并統計新隨機序列與原隨機序列的不同位數所占的百分比。設i表示K1和K2中每一位對應的位置編號,則1≤i≤Lg,Lg為密鑰K1和K2的長度總和。在本文中,Lg=40。NP表示新隨機序列與原隨機序列的不同位數占序列總數的百分比,NP的計算公式為: 其中,D(n)和D′(n)分別表示原隨機序列和新隨機序列,NK表示序列D(n)的總位數,NP(i)表示改變第i位時所對應的百分比。 根據分組密碼測度中的嚴格雪崩準則,改變密鑰中的任一比特,應導致密文中大約50%比特的變化。圖5是對密鑰長度Lg=40,生成序列長度NK=20 000時得到的百分比統計結果。 圖5 密鑰改變一位時生成的序列所改變的百分比 由圖5可以看出,密鑰改變一位時生成的序列所改變的百分比均接近50%,滿足嚴格雪崩準則。因此,密鑰K1和K2均具有敏感性。 綜上所述,本文算法生成的0/1序列具有良好的隨機性,密鑰具有很強的敏感性。此外,本文采用24位的外部密鑰來生成混沌初值和控制參數,與文獻[13]直接采用混沌初值和控制參數作為密鑰相比,本文的密鑰更方便管理。同時,解決了文獻[6]提出的Logistic序列易被重構的問題,使得密鑰的安全性更好。 將混沌與神經網絡相結合,引入外部密鑰,提出一種新的生成隨機序列的方法,以較少位數的密鑰生成無限長度的隨機序列。同時,對密鑰進行敏感和擴散處理,增強了密鑰的敏感性,并從仿真實驗結果中得到了驗證。但是,文中的密鑰空間大小為240,以目前計算機的運算速度,存在被暴力破解的風險。因此,進一步的研究方向將會考慮增加密鑰空間大小,同時考慮到算法的時間開銷,提高運算效率。 [1] 陳鐵明,蔣融融.混沌映射和神經網絡互擾的新型復合流密碼[J].物理學報,2013,62(4):040301. [2] 何崢,李國剛.基于神經網絡混沌吸引子的混合加密[J].通信技術,2012,45(5):50-52. [3] 鄒阿金,張雨濃,肖秀春.Hermite混沌神經網絡異步加密算法[J].智能系統學報,2009,4(5):458-462. [4] 趙全習,胡文志,鄭連清.一種流加密方案的設計與分析[J].計算機應用研究,2007,24(12):191-192,234. [5] 孫百瑜,高俊山,吳宏偉.基于置換亂序的混沌加密算法[J].自動化技術與應用,2005,24(2):7-9. [6] 高俊山,孫百瑜,韓偉.基于混沌理論的控制軌道函數構造[J].電機與控制學報,2002,6(2):150-153,167. [7] Kengnou Telem,Adelade Nicole,Meli Segning,et al.A Simple and Robust Gray Image Encryption Scheme Using Chaotic Logistic Map and Artificial Neural Network[J].Advances in Multimedia,2014,2014:132-144. [8] Singla Prateek,Sachdeva Payal,Ahmad Musheer.A Chaotic Neural Network Based Cryptographic Pseudo-Random Sequence Design[C]//Proceedings-4th International Conference on Advanced Computing and Communication Technologies,2014:301-306. [9] 任志山.基于混沌神經網絡混沌二進制序列的性能分析及實現[C]//中國電子學會信息論分會.中國電子學會第十五屆信息論學術年會暨第一屆全國網絡編碼學術年會論文集(上冊),2008,6. [10] 藺小梅,李國剛,張澤普.采用OHNN和M-LFSR的字序列密碼加密方案[J].華僑大學學報:自然科學版,2014,35(5):519-522. [11] 吳君欽,陳天棟,李康順.一種基于多目標差分演化的序列密碼算法[J].計算機應用研究,2014,31(7):2139-2143. [12] 胡能發,鄧永發.基于遺傳算法的序列密碼生成方法[J].計算機工程與設計,2005,26(8):2190-2192. [13] 鄒于豐.基于Legendre多項式混沌神經網絡的異步保密通信[J].計算機應用與軟件,2012,29(12):315-317. STREAM CIPHER ALGORITHM BASED ON PIECEWISE LINEAR CHAOTIC NETWORKS Lin MinLong Fei (College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,Guizhou,China) In response to the issue that Logistic chaotic sequences are easily to be reconstructed, we introduced an external key to encrypt initial values and parameters of Logistic equation; and then put forward a piecewise linear chaotic networks model. It uses the sensitivity of Logistic sequence on initial values to process the chaotic networks in terms of sensitivity and diffusion, and enables the chaotic networks to iteratively operate through renewing the control parameters so as to generate the stream cipher with good stochastic property. The final algorithm analysis and simulation experiments proved that the keys of the algorithm have good sensitivity; and the generated random sequences have good stochastic property as well, and satisfy the requirement of cryptography. Chaotic sequencesExternal keyPiecewise linear chaotic networksStream cipher 2015-05-20。國家自然科學基金項目(61263005)。林敏,碩士生,主研領域:神經網絡,數據加密。龍飛,教授。 TP309.7 A 10.3969/j.issn.1000-386x.2016.09.0713 量化處理

4 生成0-1隨機序列


5 算法分析







6 結 語