基于混沌的彩色圖像加密算法

對于彩色圖像,每個圖像的像素由是由R(紅色),G(綠色),B(藍色)三個顏色成分組成。與灰度圖像相比,彩色圖像提供更多信息,因此吸引了更多的關(guān)注。一般的彩色圖像加密算法只是把彩色圖像看成由三個灰度圖像組成,從而對于每一個灰度圖像分別進行處理,這樣做很大的缺陷是忽略了R,G,B之間的關(guān)系,與灰度圖像加密沒什么大的區(qū)別。

鑒于此,我們設(shè)計了一種新型的彩色圖像加密算法,用混沌系統(tǒng)同時對三個顏色部分加密使得它們之間充分地相互影響,而且運用聯(lián)合型的置亂和擴散方法減少了R,G,B之間的相關(guān)性。仿真結(jié)果表明此方案能夠有效地給彩色圖像文件加密和抵抗不同類型經(jīng)典的攻擊。

一、混沌系統(tǒng)

一維Logistic系統(tǒng)因為簡單且高效,故常用來產(chǎn)生密鑰流,然而密鑰空間太小,不能抵抗窮舉攻擊,因此安全性不是很好,本文采用CLM(耦合Logistic映射)來構(gòu)造密碼系統(tǒng):

基于混沌的彩色圖像加密

其中i=1,2,3為空間方向變量,n=1,2,3是時間方向變量;xni代表狀態(tài)變量,ε≡(0,1)是耦合系數(shù),g(x)是Logistic映射,如公式(2)所示。周期邊界條件xn0 =xn3。_CLM系統(tǒng)有兩個正的Lyaponuv指數(shù),因此它是混沌的。

基于混沌的彩色圖像加密算法

當λ≡(3.57,4)時,Logistic映射可通過倍周期分叉演進至混沌狀態(tài)。

二、基于混沌的彩色圖像加密算法的設(shè)計與實現(xiàn)

Step1:準備工作和密鑰產(chǎn)生。_首先明文圖像可表示成如下形式:

基于混沌的彩色圖像加密算法

其中每一個顏色分量R,G,B可變成一個向量,其元素值均在0~255之間。此處我們假設(shè)L=256×256,也就是圖像的大小尺寸均為256×256的大小,否則的話,可以對圖像做一些分割,最后不足的部分可以進行添加。設(shè)定初始參數(shù)λ和初始密鑰值x10,x11_,x12,_迭代公式(1)和(2)l+h次,_而h>0是為了提高初始敏感性,從而獲得三個序列:

基于混沌的彩色圖像加密算法

可以統(tǒng)一寫成:

基于混沌的彩色圖像加密算法

Step2:初始單獨擴散。

利用下式對原文進行一個簡單的擴散:

基于混沌的彩色圖像加密算法

其中R0C,G0C,B0C為初始密鑰。最終向量,RnC,GnC,BnC(n=1,2,,....l), a變成三個矩陣R,G,B,其大小為256×256。

Step3:聯(lián)合置亂。

R⊙G≥B:意思是用R和G去置亂B,相應(yīng)的算法如下:

基于混沌的彩色圖像加密算法

按照以上類似方法再進行R⊙G≥B,B⊙R≥G。

Step4:全局擴散。

經(jīng)過Step_3之后,_矩陣R,G,B再次變?yōu)槿齻€向量,RnP,GnP,BnP然后合并成一個長度為3L向量P。_擴散方程式如下:

基于混沌的彩色圖像加密算法

Cnow是當前的加密值,Pnow是當前明文值,C pre是先前加密值,Ppre 是先前明文值,設(shè)置初始值P0=0,C0=0 =,Know為合并的一個長度為3L的密鑰流。

最后,再次把圖像整理成R,G,B模式的彩色圖像。

再經(jīng)過以上四個步驟,一輪加密完成,根據(jù)時間安全需要,可以增加加密的輪數(shù),最終得到加密圖像。解密過程和加密過程相似,只不過逆過程而已。為了更加清楚地了解加密算法,流程圖如圖所示。

基于混沌的彩色圖像加密算法

本文基于耦合混沌產(chǎn)生隨機性更強的序列,從而設(shè)計出隨機性很強的密鑰流,對彩色圖像三個顏色組成部分R,G,B進行加密,并且考慮它們之間的相關(guān)關(guān)系,然后設(shè)計了一種初始簡單擴散-聯(lián)合置亂-聯(lián)合擴散的方法。

小知識之耦合

耦合是指兩個或兩個以上的電路元件或電網(wǎng)絡(luò)的輸入與輸出之間存在緊密配合與相互影響,并通過相互作用從一側(cè)向另一側(cè)傳輸能量的現(xiàn)象;概括的說耦合就是指兩個或兩個以上的實體相互依賴于對方的一個量度。