基于多混沌系統(tǒng)的彩色圖像加密算法
多媒體數(shù)據(jù),尤其是圖像,給人類在信息利用方面帶來了諸多方便,但也同時帶來了安全隱患。圖像敏感信息可能被竊取、篡改、非法復(fù)制和傳播,因此信息安全問題倍受關(guān)注。
使用混沌映射產(chǎn)生偽隨機(jī)序列進(jìn)行序列密碼加密的思想被提出之后,基于混沌系統(tǒng)的加密算法開始成為研究熱點(diǎn)?;趩我换煦缦到y(tǒng)的圖像加密算法,加密結(jié)構(gòu)簡單,運(yùn)算時間短,但該方法所產(chǎn)生的密鑰空間較小,容易受到攻擊解密。以往的文獻(xiàn)中基于單一混沌映射大多只對圖像進(jìn)行單一的操作,而當(dāng)前數(shù)字圖像加密主要使用置亂、置換和擴(kuò)散3種操作。結(jié)合已有文獻(xiàn)的優(yōu)點(diǎn)和不足,本文擬對基于多混沌系統(tǒng)實(shí)現(xiàn)對彩色圖像的加密算法加以改進(jìn),即在對灰度圖像僅置換操作的基礎(chǔ)上,分別用不同的混沌映射實(shí)現(xiàn)對彩色圖像的置亂和置換擴(kuò)散操作,并對該算法進(jìn)行安全性分析。
一、加密算法基礎(chǔ)
混沌是非線性動力系統(tǒng)中出現(xiàn)的一種貌似沒有規(guī)律的類似隨機(jī)的運(yùn)動?;煦缦到y(tǒng)所具有的初值敏感性、遍歷性、偽隨機(jī)性等特性能夠?qū)崿F(xiàn)密碼學(xué)中兩個基本原則:混亂和擴(kuò)散。因此,在信息安全中,混沌理論被廣泛應(yīng)用于加密技術(shù)中。如混沌具有對初值的敏感依賴性,只要初始條件稍有微小的擾動,就會使系統(tǒng)的最終狀態(tài)出現(xiàn)很大的差異;混沌具有良好的偽隨機(jī)性,因此應(yīng)用在加密算法中可以提高抗攻擊能力,提高算法安全性。
1、Arnold映射
Arnold變換俗稱貓變換,二維Arnold映射是一種對等長圖像進(jìn)行置亂的映射,其數(shù)學(xué)表達(dá)式為:
![]()
其中N表示圖像的階數(shù),(x,y)是圖像上像素點(diǎn)的坐標(biāo),(x',y')是置亂后的像素的坐標(biāo)。對圖像進(jìn)行置亂處理后,明文像素之間的相關(guān)性降低,圖像的抗攻擊能力也有所提高d但貓變換具有一定的周期性,對尺寸固定的圖像進(jìn)行Arnold變換迭代,迭代一定周期的次數(shù)后,被置亂的圖像總可以恢復(fù)為原始圖像d因此針對貓映射這種缺點(diǎn),對經(jīng)過置亂變換后的圖像再進(jìn)行二次加密。
2、Logistic映射
Logistic映射是最為常見的一種離散系統(tǒng)的混沌模型,它是一個典型的非線性混沌方程,結(jié)構(gòu)簡單,容易實(shí)現(xiàn),很好的體現(xiàn)了混沌所具有的一些特性,因此廣泛使用在多種情況下,其數(shù)學(xué)表達(dá)式為:
![]()
其中μ∈[0,4]為分岔參數(shù)。如果:
![]()
則Logistic系統(tǒng)將表現(xiàn)為混沌性,此時產(chǎn)生的序列(xn,n=1,2,...)為混沌序列。此混沌序列的概率密度與初值無關(guān),并且具有一定的遍歷性和隨機(jī)性。
3、Henon映射
法國天文學(xué)家Henon從球狀云團(tuán)以及Lorenz系統(tǒng)吸引子的研究中得到啟發(fā),提出了Henon迭代映射。Henon二維混沌映射,相對于單純的一維映射來說,運(yùn)算結(jié)構(gòu)稍復(fù)雜,因此安全性較好,常作為偽隨機(jī)序列發(fā)生器,其數(shù)學(xué)表達(dá)式為:
![]()
其中a∈[1.2,1.4]和b∈(0.2,0.314)均為參數(shù)。
二、加密算法原理
RGB數(shù)字彩色圖像可看成由FR、FG和FB三層三基色矩陣構(gòu)成,每個基色矩陣元素由每層的像素點(diǎn)組成。對數(shù)字彩色圖像進(jìn)行加密傳輸時,先將三維空間的彩色圖像RGB轉(zhuǎn)換成3個二維的灰度圖像fR、fG和fB,再按照灰度圖像的加密方法實(shí)現(xiàn)對其加密處理。
利用Arnold混沌系統(tǒng)對3個灰度圖像分別進(jìn)行像素位置的置換,接著對置亂后圖像的像素值利用混沌映射,實(shí)現(xiàn)置換操作。使用RGB原始彩色圖像的總像素之和作為輔助密鑰來修改Logistic和
Henon混沌系統(tǒng)生成的混沌序列的初始值,提高加密算法對明文圖像的敏感性,安全性更高。再分別利用改進(jìn)的Logistic和Henon混沌序列對置亂后的3個二維圖像的奇數(shù)像素值和偶數(shù)像素值置亂擴(kuò)散,得到3個加密圖像后再合成,就是原始RGB圖像的加密結(jié)果。而解密是加密圖像的逆過程。
改進(jìn)后加密算法的流程如圖1所示。

改進(jìn)后加密算法的具體步驟如下。
步驟1首先將數(shù)字彩色圖像RGB轉(zhuǎn)換成三基色圖像,再利用二維Arnlod混沌映射分別對三基色圖像進(jìn)行像素值的置亂操作。
步驟2取原始RGB彩色圖像的像素值總和,對像素值之和做簡單的取余256后取整等處理,使之取值范圍在(0,1)之間,其結(jié)果作為輔助密鑰修改混沌系統(tǒng)的初始參數(shù)。
步驟3根據(jù)Logistic映射和Henon映射的參數(shù)范圍任給密鑰參數(shù)U1,a,b以及初值x1o和X20。
步驟4用輔助密鑰忌來修改Logistic和Henon混沌系統(tǒng)初始值,用給出的初始值和輔助密鑰的平均值作為新的系統(tǒng)初始參數(shù),再根據(jù)式(2)和式(3)構(gòu)造生成2個長度為N×N的實(shí)數(shù)混沌序列{x1(i))和(x2(i)}。
步驟5按順序取置亂后圖像中的每個點(diǎn)(設(shè)某點(diǎn)的序號為n),若該點(diǎn)序號屬于奇數(shù),則由Logistic混沌序列的x1(n)生成加密密鑰:
![]()
若該點(diǎn)序號屬于偶數(shù),則由Henon混沌序列的x2(n)生成加密密鑰:
![]()
步驟6用三個基色灰度圖像中的第禮個像素點(diǎn)的灰度值分別與上述產(chǎn)生的密鑰是k(n)進(jìn)行按位異或,得到置換后的像素值,重復(fù)操作直至加密完所有像素點(diǎn)。
步驟7將得到的加密處理的三基色灰度圖像復(fù)合成彩色圖像,即為原始RGB圖像的加密圖像。
改進(jìn)后的加密算法首先對彩色圖像分層,然后再分別對圖像進(jìn)行置亂和置換操作有效的解決單一的置亂操作不能改變圖像的直方圖,而單一的置換擴(kuò)散操作不容易破壞相鄰像素的相關(guān)性。對分解后的RGB圖像分別使用不同的混沌系統(tǒng)對其加密,增大密鑰空間,提高算法安全性;輔助密鑰像素值之和K修改初值,增大RGB之間以及圖像和混沌系統(tǒng)之間的相互關(guān)系,提高了加密算法對明文的敏感性。這樣使得算法的加密效果和安全性都較高。
解密過程是加密的逆過程,用加密后三基色灰度圖像中的第九個像素點(diǎn)灰度值與步驟6產(chǎn)生的密鑰值進(jìn)行按位異或操作,得到解密后像素值,再按照Arnold映射的逆過程對圖像置亂相同次數(shù),得到的圖像就是原始圖像。
改進(jìn)后解密算法的流程如圖2所示。

改進(jìn)后解密算法的具體步驟如下。
步驟1同加密算法步驟2至步驟5,輸入相同的初始參數(shù)值,得到解密密鑰k(n)。
步驟2 用hu密后的RGB三基色灰度圖像中的第n個像素點(diǎn)灰度值與步驟1產(chǎn)生的密鑰值進(jìn)行按位異或操作,得到恢復(fù)置換的像素值。重復(fù)操作直至解密完所有像素點(diǎn)。
步驟3再利用二維Arnold混沌映射,利用相同的迭代次數(shù)和初始值,分別對三基色圖像進(jìn)行像索值的置亂恢復(fù)。
步驟4 將得到的解密處理的三基色灰度圖像復(fù)合成彩色圖像,即為解密圖像。
三、實(shí)驗(yàn)仿真與分析
利用MATITAB來實(shí)現(xiàn)上述算法,對256×256大小的標(biāo)準(zhǔn)測試圖lena原始圖像進(jìn)行加密。首先將原始圖像轉(zhuǎn)換成RGB三裝色I(xiàn)圖像,實(shí)驗(yàn)結(jié)果如圖3所示。

分別利用Arnold I映射、Logistic映射和Hcnon映射對三基色圖像加密。算法密鑰分別為Arnold映射迭代次數(shù)n,Logistic映射和Henon映射對應(yīng)的參數(shù)和初值“u1,x1 (1),x2(1),a和b。在一定范圍內(nèi)設(shè)定密鑰的初值,如令:
![]()
得到三個加密后的三基色圖像以及合成之后的原始彩色圖像的加密圖像如圖4所示:

改進(jìn)后的加密算法基于三個不同的混沌系統(tǒng),分別實(shí)現(xiàn)對明文圖像置亂,置換擴(kuò)散操作,密鑰操作數(shù)均由各個混沌系統(tǒng)產(chǎn)生,遍歷了圖像的每個像素點(diǎn),有效的解決單一的置亂操作不能改變圖像的直方圖,而單一的置換擴(kuò)散操作不容易破壞相鄰像素的相關(guān)性的問題。下面對算法安全性進(jìn)行分析驗(yàn)證。
1、密鑰空間分析
一種圖像加密算法的密鑰空間范圍要足夠大,才可以有效地抵御窮舉攻擊。改進(jìn)后的圖像加密算法,其密鑰空間范圍由n,x1 (l),x2(1),a和b五個參數(shù)構(gòu)成,其中四個參數(shù)均可以精確表示到小數(shù)點(diǎn)后15位的雙精度實(shí)數(shù),則密鑰空間大小為:
![]()
可見該算法密鑰空間足夠大,可以有效的抵御窮舉攻擊。
2、初值敏感性分析
解密過程中,對密鑰中的參數(shù)進(jìn)行微小的改動,如果所得到解密圖像無法識別,那么該算法的敏感性就很強(qiáng)。保持其他密鑰參數(shù)不變,而分別?。?/p>
![]()
對加密圖像解密,得到如圖5所示錯誤的解密圖像,密鑰參數(shù)的微小變動導(dǎo)致了解密結(jié)果的巨大差異。表明該加密算法具有很好的初值密鑰敏感性。

3、抗噪聲攻擊分析
用椒鹽噪聲干擾原始彩色圖像。設(shè)置噪聲密度為0.02,然后對加噪后的圖像使用正確的密鑰解密,得到的解密圖像如圖6所示。從圖中可以看出,原始圖像仍然可以很好的解密出來,基本保留了原始明文圖像所具有的有效信息,解密圖像沒有出現(xiàn)明顯失真的現(xiàn)象,說明了該算法具有很好的抗干擾能力。

4、像素直方圖
明文圖像RGB三分垣的像素直方圖以及加密后的RGB像素直方圖分別如圖7和圖8所示。實(shí)驗(yàn)結(jié)果表明,與原始圖像的像素直方圖相比較,明文圖像分布呈現(xiàn)出非均勻分布的統(tǒng)計特性,加密后的圖像像素直方圖分布近似均勻。說明該加密算法很好的掩蓋了RGB像素值的分布情況,從而可以有效的抵抗統(tǒng)計分析和已知明文攻擊。


5、相鄰像素相關(guān)度
圖像一般用來表示連續(xù)的信息,因此圖像相鄰像素點(diǎn)間應(yīng)該具有很大的相關(guān)性。為了測試相鄰像素點(diǎn)間的相關(guān)度,從原始明文圖像和加密后的圖像中各隨機(jī)選擇1000對相鄰像素點(diǎn),計算像素之間線性相關(guān)系數(shù):
![]()
其中:

而x和y是圖像中相鄰像素點(diǎn)的灰度值,N為隨機(jī)選擇的像素點(diǎn)對。
計算所得相關(guān)統(tǒng)計結(jié)果如表1所示。

原始圖像中1000對相鄰像素點(diǎn)水平方向的相關(guān)性如圖9(a)所示,加密圖像中相鄰像素點(diǎn)水平方向的相關(guān)性如圖9(b)所示??梢钥闯?,加密后的圖像相鄰像素點(diǎn)之間的相關(guān)性分散呈現(xiàn)。這表明明文圖像像素之間的統(tǒng)計特性已被擴(kuò)散到密文中,因此該加密算法具有良好的擴(kuò)散性。

理論分析和實(shí)驗(yàn)結(jié)果表明:該算法密鑰空間較大,明文圖像數(shù)據(jù)充分置亂擴(kuò)散,加密后的圖像表達(dá)效果好,初值敏感性較強(qiáng),可以有效地抵御窮舉攻擊,明文攻擊和抗干擾性。因此安全性較好。
小知識之灰度值
指黑白圖像中點(diǎn)的顏色深度,范圍一般從0到255,白色為255,黑色為0,故黑白圖片也稱灰度圖像,在醫(yī)學(xué)、圖像識別領(lǐng)域有很廣泛的用途。










