陳秋瓊 張振娟 張安清 劉衛(wèi)麗
隨著多媒體信息技術(shù)的迅速發(fā)展,對數(shù)字圖像的需求也隨之增加,因此圖像信息的安全及其加密技術(shù)日益重要[1]。由于混沌具有不可預(yù)測性、對初始值的敏感依賴性等等特征,非常適合于圖像加密[2~5]。如王靜等[6]提出改進(jìn)的四維超混沌圖像加密算法,就是將超混沌系統(tǒng)運(yùn)用到圖像加密中,能抵御一般混沌系統(tǒng)的破譯以及不同的攻擊。趙懷勛[7]采用三維超混沌系統(tǒng)對彩色圖像得到的加密算法具有良好的保密性。WangWei[8]等采用陳氏超混沌系統(tǒng)對RGB圖像的加密,安全性能較高。這些算法都取得了非常好的加密效果。
本文提出了一種基于四維超混沌系統(tǒng)的彩色圖像加密算法,該系統(tǒng)產(chǎn)生四個(gè)混沌實(shí)值序列,首先將產(chǎn)生的前三個(gè)序列對彩色圖像R、G、B三層灰度值進(jìn)行位置置亂,其次對置亂后的圖像各層進(jìn)行像素灰度值的替代。為了能夠有效地避免選擇明文攻擊和選擇密文攻擊,對加密后的彩色圖像做擴(kuò)散處理,形成密文圖像。
超混沌系統(tǒng)方程[9]如下:
其中,a,b,c,d及k均為系統(tǒng)的控制參數(shù),當(dāng)a=35,b=3,c=7,d=12,且k處于區(qū)間(0.798,0.900]時(shí),系統(tǒng)呈現(xiàn)超混沌狀態(tài)。圖1給出了當(dāng)參數(shù)在a=35,b=3,c=7,d=12,k=0.8條件下系統(tǒng)的仿真結(jié)果。此時(shí),該系統(tǒng)具有兩個(gè)正的Lyapunov指數(shù),滿足超混沌特性。它與低維混沌系統(tǒng)相比,所表現(xiàn)的動力學(xué)特性更加復(fù)雜,大大增加了該系統(tǒng)的隨機(jī)性[10]。并且超混沌系統(tǒng)具有比一般的混沌系統(tǒng)更為復(fù)雜的相空間,因此將其用于彩色圖像加密算法更加安全有效。
圖1 超混沌吸引子在k=0.8時(shí)的仿真結(jié)果
本文提出的置亂方法是利用超混沌系統(tǒng)所產(chǎn)生的序列對彩色圖像的像素位置進(jìn)行改變,與低維混沌系統(tǒng)置亂方法相比較,隨機(jī)性和保密性能大大提高,從而能夠抵御一般混沌系統(tǒng)的破譯方法。實(shí)現(xiàn)的具體步驟如下:
1)確定參數(shù)a、b、c、d及k的值,使式(1)為超混沌 系 統(tǒng) 。 給 定 初 值 x0、y0、z0、w0,首 先 利 用 Runge-Kutta算法將系統(tǒng)迭代n次,以防止過渡效應(yīng)。繼續(xù)迭代式(1),產(chǎn)生四個(gè)混沌實(shí)值序列x、y、z、w。
2)將步驟2)產(chǎn)生的序列{x1,x2,…,xM}按從小到大的順序排列,形成一個(gè)有序序列{x1',x2',…,xM'},確定原序列在該有序序列中的位置,從而得到一個(gè)置亂地址集合{k1,k2,…,kM},ki∈[1,M]。
3)按照類似方法分別由實(shí)值序列{y1,y2,…,yN}和{z1,z2,…,zN}得到地址集合{p1,p2,…,pN}和{s1,s2,…,sN},其中pi、si∈[1,N]。
4)記原始圖像為I,完成對圖像的R、G、B三層像素置亂。原始圖像各層的像素在某一點(diǎn)(i,j)經(jīng)過置亂,其位置處于(ki,sj)處。
置亂后的圖像Is破壞了原圖像相鄰像素點(diǎn)間的相關(guān)性,像素點(diǎn)的位置完全改變,但由于圖像本身的灰度值并未發(fā)生變化,加密安全性固然不高,需做進(jìn)一步加密。
為了提高加密算法的安全性,利用超混沌系統(tǒng)對Is的像素灰度值進(jìn)行混亂和擴(kuò)散,具體步驟為
1)記置亂后的Is三層顏色空間分別為矩陣R1、G1、B1。將矩陣R1整合為一個(gè)M×N的序列{r11,r21,…,rn1,r12,…,rM×N},記為 Rs。同理,對 G1、B1 整合得到 Gs:{g11,g21,…,gn1,g12,…,gM×N}和 Bs:{b11,b21,…,bn1,b12,…,bM×N}。合并 Rs,Gs及 Bs為一個(gè)3×(M×N)的矩陣X=[Rs;Gs;Bs]。
2)超混沌系統(tǒng)所產(chǎn)生的三個(gè)長度為M×N的實(shí)值序列分別為 y:{y1,y2,…,yM×N},z:{z1,z2,…,zM×N},w:{w1,w2,… ,wM×N},同樣將他們合并為一個(gè)3×(M×N)的矩陣Y=[y;z;w]。
3)按照下面的公式對矩陣Y做離散化處理,使得矩陣中所有元素全部位于[0,255]之間。
Yi=uint8(mod(abs(Yi)*(10^14),256))
4)完成灰度值的混亂。其中,混亂之后的ri、gi、bi分別是(ri,gi,bi)中與超混沌矩陣(yi,zi,wi)中的最小值、次小值、最大值相對應(yīng)的元素,得到的矩陣記為Z。
5)分解Y、Z為三個(gè)M×N的序列,按照下面的公式對Z進(jìn)行擴(kuò)散處理:
其中,m=1,2,…,M*N;Z(m)為被處理的灰度值;Y(m)為超混沌序列,C(m-1)是上一級的處理所得到的灰度矩陣;⊕為異或符號。
6)處理[C]3×(M×N),得到三個(gè)M×N的序列,利用公式(4)合成加密后的彩色圖像,完成Is的加密。
解密算法是加密算法的逆過程,確定與加密算法相同的密鑰,即可恢復(fù)原圖。
取a=35,b=3,c=7,d=12,k=0.8;初值分別為x10=1.4576、x20=-0.5380、x30=1.6787、x40=1.5192;迭代次數(shù)n=100。加密密鑰與解密密鑰相同。對大小為256×256的couple圖像I(如圖2(a)所示)加密,仿真后的密文圖像如圖2(b)。由(b)可知,加密后的圖像雜亂無章,毫無規(guī)律,完全不同于明文圖像。圖2(c)為正確解密后的圖像,與明文圖像完全相同。
圖2 明文圖像、密文圖像及解密圖像
4.2.1 密鑰空間分析
一個(gè)好的加密算法必須確保有足夠大的密鑰空間[11]。本算法令參數(shù)k、初值及迭代次數(shù)為加密密鑰,若將精度設(shè)置為1014,密鑰空間就超過了1084。因此該密鑰空間足以抵抗窮舉攻擊。
4.2.2 灰度直方圖分析
如圖3所示,(a)、(b)、(c)分別是明文圖像R層、G層、B層的灰度直方圖;(d)、(e)和(f)分別是密文圖像R層、G層、B層的灰度直方圖。
圖3 明文圖像及密文圖像的灰度直方圖
從圖3中的直方圖中可以看出,密文圖像的灰度直方圖分布趨于均勻化,完全不同于明文圖像的分布規(guī)律,這表明密文圖像的像素灰度值在區(qū)間范圍內(nèi)取值概率是均等的。從而驗(yàn)證了本算法具有良好的擾亂性和統(tǒng)計(jì)特性,達(dá)到了擴(kuò)散和混亂的目的[12]。
4.2.3 密鑰敏感性分析
為了測試算法的密鑰敏感性,對其中一個(gè)密鑰稍加改動,例如對參數(shù)k進(jìn)行改動,其他密鑰不變,密鑰是取k=0.8,在這里令參數(shù)k=0.8000001,用上述算法對密文圖像解密,結(jié)果如圖4(a)所示,未能得到正確的解密圖像。再如,令初值x10=1.45760000001,仿真結(jié)果如圖4(b),仍得不到與明文圖像相同的圖像。這表明本文提出的加密算法能抵抗各種敏感性的攻擊。
圖4 錯(cuò)誤解密的圖像
4.2.4 差分攻擊
為了驗(yàn)證本算法抵抗差分攻擊的能力,引入下面兩個(gè)量:像素變化率NPCR和歸一化平均變化強(qiáng)度UACI[13]。它們分別表示對明文圖像某一點(diǎn)的像素值稍作改變,密文圖像中所改變的像素值的數(shù)目占總像素值的比例以及變化程度,具體表達(dá)式如式(5)和式(6)。
其中,J1(i,j)和J2(i,j)只有一個(gè)像素之差的兩個(gè)密文圖像J1、J2在(i,j)處的像素值,定義矩陣D是一個(gè)和J1、J2同樣大小的二值矩陣,若 J1(i,j)=J2(i,j),則D(i,j)=1;否則,D(i,j)=0。
將明文圖像I的R層中位于(1,28)處的像素值由 27變?yōu)?26,根據(jù)式(5)和(6),求得 NPCR=86.55%,UACI=33.47%。對于一個(gè)理想的加密算法,像素變化率應(yīng)該足夠大,而歸一化平均變化強(qiáng)度應(yīng)該足夠小[14]。而針對上面所求NPCR和UACI的結(jié)果可知,明文圖像改變一位像素值,可以引起密文圖像幾乎完全改變,所以加密算法的抗差分攻擊能力強(qiáng)。
4.2.5 相鄰像素點(diǎn)的相關(guān)性分析
分別從明文圖像和密文圖像中隨機(jī)地選取3000對像素點(diǎn),按照以下公式[15,18]求出兩相鄰像素點(diǎn)的相關(guān)性,求出的相關(guān)系數(shù)結(jié)果如表1。
其中,x、y是圖像中兩個(gè)相鄰點(diǎn)的像素灰度值,rxy是對應(yīng)點(diǎn)的相關(guān)系數(shù)。
表1 明文和密文中兩相鄰像素點(diǎn)的相關(guān)系數(shù)
圖5 相鄰像素相關(guān)性分析
表1顯示明文圖像和密文圖像中兩個(gè)相鄰像素點(diǎn)間的相關(guān)系數(shù)。由表1可知,明文圖像在個(gè)方向上的相關(guān)度接近1,其相鄰像素是高度相關(guān)的;而密文圖像的相關(guān)度接近0,相鄰像素間幾乎不相關(guān)。根據(jù)式(7)~(10)仿真得到圖5,它顯示了明文圖像與密文圖像在水平方向上的相關(guān)性,可以看出,明文圖像的相關(guān)性呈線性關(guān)系,而密文圖像相關(guān)性呈明顯的隨機(jī)特性。表1和圖5均說明,明文圖像的統(tǒng)計(jì)特性已被擴(kuò)散到密文圖像當(dāng)中,從而驗(yàn)證了加密算法良好的擴(kuò)散特性。
本文利用復(fù)雜的四維超混沌系統(tǒng),提出一種新的加密算法對彩色圖像進(jìn)行加密。該算法將像素灰度值置亂和雙層替代相結(jié)合,不僅與密鑰相關(guān),且與明文圖像相關(guān),算法的隨機(jī)特性大大增加。仿真結(jié)果表明,本算法具有相當(dāng)可觀的密鑰空間,對密鑰和明文極其敏感,具有較好的擾亂性和擴(kuò)散性。算法分析表明,本算法能夠抵抗各種不同的攻擊,因此算法安全性很高,適用于彩色圖像的安全適時(shí)傳輸通信。
[1]劉云,鄭永愛.基于混沌系統(tǒng)的彩色圖像加密新方案[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(3):90-93.
LIU Yun,ZHENG Yongai.Novel encryption scheme for color image based on chaotic system[J].Computer Engineering and Applications,2011,47(3):90-93.
[2]何松林.基于混沌序列的數(shù)字彩色圖像加密算法[J].計(jì)算機(jī)工程,2011,37(10):114-116.
HE Songlin.Encryption Algorithm for Digital Color Image Based on Chaotic Sequences[J].Computer Engineering,2011,37(10):114-116.
[3]SBehnia,A khshani,H Mahmodi,A Akhavan.A novel algorithm for image encryption based on mixture of chaotic maps[J].Chaos,Solitons and Fractals,2006,5(14):1-12.
[4]朱志良,張偉,于海.基于Lorenz混沌系統(tǒng)的MPEG視頻加密算法[J].Computer Applications,2008,28(12):3003-3006.
ZHUZhiliang,ZHANGWei,YUHai.MPEGvideo encryption algorithmbased on Lorenz chaotic system[J].Computer Applications,2008,28(12):3003-3006.
[5]姚翔輝,禹思敏.基于Lorenz混沌系統(tǒng)的數(shù)字視頻加密[J].微型機(jī)與應(yīng)用,2011,30(4):41-43.
YAO Xianghui,YU Simin.Digital video encryption based on Lorenz chaotic system[J].Microcomputer&Its Applications,2011,30(4):41-43.
[6]TANG L.Methods for encrypting and decrypting MPEG video data efficiently[C]//Proceedings of the 4th ACM International Conference on Multimedia,New York:ACM,1996:219-230.
[7]劉金梅,丘水生,劉偉平.基于超混沌系統(tǒng)的圖像加密算法的安全性分析[J].計(jì)算機(jī)應(yīng)用研究,2010(3):1042-1044.
LIUJinmei,QINShuisheng,LIUWeiping.Crypt an analysis of image encryption algorithm based on hyper-ch aotic system[J].Application Research of Computer,2010(3):1042-1044.
[8]盛蘇英,吳新華.一種新的圖像加密算法研究與應(yīng)用[J].微電子學(xué)與計(jì)算機(jī),2011,28(2):124-128.
SHENG Suying,WU Xinhuang.Study and Application of a New Image Encryption Encryption Algorithm[J].Microelectronics&Computer,2011,28(2):124-128.
[9]蘇莉萍,馮健.基于混沌的圖像置亂加密算法及MATLAB的實(shí)現(xiàn)[J].裝備制造技術(shù),2007(8):79-81.
SULiping,F(xiàn)ENGJian.The Realization of Image Randomly Encryption Algorithm Based on Logistic Chaotic Sequence and MATLAB[J].Equipment Manufacturing Technology,2007(8):79-81.
[10]王靜,蔣國平.一種超混沌圖像加密算法的安全性分析及其改進(jìn)[J].物理學(xué)報(bào),2011,9(30):1-10.
WANG Jing,JIANG Guoping.Crypt analysis of a hyper-chaotic image encryption algorithm and its improved version[J].Acta Physica Sinica,2011,9(30):1-10.
[11]趙懷勛,程甲.基于三維超混沌系統(tǒng)的彩色圖像加密算法[J].微電子學(xué)與計(jì)算機(jī),2010,27(2):72-74.
ZHAO Huaixun,CHENG Jia.Color image encryption algorithm based on three dimensional hyper-chaotic system[J].Microelectronics&Computer,2010,27(2):72-74.
[12]Wang Wei,Liu Fen-lin.Color Image Encription algorithm based on Hyper Chaos[J].ICIME,2010,4(2):271-274.
[13]Xiaojun Tong,Minggen Cui.Image encryption with compound chaotic sequence cipher shifting dynamically[J].Image and Vision Computing,2008,26(6):843-850.
[14]FRIDRICH J.Symmetric ciphers based on two-dimensional chaotic maps[J].International Journal of Bifurcation and Chaos,1998,8(6):1259-1284.