謝國波,姜先值
廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州 510003
近幾年隨著的互聯(lián)網(wǎng)高速發(fā)展,圖像信息在傳遞過程中的安全問題受到越來越多的關(guān)注,為此如何在圖像傳輸時(shí)進(jìn)行加密處理引起國內(nèi)外學(xué)者的廣泛關(guān)注。圖像信息不同于普通文本信息,其自身數(shù)據(jù)具有很強(qiáng)的相關(guān)性和冗余性,而傳統(tǒng)的數(shù)據(jù)加密算法(DES)、公鑰算法(RSA)、橢圓曲線算法(ECC)很難適用于圖像加密中。近年來,專家指出混沌系統(tǒng)具有對(duì)初始條件的高度敏感性、正Lyapunov指數(shù)、分形與分維性等特點(diǎn)[1],陸續(xù)提出了多種基于混沌系統(tǒng)的圖像加密方法[2-5]。如一次一密、比特加密、數(shù)學(xué)模型加密和DNA序列加密,但上述方法存在一定的缺陷,如一次一密密鑰在傳遞和分發(fā)上存在很大困難,比特加密方法在進(jìn)行加密時(shí)需將像素值全部轉(zhuǎn)換成二進(jìn)制進(jìn)行圖像加密,這樣加密效率比較低,很耗時(shí);數(shù)學(xué)模型加密方法需考慮的因素不利于加密算法的實(shí)現(xiàn);DNA序列加密方法中的像素相關(guān)系數(shù)較高容易遭受攻擊者解密。
針對(duì)上述加密方法存在的不足之處,本文提出了一種基于二維離散分?jǐn)?shù)階Fourier變換的雙混沌交錯(cuò)圖像加密算法。該算法直接根據(jù)明文像素值進(jìn)行加密和生成密鑰,能夠很好地解決圖像加密的效率和密鑰傳輸?shù)膯栴},除此之外還引入高緯度的混沌系統(tǒng)與分?jǐn)?shù)階Fourier變換進(jìn)行加密,不但簡(jiǎn)化加密系統(tǒng)的實(shí)現(xiàn),而且降低密文圖像像素的相關(guān)性。首先以8×8為單位對(duì)明文矩陣分割處理,根據(jù)得到分割矩陣生成輔助密鑰矩陣,再與輸入的密鑰進(jìn)行算數(shù)運(yùn)算得到高維Logistic映射和Chebyshev映射的輸入密鑰,這樣能根據(jù)不同的明文生成不同的混沌序列,使選擇明文(密文)攻擊的方法失效。其次,本文引入了分?jǐn)?shù)階Fourier變換,對(duì)經(jīng)過高維Logistic映射和Chebyshev映射的中間密文進(jìn)行二次加密,進(jìn)一步增加圖像安全性,擴(kuò)大了密鑰空間,增強(qiáng)密文魯棒性。最后對(duì)分?jǐn)?shù)階Fourier變換的輸出矩陣進(jìn)行Arnold置亂操作。實(shí)驗(yàn)仿真表明,本文加密算法除了提高抗差分攻擊能力和抗統(tǒng)計(jì)分析能力外,還大大改善圖像分布不均的情況。
分?jǐn)?shù)Fourier變換它是一種線性算子,其中式(1)為分?jǐn)?shù)階Fourier變換的定義為[6-7]:
其中,分?jǐn)?shù)階Fourier變換的核函數(shù)為式(2):
對(duì)于數(shù)字圖像的處理,需要用到二維分?jǐn)?shù)階Fourier變換處理,其中式(3)為二維連續(xù)分?jǐn)?shù)階Fourier定義[8]:
其中,x(s ,t)是原始二維信號(hào),二維FRFT的變換核為式(4):
其中,α=p1π/2,β=p2π/2。而對(duì)于數(shù)字圖像而言是用到二維離散FRFT變換[9],式(5)與式(6)為二維離散FRFT變換及其逆變換:
針對(duì)數(shù)字圖像的灰度值及像素位置的情況,本文使用高維度的Logistic映射及Chebyshev映射進(jìn)行雙混沌擴(kuò)散運(yùn)算,使用Arnold映射進(jìn)行像素置亂操作。
Logistic映射在混沌系統(tǒng)中是一個(gè)典型的離散動(dòng)力模型,但是低維的Logistic便利性較差,存在周期窗口,無法抵制動(dòng)力學(xué)退化現(xiàn)象,因此引用高維Logistic映射,其定義如公式(7)、(8)所示[10]:
Chebyshev映射是一維混沌系統(tǒng)的典型映射,定義如式(9)所示:
式(9)中,β為控制參數(shù),且 -1≤xn≤1。當(dāng)β≥2時(shí),系統(tǒng)進(jìn)入混沌狀態(tài)。在混沌狀態(tài)下產(chǎn)生的混序列具有很好的隨機(jī)性和很強(qiáng)的不相關(guān)性,并且零均值白噪聲統(tǒng)計(jì)特性和遍歷統(tǒng)計(jì)特性一致,適用于在圖像加密中使用。
Arnold變換又稱為貓映射,最初由俄國數(shù)學(xué)家Arnold引入,經(jīng)典的二維Cat映射具體表達(dá)式為式(10)所示[11]:
式(9)中N表示是數(shù)字圖像矩陣的階數(shù),而其更多采用矩陣形式,其中二維Arnold矩陣表達(dá)如式(11)所示:
本文提出的加密算法不同于傳統(tǒng)加密方法,加密密鑰不是直接由輸入值生成,而是與明文緊密相連。也不同于傳統(tǒng)的分?jǐn)?shù)階Fourier變換圖像加密,先通過混沌序列對(duì)圖像進(jìn)行置亂,再進(jìn)行分?jǐn)?shù)階Fourier變換導(dǎo)致密文輕易被破解。該算法首先根據(jù)明文生成一個(gè)輔助密碼矩陣,然后與輸入初始密鑰進(jìn)行算術(shù)運(yùn)算得到密鑰矩陣,再進(jìn)行混沌加密。將得到加密的圖像進(jìn)行分?jǐn)?shù)階Fourier變換,最后進(jìn)行Arnold置亂達(dá)到加密效果。該算法的加密過程如圖1所示。
圖1 圖像加密與解密過程
普通灰階圖像尺寸大小一般為m×n,為了便于算法的討論,設(shè)A表示為256×256的灰階圖像,對(duì)于不是8的倍數(shù)的行列,可用0填充像素值,使行列變成8的倍數(shù)。
步驟1首先對(duì)圖像A進(jìn)行行列分割,將矩陣A分別割成64×64個(gè)8×8的矩陣,且矩陣像素值的范圍在[0,255]之間。
步驟2將每個(gè)8×8的像素值范圍映射到[0,1]之間,并求出每個(gè)8×8矩陣像素值的平均值,如第一個(gè)8×8矩陣像素之和為sum1,其像素平均值為avg1。故由圖像A可得到一個(gè)64×64的二維像素平均值矩陣,且像素平均值范圍在[0,1]之間。
步驟3將步驟2的得到二維矩陣的奇數(shù)行與高維Logistic映射輸入的ε相乘,步驟2的得到二維矩陣的偶數(shù)數(shù)行與Chebyshev映射輸入的y0相乘得到一個(gè)新的64×64的二維矩陣。
步驟4取步驟3生成二維矩奇數(shù)數(shù)列元素分別作為高維Logistic映射初始密鑰生成混沌序列。以第一行元素a11為例,找到a11對(duì)應(yīng)的8×8的二維矩陣,將a11對(duì)應(yīng)的8×8的維矩陣轉(zhuǎn)換成L1={l1,l2,…,l64},輸入到高維logistic映射當(dāng)中,生成a11像素對(duì)應(yīng)的K1={l1,l2,…,l64},然后將轉(zhuǎn)換成新的8×8的二維加密矩陣。其中,l1,l2,…,l64分別作為xn()i的輸入值。n=1,3,5,7,…表示為第奇數(shù)個(gè)8×8二維矩陣;i=1,2,…,64表示為第奇數(shù)個(gè)8×8二維矩陣轉(zhuǎn)化成一維矩陣L1={l1,l2,…,l64}對(duì)應(yīng)的像素位置,且取L=8×8,( )pq+1-pq=1。
步驟5取步驟3生成的二維矩陣偶數(shù)列a12元素分別作為Chebyshev映射初始密鑰生成混沌序列。以第一行元素為例,取其元素a12生成混沌序列L2={l1,l2,…,l200,…,l264},去掉L2前200個(gè)元素取后面64個(gè)元素生成K2={l201,l202,…,l264},然后將轉(zhuǎn)換成8×8的二維數(shù)組。
步驟6將a11,a12,a13,…,a164分別對(duì)應(yīng)生成的8×8的二維數(shù)組,拼接在一起生成新8×256二維數(shù)組。剩余的8×8的二維數(shù)組同理根據(jù)步驟4、步驟5,生成對(duì)應(yīng)的密鑰矩陣,最終得到一個(gè)奇偶交錯(cuò)的256×256雙混沌矩陣,其原理圖如圖2所示。
圖2 雙混沌交錯(cuò)矩陣
此階段與傳統(tǒng)分?jǐn)?shù)階Fourier變換不一樣,傳統(tǒng)分?jǐn)?shù)階Fourier變換是先通過混沌置亂然后再進(jìn)行分?jǐn)?shù)階Fourier變換,而本文是經(jīng)過雙混沌擴(kuò)散運(yùn)算后,再分別進(jìn)行X方向α階DFRFT變換與Y方向β級(jí)DFRFT變換,最后才進(jìn)行Arnold映射置亂,這樣做的目的是為了改進(jìn)傳統(tǒng)分?jǐn)?shù)階Fourier變換加密圖像的不均勻等特性。
步驟1將得到的256×256雙混沌交錯(cuò)矩陣與圖像A像素值進(jìn)行異或運(yùn)算,可得到一個(gè)新的256×256密文矩陣,使得圖像A中像素的灰度值全部被改變,得到加密效果。
步驟2把步驟1中得到的加密矩陣看做一個(gè)行向量M=(M1,M2,…,M256),其中,M1=(m1,m2,…,m256)。T根據(jù)輸入的參數(shù)α對(duì)向量M進(jìn)行X方向的α階的Fourier變換(DFRFT),最后可得一個(gè)新的加密復(fù)數(shù)矩陣。
步驟3把步驟2中得到的加密復(fù)數(shù)矩陣看做一個(gè)列向量根據(jù)輸入的參數(shù)β對(duì)向量N進(jìn)行Y方向的β階的Fourier變換(DFRFT),又可得一個(gè)新的加密復(fù)數(shù)矩陣。
步驟4把得到的復(fù)數(shù)矩陣進(jìn)行Arnold圖像置亂,如公式(12)所示,其中[x′,y′]T為[x,y]經(jīng)過第一亂置換得到的新坐標(biāo),把得到的復(fù)數(shù)矩陣進(jìn)行200次Arnold映射,其中N=[length(A)+width(A)]/2。
圖像解密過程是圖像加密的逆過程,實(shí)現(xiàn)程序大致一致。
本文對(duì)圖像的加密/解密算法是在Matlab 2014a的基礎(chǔ)上,對(duì)256×256的灰階Lena圖進(jìn)加密。實(shí)驗(yàn)過程中,高維Logistic映射與Chebyshev映射輸入初始密鑰如下所示:ε=0.314 852 245 6,y0=0.425 852 732 0,其中雙混沌系統(tǒng)設(shè)定的控制參數(shù)u=3.954 895 423 9,β=3.142 594 643 1。而二維離散分?jǐn)?shù)階Fourier變換的控制參數(shù)X方向α=0.456 753 457 8,Y方向的β=0.657 7693 345。最終得到的實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 加密/解密圖
對(duì)于圖像統(tǒng)計(jì)特性的分析,主要從以下兩方面進(jìn)行分析:一方面是通過將明文圖像與加密圖像的灰度直方圖進(jìn)行分析,另一方面通過它們的元素之間的相關(guān)性進(jìn)行評(píng)價(jià)分析。
4.2.1 直方圖分析
通過本算加密后的灰度直方圖如圖4(c)所示,與明文圖像圖4(a)相比較,加密后圖像的灰度能更好地隱藏圖像信息,與圖4(b)[12]這種傳統(tǒng)分?jǐn)?shù)階Fourier變換相比,改善了其粗糙不光滑的現(xiàn)象,能夠有效地抵制基于明文像素值的統(tǒng)計(jì)攻擊,達(dá)到很好的加密效果。
4.2.2 統(tǒng)計(jì)學(xué)分析
選取圖像任意一組相鄰行或列像素點(diǎn)進(jìn)行相關(guān)性分析,通過式(13)~(16)可以計(jì)算出像素之間得到相關(guān)系數(shù)。式中,x和y分別表示圖像相鄰元素的灰度值,cov()表示協(xié)方差,E()表示數(shù)學(xué)期望:
從明文和密文中隨機(jī)去相鄰兩組做相關(guān)系數(shù)圖,如圖5所示,其中圖5(a)中明文關(guān)系數(shù)圖中像素點(diǎn)之間分布斜率趨近于1,像素值之間存在很強(qiáng)的線性相關(guān)性。而圖5(b)中密文相關(guān)圖中像素點(diǎn)分布很散亂,像素值之間幾乎沒有任何關(guān)聯(lián)。
計(jì)算明文圖像與密文圖像水平、垂直和對(duì)角線方向相鄰像素點(diǎn)之間的相關(guān)系數(shù),并與文獻(xiàn)[13-15]進(jìn)行比較得表1。由表1可知,明文相關(guān)系數(shù)接近于1,說明其相鄰像素點(diǎn)具有強(qiáng)相關(guān)。而密文相關(guān)系趨于0,說明其相鄰像素點(diǎn)具有弱相關(guān)。且表1顯示,本文加密算法的γxy更加小,能夠更好擾亂像素之間相關(guān)性,達(dá)到更好的加密效果。
圖4 灰度直方圖
圖5 相鄰像素關(guān)系
表1 相鄰像素相關(guān)系數(shù)表
對(duì)于圖像加密算法的抗差分攻擊的分析,主要從兩方面進(jìn)行分析:(1)對(duì)初始值的敏感性;(2)明文敏感性分析。
4.3.1 初始值的敏感性分析
初值敏感性是指一旦輸入解密密鑰發(fā)生微小變化,將導(dǎo)致解密圖像產(chǎn)生顯著變化,無法得到真實(shí)圖像。本文采用雙混沌系統(tǒng)和二維離散分?jǐn)?shù)階Fourier變換進(jìn)行加密,其中圖6(a)為正確解密密鑰K1=[ε,y0,α,β],其中 ε=0.314 852 245 6,y0=0.425 852 732 0,α=0.456 753 457 8,β=0.657 769 334 5,當(dāng)ε,y0,α,β分別發(fā)生微小變化時(shí)分別得到解密密鑰K2,K3,K4,K5,其中,K2中ε=0.314 852 245 7,其他值不變得解密圖6(b),K3中y0=0.425 852 732 1,其他值不變得解密圖6(c),K4中α=0.456 753 457 7,其他值不變得解密圖6(d),K5中β=0.657 769 334 4,其他值不變得解密圖6(e)。由圖6可見,即使解密密鑰發(fā)生10-10的微小變化也無法成功解密,因此該算法具有很好的初值敏感性,能夠有效抵抗差分攻擊。
4.3.2 明文敏感性分析
對(duì)明文的敏感性是指當(dāng)圖像中的像素值發(fā)生微小變化時(shí),都會(huì)得到截然不同的密文圖像。本文通過明文像素值引入輔助矩陣,來增強(qiáng)密文對(duì)明文的依賴性,增強(qiáng)明文敏感性。一般采用NPCR(像素變化率)和UACI(歸一化像素平均變化)這兩個(gè)參數(shù)進(jìn)行明文敏感性分析。取兩幅密文圖像M1和M2,它們之間僅僅在位置(i,j)之間像素值不同。當(dāng)M1(i,j)=M2(i,j)時(shí),則D(i,j)=0;否則,D(i,j)=1。NPCR與UACI的值見式(17)、(18),其中M,N為密文圖像的行和列:
運(yùn)用該算法輸入相同密鑰,進(jìn)行兩次加密,得到兩幅密文圖像。將其中一幅圖像(55,198)位置的像素值189改成 190,根據(jù)式(16)、(17)可得 NPCR=99.64%,UACI=33.78%。由此可見該算法明文敏感性很強(qiáng),能夠有效抵抗差分攻擊。
加密算法的攻擊分析,通常是在告知攻擊者詳細(xì)的加密流程,只是對(duì)攻擊者隱瞞密鑰的情況下進(jìn)行分析的。這個(gè)顯著的要求在當(dāng)今的安全網(wǎng)絡(luò)中通常被稱為Kerckhoff[16]原則。下面是Kerckhoff原則下四種經(jīng)典的攻擊:
(1)唯密文攻擊(Ciphertext only attack)
攻擊者手中除了截獲的密文外,沒有其他任何輔助信息。
(2)已知明文攻擊(Known plaintext attack)
攻擊者除了掌握密文,還掌握了部分明文和密文的對(duì)應(yīng)關(guān)系。
(3)選擇明文攻擊(Chosen plaintext attack)
圖6 正確/錯(cuò)誤解密圖
攻擊者知道加密算法,同時(shí)能夠選擇明文并得到相應(yīng)明文所對(duì)應(yīng)的密文。
(4)選擇密文攻擊(Chosen ciphertext attack)
攻擊者知道加密算法,同時(shí)可以選擇密文并得到對(duì)應(yīng)的明文。
顯然選擇明文攻擊是最有效的攻擊方法,加入加密算法能夠有效抵制這種方法的攻擊,也就能夠有效抵制其他方法的攻擊了。
然而選擇性明文攻擊這類破解方法在本文加密算法中是不適用的。主要有下面兩方面原因:其一,本文加密算法的輸入密鑰是基于輔助密鑰產(chǎn)生的,而輔助密鑰又是基于明文圖像產(chǎn)生的,想通過像素值全為0的二維圖像矩陣進(jìn)行異或操作得到密鑰最終得到明文圖像這方法幾乎不可能。其二,本文加密算法對(duì)密鑰的敏感性相當(dāng)高,只要輸入密鑰有10-10的微小變基本都無法進(jìn)行密文的破解。綜上所述,本文的加密方法能夠有效抵制選擇明文攻擊。
本文輸入密鑰都是采用雙精度類型,其有效數(shù)據(jù)能達(dá)到16位,根據(jù)雙混沌加密系統(tǒng)輸入?yún)?shù)ε,y0與二維離散分?jǐn)?shù)階Fourier變換α,β輸入密鑰空間至少達(dá)到1064,若將其他輸入?yún)?shù)也當(dāng)做輸入密鑰的話,密鑰空間將會(huì)變得更大,想通過窮舉攻擊來解密幾乎不可能。由此可見,本文密鑰空間能夠有效抵制窮舉攻擊,確保圖像的安全傳輸。
針對(duì)現(xiàn)今混沌圖像加密算法存在的一些不足之處,本文提出了一種全新的圖像加密算法。該算法主要有兩方面特點(diǎn):第一,對(duì)于混沌序列的輸入密鑰,本文是借助明文圖像生成,并隨明文圖像改變而改變的,能夠有效抵制明文(密文)圖像攻擊;第二,本文引入二維離散分?jǐn)?shù)階Fourier變換進(jìn)行圖像加密,不但增強(qiáng)加密圖像的復(fù)雜性,還大大改善傳統(tǒng)二維離散分?jǐn)?shù)階Fourier變換灰階直方圖不夠平滑的缺點(diǎn)。實(shí)驗(yàn)證明,本算法不單單具有較好的加密效果,而且具有較高的安全性。
[1]禹思敏.混沌系統(tǒng)與混沌電路:原理、設(shè)計(jì)及其在通訊中的應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2011.
[2]Liu H,Wang X.Color image encryption based on onetime keys and robust chaotic maps[J].Computers&Mathematics with Applications,2010,59(10):3320-3327.
[3]Liu H,Wang X.Color image encryption using spatial bitlevel permutation and high-dimension chaotic system[J].Optics Communications,2011,284(16):3895-3903.
[4]Wang X Y,Yang L,Liu R,et al.A chaotic image encryption algorithm based on perceptron model[J].Nonlinear Dynamics,2010,62(3):615-621.
[5]Liu H,Wang X,Kadir A.Image encryption using DNA complementary rule and chaotic maps[J].Applied Soft Computing,2012,12(5):1457-1466.
[6]Mendlovic D,Ozaktas H M.Fractional Fourier transforms and their optical implementation(I)[J].Journal of the Optical Society of America A,1993,10(9):1875-1881.
[7]Ozaktas H M,Mendlovic D.Fractional Fourier transforms andtheir optical implementation(II)[J].Journal of the Optical Scoiety of America A,1993,10(12):2522-2531.
[8]王雅慶,周尚波.基于分?jǐn)?shù)階Fourier變換的數(shù)字圖像加密算法研究[J].計(jì)算機(jī)應(yīng)用研究,2011,28(7):2738-2741.
[9]尚宇雄,尚宇.基于分?jǐn)?shù)階Fourier變換的圖像加密算法[J].電子元器件應(yīng)用,2011(3):52-54.
[10]Zhang Y Q,Wang X Y.A new image encryption algorithm based on non-adjacent coupled map lattices[J].Applied Soft Computing,2014,26:10-20.
[11]吳成茂.離散Arnold變換改進(jìn)及其在圖像置亂加密中的應(yīng)用[J].物理學(xué)報(bào),2014,63(9):83-102.
[12]Ye Guodong.Image scrambling encryption algorithm of pixel bit based on chaos map[J].Pattern Recognition Letters,2010,31(5):347-354.
[13]Liu S B,Sun J,Xu Z Q.An improved image encryption algorithm based on chaotic system[J].Journal of Computers,2009,11(4):1091-1100.
[14]Liao X F,Lai S Y,Zhou Q.A novel image encryption algorithm based on self-adaptive wave transmission[J].Signal Processing,2010,90(9):2714-2722.
[15]Kanso A,Ghebleh M.A novel image encryption algorithm based on a 3D chaotic map[J].Communications in Nonlinear Science and Numerical Simulation,2012,17(4):2943-2959.
[16]Wang Xingyuan,Teng Lin,Qin Xue.A novel colour image encryption algorithm based on chaos[J].Signal Processing,2012,92(4):1101-1108.