彩色圖像加密算法之超混沌映射加密
為了提高圖像加密算法的安全性,我們提出一種新的基于超混沌映射的圖像加密算法。首先,將彩色圖像分解成三個通道分別是R、G、B,然后利用Chen超混沌系統(tǒng)產(chǎn)生的4條混沌序列對每個通道的像素位置進行置亂;接著以4條混沌序列為基礎(chǔ)條件對每個通道進行位平面置換和按位取反操作來實現(xiàn)像素值的擾亂,最后重組位平面及3個顏色通道即可獲得加密圖像文件。
一、Chen超混沌系統(tǒng)
本文提出的加密算法是采用Chen超混沌映射產(chǎn)生的混沌序列來對圖像進行加密的。Chen系統(tǒng)的定義如下:

式中,a,b,c,d,k是系統(tǒng)參數(shù),當a=36,b=3,c=28,d=16以及-0.7≤k≤0.7。Chen系統(tǒng)進入超混沌系統(tǒng),并且可以產(chǎn)生四條混沌序列。利用本文給出的參數(shù)a= 36,b=3,c=28,d=16和k=0.2,我們可得該系統(tǒng)的Lyapunov指數(shù)是λ1=1.552,λ2=0.023,λ3=0,λ4=- 12. 573,其超混沌吸引子見圖1所示。

由于超混沌系統(tǒng)具有兩個正的Lyapunov指數(shù),因此超混沌系統(tǒng)的預(yù)測時間遠遠長于一維混沌系統(tǒng)的預(yù)測時間,即它的安全性高于基于傳統(tǒng)混沌的加密算法.我們用四階Runge Kutta方法計算得出四條序列x,y,z,q。為了使得混沌序列具有較好的隨機性,我們將四條混沌的序列的整數(shù)部分去除,只保留小數(shù)部分,這樣我們所得到混沌序列在0到1之間,我們用這些序列
來對圖像文件加密。
二、基于超混沌映射的彩色圖像加密算法描述
該圖像加密算法包括兩部分:像素位置置亂和像素值擴散。
首先利用Chen超混沌系統(tǒng)產(chǎn)生四條混沌序列分別是x,y,z和q,然后利用混沌序列x,y,z對像素的位置進行置亂,利用混沌序列x,y,z和q對置亂后的圖像文件進行交換位平面和按位取反操作來擴散像素的值。本文提出的圖像加密算法的過程見圖2所示。

圖2(a)所示的是圖像加密算法的框圖,置亂和擴散的詳細框圖見圖2(b)、(c)所示。
根據(jù)圖2所示,本文提出的加密算法的詳細步驟如下:
步驟1將彩色圖像A(m,n,3)分解成三種顏色通道的圖像分別是紅R(m,n),綠G(m,n),藍B(m,n),其中m,n是圖像的長和寬;
步驟2在初始值x0,y0,z0,q0和系統(tǒng)參數(shù)a,b,c,d,k的條件下,利用Chen混沌映射產(chǎn)生混沌序列分別是:
![]()
步驟3 _利用排序數(shù)對三條混沌序列x,y,z進行排序操作:

其中[ lx fx]=sort(x)是排序的索引函數(shù),fx是對戈升序排列后得到的新序列,lx是fx的索引值,ly,lz,lq與lx相同。
步驟4根據(jù)式(3),選擇序列x,y,z的索引值組合來置亂R(m,n),G(m,n),B(m,n),置亂后所得矩陣為Rs(m,n),Gs(m,n),Bs(m,n),如圖2(b)所示。

步驟5將式(2)中的ly,lz,lq與lx兩兩相乘得到新的矩陣m1,n1,k1,如以下公式所示:

步驟6分別將置亂后的圖像Rs(m,n),Gs(m,n),Bs(m,n)轉(zhuǎn)換為八個位平面,按照式(5)將每個像素的第1、2個位平面和第7、8個位平面,第3,4個位平面和第5、6個位平面進行置換,位平面的置亂就相當于像素值在擴散:

步驟7將步驟2所生成的混沌序列兩兩相乘,得到三個大小相同的二維矩陣,見式(6),將e(i,j),g(i,j),f(i,j)轉(zhuǎn)換為一維矩陣e(τ),g(τ),f(τ),τ=1,2,3,…,m×n×8。

步驟8將步驟6所得的位平面轉(zhuǎn)換成一維矩陣Rs(τ),Gs(τ),Bs(τ),τ=1,2,3,…,m×n×8,然后按照以下代碼進行按位取反操作,Gs(τ),Bs(τ)的取反操作與Rs(τ)的類似,不同之處在于Gs(τ))與g(τ)對應(yīng),Bs(τ)與f(τ)相對應(yīng):

步驟9重組步驟7所得的位平面,可得三個矩陣Rc,Gc,Bc,像素值擴散的過程如圖2(c)所示;合并Rc,Gc,Bc即可得到加密圖像B。
加密過程是解密過程的逆過程。接收方從發(fā)送方獲取密鑰后,然后按照加密算法的逆操作即可獲得正確的解密圖像。
三、模擬結(jié)果分析
在Matlab 7.1環(huán)境下,對256×256的lena彩色圖像,在x0=0.3,y0=0.4,zo=0.5,qo =0.6的條件下進行仿真實驗。圖3中我們給出了加密圖像和解密圖像,其中圖3(a)是原始圖像,
圖3(b)是加密圖像。圖3(b)顯示出我們的實驗結(jié)果跟原始圖像沒有任何關(guān)系,從而表明我們的算法得到了很好的加密效果。由加密過程的逆過程可以獲得解密圖像如圖3(c)所示。

四、安全性分析
圖像加密算法的安全性分析主要包括密鑰空間、靈敏性分析及抗統(tǒng)計攻擊分析等。
1、密鑰分析
本加密算法中,Chen系統(tǒng)的初始值可以看作是該加密算法的密鑰,所以在該算法中共有5個密鑰分別是(xo,yo,z0,qo,k)。如果計算精度是10 -14,則密鑰空間是1014×1014×1014×1014×1014= 1070—2233。密鑰空間足夠大可以有效地抵抗窮舉攻擊。
2、密鑰靈敏性分析
眾所周知,Chen系統(tǒng)產(chǎn)生的混沌序列對初始值和系統(tǒng)參數(shù)的變化是非常敏感的,這意味著當初始值有一點微小的變化,用變化后的初始值對原始圖像文件加密,則得到的加密圖像文件則會和原始圖像無任何聯(lián)系。為了測試密鑰的靈敏性,使用微小差異的密鑰進行解密,圖4為解密后的結(jié)果。圖4(a)表示xo=0. 30000000000001,其它密鑰不變的解密圖;與圖4(a)一樣,圖4(b)、(c)與(d)分別表示yo=0.40000000000001,zo=0. 50000000000001,qo=0.60000000000001其它密鑰不變的解密圖。圖4(a)、(b)、(c)、(d)可以說明,只要密鑰中存在微小的差異,都不能恢復(fù)原圖像??梢?,該算法具有較強的密鑰靈敏性,可以有效地抵抗窮舉攻擊。

3、灰色直方圖分析
Shannon指出利用統(tǒng)計分析可以破解許多密碼系統(tǒng)。我們通過直方圖的比較,來分析加密前后圖像統(tǒng)計特性的改變。圖5(a)、(c)和(e)所示的是原始圖像“Lenna”的三個顏色通道的灰度直方圖,其對應(yīng)加密圖像的直方圖見圖5(b)、(d)和(f)。我們比較三個顏色通道加密前后直方圖的變化,可以得出以下結(jié)論:加密前的圖像像素比較集中,即在(0,255)的兩端像素分布比較少,而中間分布的較多,而加密后的圖像像素分布比較均勻,兩圖像相似度較低,攻擊者難以利用像素灰度值的統(tǒng)計特性恢復(fù)原圖像。由此可見,該算法具有很好地抵御統(tǒng)計分析能力。

4、相鄰像素之間的相關(guān)性分析
圖像相鄰像素之間的相關(guān)性非常大,圖像的這種特殊的特性使得加密圖像極易受到統(tǒng)計攻擊,因此,良好的加密算法必須降低加密圖像相鄰像素之間的相關(guān)性。為了對相鄰像素之間的
相關(guān)性進行分析,我們在原始圖像和加密圖像中分別隨機選擇3000對相鄰像素點對(包括水平方向、豎直方向、對角方向的相鄰點),并利用式(7) -式(10)計算每對點的相關(guān)系數(shù)。

其中x和y是相鄰像素的灰度值,cov(x,y)是協(xié)方差,D(x)是方差,E(x)是中值。
圖6(a),(c)和(e)所示的是原始圖像R,G和B通道的水平方向上的相關(guān)系數(shù),相應(yīng)的加密圖像的水平方向的相關(guān)系數(shù)見圖6(b),(d)和(f)。


從圖6(b),(d)和(f)和表1可以看出加密圖像文件圖像素間的相關(guān)性很低,幾乎接近0,再次說明,本加密算法具有很強的抗統(tǒng)計攻擊能力。
小知識之Lyapunov指數(shù)
Lyapunov指數(shù)是衡量系統(tǒng)動力學(xué)特性的一個重要定量指標,它表征了系統(tǒng)在相空間中相鄰軌道間收斂或發(fā)散的平均指數(shù)率。對于系統(tǒng)是否存在動力學(xué)混沌, 可以從最大Lyapunov指數(shù)是否大于零非常直觀的判斷出來: 一個正的Lyapunov指數(shù),意味著在系統(tǒng)相空間中,無論初始兩條軌線的間距多么小,其差別都會隨著時間的演化而成指數(shù)率的增加以致達到無法預(yù)測,這就是混沌現(xiàn)象。










