沈超 杜娟
摘要:為了進(jìn)一步提高圖像加密算法的安全性能,文章提出了一種基于混合超混沌系統(tǒng)圖像加密算法。算法首先根據(jù)明文像素值特征參數(shù)構(gòu)建與明文相關(guān)初值插入到Lorenz超混沌系統(tǒng)的龍格庫塔解法中,產(chǎn)生的混沌序列對明文圖像進(jìn)行置亂操作,再根據(jù)置亂后的圖像像素值特征參數(shù)插入到Chen超混沌系統(tǒng)的龍格庫塔解法中產(chǎn)生混沌序列。仿真分析表明,該加密算法不但有隨機性更好的混沌序列,密鑰空間更大,而且擴散程度更高,最重要的是實現(xiàn)了明文相關(guān)和密文反饋,具有抵抗窮舉攻擊、統(tǒng)計攻擊、差分攻擊等常見攻擊的能力,使得加密安全性進(jìn)一步提高。
關(guān)鍵詞:圖像加密;混合超混沌系統(tǒng);明文相關(guān);密文反饋;置亂與擴散
中圖分類號:TP391.9 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)20-0186-04
A Image Encryption Algorithm Based On Mixed Hyperchaos System
SHEN Chao, DU Juan
(School of Information Science and Engineering, Lanzhou University, Lanzhou 730000, China)
Abstract: In order to further improve the security performance of image encryption algorithm, a image encryption algorithm based on mixed hyperchaos system was proposed in this paper. Firstly, the algorithm is constructed in the Runge Kuta solution of the Lorenz hyperchaotic system based on the feature parameters of the plaintext pixel value, and the chaotic sequence generated by the chaotic sequence is scrambled to the plaintext image, and then the chaos of the image pixel value after the scrambling is inserted into the Runge Kutta solution of the hyperchaotic system to generate chaos. Sequence. The simulation results show that the encryption algorithm not only has better randomness and better chaotic sequence, the key space is larger, but also the diffusion degree is higher. The most important thing is to realize the relevant and ciphertext feedback, and have the ability to resist the common attacks such as poor attack, statistical attack, differential attack and so on, which makes the security of encryption further improved.
Key words: Image encryption; Mixed hyperchaos system; Plaintext related; Ciphertext feedback; Scrambling and diffusion
1 引言
隨著計算機信息安全技術(shù)的飛速發(fā)展,數(shù)字圖像的傳輸也日漸增多,由于圖像信息具有相關(guān)性強、數(shù)據(jù)量大和冗余度高等特點,傳統(tǒng)的經(jīng)典數(shù)據(jù)加密算法已經(jīng)很難保證圖像加密的安全性和效率[1-2]。近些年來,由于混沌系統(tǒng)產(chǎn)生的混沌序列具有類噪聲、對初始值極端敏感和結(jié)構(gòu)復(fù)雜等特點,被廣泛應(yīng)用數(shù)字圖像加密技術(shù)中。最初,基于混沌的加密算法大多數(shù)集中在低維混沌系統(tǒng)[3-4]、多個低維混沌系統(tǒng)的簡單組合[5],這些方法的加密系統(tǒng)簡單、密鑰空間小、序列復(fù)雜程度低,導(dǎo)致加密系統(tǒng)的安全性不高。超混沌系統(tǒng)與普通混沌系統(tǒng)相比,其非線性行為更加復(fù)雜也更難以預(yù)測,產(chǎn)生的混沌序列隨機性更好,使得加密系統(tǒng)具有更大的密鑰空間并且使得加密結(jié)構(gòu)更加復(fù)雜。因此,基于超混沌和組合超混沌的圖像加密技術(shù)已經(jīng)成為主流的研究趨勢[6-8]。
2算法基本原理
2.1 混沌系統(tǒng)
一般超混沌系統(tǒng)中有兩個或兩個以上正Lyapunov指數(shù),正Lyapunov指數(shù)越多,系統(tǒng)的運行軌道不穩(wěn)定的方向越多,非線性行為更加復(fù)雜多變,系統(tǒng)的隨機性越好,其用于圖像加密時抵御攻擊的能力越強,使得加密算法的安全性大大提高。
本文算法選取了兩個性能優(yōu)良的超混沌系統(tǒng),分別為Lorenz超混沌系統(tǒng)、Chen超混沌系統(tǒng)。
2.1.1 Lorenz超混沌系統(tǒng)
Lorenz超混沌系統(tǒng),其動力學(xué)方程如式所示:
[x=a(y-x)+wy=cx-y-xzz=xy-bzw=-yz+rw] (1)
其中[x],[y],[z],[w]是系統(tǒng)的狀態(tài)變量,[a],[b],[c]和[r]是系統(tǒng)的控制參數(shù),當(dāng)[a=10],[b=8/3],[c=28],[-1.52≤r≤-0.06]時,式(1)處于超混沌狀態(tài)。
2.1.2 Chen超混沌系統(tǒng)
Chen超混沌系統(tǒng),其動力學(xué)方程如式所示:
[x=a(y-x)+wy=dx-xz+cyz=xy-bzw=yz+rw] (2)
式(2)中,[x],[y],[z],[w]為系統(tǒng)的狀態(tài)變量,[a],[b],[c],[d]和[r]是系統(tǒng)的控制參數(shù),當(dāng)[a=35],[b=3],[c=12],[d=7],[0.085≤r≤0.798]時,公式(2)進(jìn)入超混沌狀態(tài)。
2.2 加密算法設(shè)計
2.2.1 明文相關(guān)性方案
利用系統(tǒng)的初值作為密碼體制密鑰,在加密中生成所需的混沌序列。初值的產(chǎn)生不僅與混沌系統(tǒng)有關(guān),而且與明文圖像有關(guān)。由于不同圖像中使用的密鑰是不同的,所以密碼系統(tǒng)可以抵抗已知明文攻擊、選擇明文攻擊和選擇密文攻擊。輸入的明文圖像[P]的大小是[M×N],其灰度圖像像素值是從0到255的整數(shù)總共包含256個灰度級別。根據(jù)灰度值等級[[0,64)],[[64,128)],[[128,192)],[[192,256)],將圖像的像素值劃分為四個塊矩陣,即[H1],[H2],[H3],[H4]。從這四個塊矩陣生成初始值密鑰值,具體生成如式所示:
[ni=[sum(P(Hi(:)))+XOR_Hi]/NHi] (3)
[x0=n1-floor(n1)y0=n2-floor(n2)z0=n3-floor(n3)w0=n4-floor(n4),i=1,2,3,4] (4)
式(3)中[NHi]是每個塊矩陣中的元素個數(shù),[sum(P(Hi(:)))]是每個塊矩陣中元素的和,[XOR_Hi]是按位異或數(shù)值結(jié)果中每個塊矩陣的元素。式(4)中[floor(ni)]是向負(fù)無窮方向取整數(shù)。
2.2.2 Lorenz超混沌系統(tǒng)序列生成
將得到的初始值密鑰[(x0,y0,z0,w0)]代入到Lorenz超混沌系統(tǒng)中,利用四階龍格庫塔法迭代[M×N+1000]次,為了消除混沌序列的瞬態(tài)效應(yīng),提高對初始條件的敏感性,舍棄混沌序列的前1000個值。因為混沌系統(tǒng)狀態(tài)值構(gòu)成的序列是浮點數(shù),所以不能直接用于圖像加密。本文利用了式(5)將混沌狀態(tài)值[xi]轉(zhuǎn)化為了整數(shù)[di],轉(zhuǎn)化后的混沌序列可適用于圖像加密。
[di=floor(xi×10m)modL] (5)
式(3)的目的就是將小數(shù)部分的小數(shù)點右邊的[m]位轉(zhuǎn)化為整數(shù),之后再求模[L]運算,得到的混沌序列記為
[S1={di},i=1,2,…,M×N+1000] (6)
2.2.3 像素置亂
圖像置亂就是改變原始圖像像素的排列順序,擾亂了相鄰像素的空間相關(guān)性,使得原始圖像變成無意義的混亂圖像。置亂不會改變原始圖像的像素值,只是改變了各個像素在空間的位置。本文置亂方案如下,
a)將生成的混沌序列[S1]中重復(fù)的元素舍棄只保留一個;
b)集合[{1,2,…M×N}]中沒有在序列[S1]中出現(xiàn)的元素從小到大的順序排在序列[S1]的尾端,最終得到無重復(fù)的序列[S1];
c)再將明文圖像矩陣[P]展開成一維向量[A];
d)對向量[A]進(jìn)行位置置換,再將置換后的向量[A]還原為[M×N]的矩陣。
2.2.4 Chen超混沌系統(tǒng)序列生成
將置亂后的圖像[A]按照明文相關(guān)性方案中的算法得到初始值密鑰,并將其代入到Chen超混沌系統(tǒng)中,同樣利用四階龍格庫塔法迭代[M×N+1000]次,并進(jìn)行優(yōu)化處理得到序列[S2]。
2.2.5 像素擴散
單純的置亂算法,無論算法設(shè)計的多么復(fù)雜,都是“純”加密處理,置亂僅僅破壞了明文圖像相鄰像素的相關(guān)性,因為灰度直方圖沒有改變,所以無法避免已知明文或者選擇性明文攻擊。為了增強加密圖像的安全性,采用灰度擴散算法使得在不改變像素點位置的前提下,將任一明文像素點的信息通過異或運算分布到盡可能多的密文像素點中去,使得各像素灰度值的分布更加均勻,消除了置亂后圖像的紋理特征。
擴散算法一般采用模運算和加運算,模運算使得計算結(jié)果位于正常的取值范圍內(nèi),加運算使得不同的像素的灰度值相互關(guān)聯(lián),從而增強了各像素之間的相關(guān)性,增強了擴散效果。本文采用模運算和加運算相結(jié)合的擴散算法,使得擴散程度更高。算法公式如式(7)所示:
[Ci=(Ci-1+Si+Pi)mod256] (7)
其中[P]是明文一維向量,[S]為密碼向量,[C]為相應(yīng)的密文一維向量,初始值[C0]來自密鑰,[i=1,2,…,MN]。進(jìn)行兩次循環(huán)操作后才能將每個明文像素點的信息都擴散到密文中。加密的效果如圖1、2所示。
3 仿真結(jié)果及分析
3.1 密鑰分析
3.1.1 密鑰空間
密鑰空間的大小是所有合法密鑰構(gòu)成的集合。一個良好的加密方案應(yīng)該具有足夠大的密鑰空間,并且對加密的密鑰足夠敏感,從而能夠抵御窮舉攻擊。在本文算法中,密鑰空間由兩個超混沌系統(tǒng)8個狀態(tài)變量初始值組成,用15位小數(shù)的雙精度實數(shù)表示,則密鑰空間可以達(dá)到[1015×1015×1015×1015×1015×1015×1015×1015=10120≈2512],相當(dāng)于512bit的密鑰長度。理論上本算法的密鑰空間無限大,完全能夠有效地抵御窮舉攻擊。
3.2 直方圖分析
直方圖反映出數(shù)字圖像像素值的分布情況,經(jīng)過加密的圖像其像素值的分布應(yīng)該是均勻分布的,這樣攻擊者無法再讀取任何有效的統(tǒng)計信息,由圖3,4看出,加密后的圖像直方圖相比原始圖像發(fā)生了較大的改變,加密后的圖像直方圖分布均勻,從中已經(jīng)無法得到任何有效的信息,因此本文的算法具有良好的抵御統(tǒng)計分析攻擊的能力。
3.3 相關(guān)性分析
一般地,明文圖像在水平、垂直、正對角方向上的相鄰像素點間具有較強的相關(guān)性,而密文圖像中的相鄰像素點間沒有相關(guān)性。從原圖像和加密圖像中隨機選取2000對相鄰像素(水平、垂直或?qū)牵?,如圖5所示,明顯地顯示出加密前后在各個方向上相關(guān)系數(shù)分布情況。
從表1中數(shù)據(jù)可知,明文圖像的相關(guān)系數(shù)更接近于1,相鄰像素高度相關(guān),而加密后的密文圖像約等于0,密文圖像在各個方向上不具有相關(guān)性。
3.4 信息熵分析
信息熵反映出圖像信息的隨機性和不可預(yù)測性。信息熵的計算公式如式(8)所示:
[H=-i=0Lp(i)log2p(i)] (8)
式中,[X]是信息熵,[p(i)]是像素值[i]出現(xiàn)的概率,[L]是像素的灰度級數(shù)。從信息熵的定義可以看出,熵越大,信息量越大,可視信息越少。本文加密后圖像的信息熵為7.9972,接近理想信息熵值8,說明本文的加密算法性能優(yōu)良能抵御熵攻擊。
4 結(jié)束語
本文通過明文像素值特征參數(shù)構(gòu)建與明文相關(guān)參與Lorenz超混沌系統(tǒng)混沌序列的生成,對明文圖像進(jìn)行置亂操作后將其特征參數(shù)再次插入到Chen超混沌系統(tǒng)的龍格庫塔解法中產(chǎn)生混沌序列,實現(xiàn)了明文相關(guān)和密文反饋。從仿真實驗的結(jié)果來看,算法密鑰空間足夠大能有效地抵御窮舉攻擊;加密后的密文圖像像素灰度分布均勻,相鄰像素點相關(guān)性更低,能有效抵御統(tǒng)計分析攻擊;加密后圖像的信息熵為7.9972,更接近于理想值8,能很好地能抵御熵攻擊。
參考文獻(xiàn):
[1] Schiener B.Applied:protocols,algorithms and source code in C[M].New York:John Wiley and Sons Inc,1996.
[2] Sun F Y, Liu S T,Li Z Q, et al.A novel image encryption scheme based on spatial chaos map[J].Chaos.Solitons&Fractals.2008.38;(3):631-640.
[3] Zhou Y, Bao L,Chen CLP.A new 1D chaotic system for image encryption[J].Signal Process.2014,97(7):172-182.
[4] 李恩,吳敏,熊永華.一種基于雙混沌映射的加密算法設(shè)計與應(yīng)用[J].計算機應(yīng)用研究,2009,26(4):1512-1514.
[5] Tong X J, Zhang M, Wang Z, Liu Y, Xu H,Ma J.A fast encryption algorithm of color image based on four-dimensional chaotic system [J]. Journal of Visual Communication & Image Representation, 2015.33(C):219-234.
[6] 劉金梅,丘水生,劉偉平.基于超混沌系統(tǒng)的圖像加密算法的安全性分析[J].計算機應(yīng)用研究,2010,27(3):1042-1044.
[7] 楊雪松,于萬波,魏小鵬.基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像加密[J].計算機應(yīng)用研究,2011,28(10):3807-3810.
[8] 盧輝斌,孫艷?;谛碌某煦缦到y(tǒng)的圖像加密方案[J].計算機科學(xué),2011(6):149-152.