圖像文件加密算法之離散傅里葉變換和雙混沌映射相融合加密

為了充分利用在圖像頻率域和空間域加密的優(yōu)勢,進一步提高圖像加密系統(tǒng)的安全性,我們提出了一種基于離散的傅里葉變換和雙混沌映射的圖像加密算法,同時對圖像的頻率域和空間域進行加密。

一、二維離散的傅里葉變換

本文利用二維離散的傅里葉變換將圖像的灰度分布函數(shù)變換為圖像的頻率分布函數(shù),傅立葉逆變換將圖像的頻率分布函數(shù)變換為灰度分布函數(shù),并對圖像頻率域中的幅度和相位進行移位處理。輸入一個矩形邊長為M×N的圖像,并用二維離散傅里葉函數(shù)f(x,y)中的x、y設定圖像的空間域,F(xiàn)(u,v)中u、v設定圖像的頻率域。

其中,u、v為頻率變量(其中u=O,1,2,…,M-1;v=0,1,2,…,N-1);x、y為空間變量(其中x=0,1,2,…,M-1;y=0,1,2,…,N-1)。對式(1)進行逆變換,可得二維離散傅里葉逆變換:

其中的x=0,1,2,…,M-1,y=0,1,2,…,N-1。另外,由式(1)可知,圖像經(jīng)傅里葉變換后得到的是復數(shù)形式,很難表示圖像的信息,因此分別用R(u,v)和I(u,v)來表示F(u,v)的實數(shù)部分和虛數(shù)部分,其中,幅度或頻率譜為式(3),相角或相位譜為式(4):

因此,根據(jù)二維傅里葉變換特性,通過式(2)、式(3)、式(4)就可以對頻率域u-v平面坐標系的頻率點進行處理,得到幅度譜和相位譜;通過式(1)、式(5)實現(xiàn)逆轉(zhuǎn)換處理,將頻率域轉(zhuǎn)換成空間域。

二、兩分段Tent映射

為了提高序列的偽隨機性能,本文采改進的兩分段Tent映射來對圖像頻率域中的相位及幅度進行置亂操作。

其中,a∈(O,1)為混沌映射參數(shù),晟為迭代次數(shù),y(k)是混沌序列x(k)的中間變量,并且給定的初始值x0、Yo必須滿足:XO∈(-0.5,0.5],Yo∈(O,1]。由式(6)經(jīng)K次迭代產(chǎn)生混沌序列{xk,k=l,2,…,K}。

由上可知,本文提出的兩分段Tent映射數(shù)學模型簡單,很容易產(chǎn)生混沌序列。經(jīng)大量仿真實驗表明,該映射法與一般的Tent映射相比,產(chǎn)生的擴頻碼分布均勻,相關性也很好,并且Lyapunov指數(shù)更大、混沌程度更高。因此,該映射能夠獲得很好的加密效果,被廣泛應用于保密通信和數(shù)據(jù)安全等領域中。

三、混沌Bernoulli移位映射

本文采用改進的混沌Bernoulli移位映射來對圖像空間域中的灰度值進行擴散操作。

式中,b為Bemoum參數(shù),應滿足條件1.4<b<2,此時,Bemoulli移位映射具有混沌特性。由于混沌Bernoulli移位映射和混沌Tent映射一樣具有一致的密度分布函數(shù),具有較低的自相關性,較高的偽隨機性能以及較強的不可預測性,因此能夠很好地適應密碼系統(tǒng)的要求。

四、基于離散傅里葉變換和兩混沌映射的圖像加密算法研究

步驟1 對待加密的明文圖像進行二維離散的傅里葉正變換。

(1)輸入一個矩形邊長為M×N的圖像,用傅里葉函數(shù)f(x,y)來設定圖像的灰度值。

(2)經(jīng)傅里葉正變換,將圖像的灰度分布函數(shù)f(x,y)變換為圖像的頻率分布函數(shù)F(u,v),并獲得圖像頻率域中的幅度譜|F(u,v)|和相位譜φ(u,v)。

步驟2利用改進的Tent映射對頻率幅值和相位進行置亂操作。

(1)給定初始值(x0, Yo)和(x0',y0'),x0'作為密鑰,其中x0,x’o∈(-0.5,0.5];Yo,y'0∈(0,1],a∈(0,1)。

(2)利用改進的Tent映射經(jīng)K次迭代產(chǎn)生混沌序列{Xk,k=1,2,…,K}及{X'k,k=l,2,…,K}。

(3)將上述產(chǎn)生的混沌序列分別對步驟1(2)獲得的圖像幅值和相位進行置亂處理,從而獲得新的頻率幅值及新的相位。

其中Pij為新幅值,pi'j為原幅值,Xij為帳篷序列值,L為圖像的尺寸。

同理,新相位與原相位及帳篷序列值的關系式為:

其中Mij為新相位,Mij'為原相位,xij為帳篷序列值,L為圖像的尺寸。

步驟3進行二維離散的傅里葉逆變換。將新的頻率幅值及相位進行DCT操作,使圖像的F(u,v)變換為f(x,y),從而獲得置亂圖像。

步驟4利用改進的Bernoulli映射對圖像進行像素值替換操作。

(1)給定初始值x0'';b0作為密鑰Ⅱ,其中-1/2≤0''≤1/2,1.4<b<2。

(2)利用混沌Bernoulli移位映射迭代N次,產(chǎn)生混沌序列{x,n=l,2,…,N}。為了消除瞬態(tài)效應,去掉前面的K個值,將K+1以后的混沌序列產(chǎn)生一個(M+N)的混沌實值序列{xl,x2,…,XM+N}。

(3)用混沌序列{xl,x2,…,XM+N}對置亂后的圖像進行灰度值替代操作,最終獲得密文圖像。

步驟5最后根據(jù)明文圖像的加密要求(包括抗窮舉攻擊、抗明文攻擊以及抗差分攻擊等),反復執(zhí)行上述所有的步驟。

解密過程為加密過程的逆過程。

五、仿真實驗及結(jié)果分析

借助仿真實驗對本文提出的基于傅里葉轉(zhuǎn)換和雙混沌映射的圖像加密新算法的安全性能進行驗證與分析。輸入一個256×256大小的明文圖像LEAK,色灰度256,在MTLAB軟件平臺上進行仿真實驗。文中分別給出了原始圖像,置亂圖像,和密文圖像以及各自對應的直方圖。原始圖像直方圖波動程度較大,其隨機性以及冗余性較低,很容易被攻擊者獲取圖像相關信息。而經(jīng)過本文提出的算法加密后的圖像灰度直方圖產(chǎn)生了顯著地變化。如圖3(c)所示,與前面(圖3(a)、(b))的分量直方圖相比,其灰度表現(xiàn)出均勻狀態(tài),擁有較高的圖像冗余性與偽隨機性。這顯示本文算法具有較好加密質(zhì)量,擴散和混亂特性好,安全性高。

1、相鄰兩個像素點的相關性分析

相關實驗表明,加密后圖像的兩個相鄰像素點的相關性越低,則表明安全性越好。本文任意擇取加密前與加密后的圖像中的1800對相鄰像素點,根據(jù)式(10)求得相關系數(shù)rxy。

其中,菇和y代表的是圖像中相鄰的兩個像素點的灰度值,n為選取的相鄰點數(shù)量,E(x)為數(shù)學期望。

明文圖像的相鄰像素值變?yōu)橐粭l對角線,表明其具有較強的相關性;而經(jīng)過本文提出的圖像加密系統(tǒng)加密后,像素值均勻地布滿了整個灰度平面(,其相關性顯著降低。

其他兩個方向的測試結(jié)果如表1所示。從表1也可以看到,明文圖像具有較高的相關性,水平方向達到0.9418,其值很接近1,因此容易受到統(tǒng)計攻擊;而經(jīng)過本文提出的加密方法之后的密文圖像的水平方向相關性約為0.0064,幾乎接近于零,說明任意兩個相鄰的像素點幾乎不相關。

因此,該研究結(jié)果表明,本文提出的加密方法能夠有效地消除圖像的相關性,使加密后的圖像具有良好的擴散性及較強的抗統(tǒng)計攻擊能力。

2、密鑰空間分析

較大的密鑰空間能夠有效抵抗窮舉攻擊。因此加密系統(tǒng)的密鑰空間越大,其安全級別也就越高?;煦缧蛄挟a(chǎn)生過程中密鑰空間控制參數(shù)包含了初始值(x0,Yo),(x0',Yo'),x0'',以及參數(shù)ao,bo;根據(jù)本文算法描述可知,其密鑰空間包括密鑰,和密鑰Ⅱ。假設本文算法的計算精度確定到10-15;則密鑰,的空間大小為(1015)3×(1015)3 =1090,密鑰Ⅱ的空間大小為(1015)=1030。由于這兩個密鑰是獨立的,因此密鑰總空間為1090 x1030= 10120>>1060。另外,加之每次循環(huán)過程中的初始值不一樣,使得密鑰空間更大。如此巨大的密鑰空間足以抵抗窮舉強力攻擊。

3、信息熵

信息熵是衡量加密系統(tǒng)的顯著指標之一。由于圖像像素值有28種可能,因此信息熵達到最大理想值為8。

其中,L為像素值,p( mi)為mi出現(xiàn)的概率。經(jīng)過本文加密后,通過式(11)計算得到圖像的H(m)=7. 99840該值非常接近8。表明本文算法在加密過程中基本沒有丟失信息,具有較強的抗熵攻擊性能。

4、密鑰敏感性測試分析

高效的加密系統(tǒng)應該具有敏銳的密鑰敏感性。其中任何一個初值發(fā)生極其微小的變化(取△= 10-5),例如對Yo進行微小的改動后,其所產(chǎn)生的解密圖像與正確解密的密文圖像完全不同??梢?,該新算法具有敏銳的密鑰敏感性。

小知識之二維離散

設(ξ,η)為一個二維隨機變量。如果它可能取的值的全體是有限個或可數(shù)多個數(shù)組,則稱(ξ,η)為二維離散型隨機變量,稱它的分布為二維離散型分布。