基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

混沌現(xiàn)象是非線性系統(tǒng)的一種內(nèi)在類似隨機過程的表現(xiàn),混沌系統(tǒng)產(chǎn)生的混沌序列具有類噪聲、結(jié)構(gòu)復(fù)雜以及對初始條件極端敏感的特性,因而被廣泛地應(yīng)用于加密系統(tǒng)設(shè)計。經(jīng)常用于加密的混沌系統(tǒng)很多,事實上,幾乎所有的混沌系統(tǒng)產(chǎn)生的混沌序列經(jīng)過處理后都可以用于加密。一般把具有兩個以上正Lyapnov指數(shù)的高維混沌系統(tǒng)稱為超混沌系統(tǒng),由于超混沌行為具有更強的隨機性和不可預(yù)測性,使其在圖像加密領(lǐng)域具有更好的應(yīng)用前景。超混沌系統(tǒng)用于圖像加密,生成的密碼具有很強的敏感性和隨機性,對各種攻擊具有更強的抵抗力,能充分保障圖像信息安全,如超混沌Clifford系統(tǒng)、來源于蔡氏電路的Chua超混沌系統(tǒng),Chen超混沌系統(tǒng)等都被用于圖像加密。

目前,國內(nèi)外大多數(shù)文獻都把像素位置置亂的加密方式與替代像素值的加密方式結(jié)合起來,對原始圖像進行預(yù)處理和再加密。由于在加密過程中圖像的位置信息與像素值信息均被混沌序列加密,使得攻擊者破譯密文的難度增加,因而這種加密方式的安全性有很大提高。Gao等人使用了超混沌系統(tǒng)對圖像進行加密,其密鑰空間可以達到1070。不過劉金梅等人指出其算法在結(jié)構(gòu)設(shè)計上存在致命弱點,即算法中置亂部分和像素替代部分只與混沌系統(tǒng)和密鑰有關(guān),而與明文無關(guān),使得算法無法抵御已知明文攻擊和選擇明文攻擊。這種缺點不是個別現(xiàn)象,很多文獻中的算法都存在這樣的問題。值得關(guān)注的是最近Wang Yong等人研究并給出了一種置亂與替換同步進行的相互結(jié)合方法,既可以提高加密速度,也可以避免劉金梅等人提出的問題,這說明一些研究人員已經(jīng)注意到這類問題。

一個好的密碼系統(tǒng)應(yīng)當滿足以下兩條原則,即混亂原則( confusion)和擴散原則(diffusion)。擴散是將每一位明文的影響盡可能地作用到較多的輸出密文位中去,其目的是有效隱藏明文的統(tǒng)計特性;混亂是指密文和明文之間的統(tǒng)計特性的關(guān)系盡可能地復(fù)雜化。密文反饋使明文和密文之間相互關(guān)聯(lián),從以下幾個方面提高了加密安全性:

a)加密公式中的部分參數(shù)來源于圖像(置亂后的原圖像),使置亂部分和像素替代部分相互關(guān)聯(lián),不再相互獨立,加大了破譯的難度。

b)與原圖像相關(guān)聯(lián),使加密算法具有更高的安全性。當改變加密的圖像時,即改變了加密的參數(shù),同時增加了破譯難度,提高了安全性。

c)引入密文反饋機制,對圖像像素值逐個進行多輪異或加密,使密文對明文和密鑰都充分敏感,加密圖像像素值具有類隨機均勻分布特性。而且算法具有密鑰空間大、加密速度快的優(yōu)越性。

d)將明文圖片每個像素以函數(shù)迭代形式擴散在密文中,從而強化了其抗統(tǒng)計分析的能力。

為了進一步克服劉金梅等人指出的算法中的缺陷,本文給出了新的加密方案。首先對Clifford超混沌系統(tǒng)和Logistic混沌系統(tǒng)進行嵌套組合,得到了性能更好的混沌系統(tǒng)用于圖像的位置置亂;然后使用Chua超混沌系統(tǒng)產(chǎn)生混沌序列用于像素替換,在Chua超混沌系統(tǒng)龍格庫塔解法中插人參數(shù),這些參數(shù)來自于原加密圖像,這樣既增大了密鑰空間,也實現(xiàn)了密文反饋,克服了加密算法只與混沌系統(tǒng)和密鑰有關(guān)與明文無關(guān)的缺點,使加密安全性進一步提高。

一、加密系統(tǒng)的改進

1、對Clifford超混沌的改進

通常把具有兩個或兩個以上正Lyapunov指數(shù)的混沌系統(tǒng)稱為超混沌系統(tǒng)。正Lyapunov指數(shù)越多,系統(tǒng)軌道不穩(wěn)定的方向越多,系統(tǒng)的隨機性越強,其抗破譯能力越高,因此,更適合于圖像加密。

Clifford系統(tǒng)表達式如下:

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

式(1)所示的Clifford系統(tǒng)具有較大的能夠產(chǎn)生混沌的參數(shù)區(qū)間。例如,當使用式(2)所示的初始值時,系統(tǒng)處于超混沌狀態(tài)。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

此時,使用Jacobian矩陣乘積方法計算出的系統(tǒng)近似的Lyapunov指數(shù)為0.0836,0.2924和0.4518。因此,將Clifford超混沌系統(tǒng)用于圖像加密,能夠大幅度提升系統(tǒng)的抗破譯能力。利用上面給出的參數(shù)及系統(tǒng)初始值,繪制出Clifford迭代1000次的軌跡如圖1所示。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

戈隆布( Golomb)給出了關(guān)于周期偽隨機序列的三條公設(shè)定理驗證偽隨機性的優(yōu)劣。根據(jù)該定理可知,一個理想的混沌序列應(yīng)該具有的基本特性是分布均勻性。然而Clifford系統(tǒng)的總體分布特性并不是很好,當從Z軸方向觀察Clifford映射時,一個很大的空白區(qū)域位于此映射的中間,如圖2所示。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

映射中點的分布并不是非常地均勻,會影響產(chǎn)生的混沌序列的隨機性分布,針對此問題,本文首先對Clifford映射進行了改進。改進方法是把Logistic映射復(fù)合嵌入到Clifford系統(tǒng)中,產(chǎn)生一個改進后的Clifford映射,簡稱為CliLog系統(tǒng),如式(3)所示。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

使用Jacobian矩陣乘積方法計算Ch-Log系統(tǒng)的近似的Lyapunov指數(shù)發(fā)現(xiàn),改變式(2)中的一個參數(shù),固定其他參數(shù),初始值不變的情況下,在參數(shù)a([3.1,4])、b([0.2,1])、c([ -1,0.8])、d([ -3.1,-2])、e([1.5,2.5])區(qū)間上都至少有兩個正Lyapunov指數(shù),很多情形是具有三個正Lyapunov指數(shù),如使用式(2)所示的參數(shù),計算Ch-Log系統(tǒng)的Lyapunov指數(shù)為0. 1845,0.2859和0.3596。

通過對系統(tǒng)仿真(圖3)觀察比較后發(fā)現(xiàn),相對于Logistic映射和Clifford映射,結(jié)合后的混沌系統(tǒng)具有更好的混沌特性。X軸、y軸的范圍由-2~2擴大到-3—3,而且Z軸的范圍由-1~1擴大到-2—2,沒有圖2所示的吸引子中間的空白區(qū)域。這說明新的混沌系統(tǒng)具有更大的混沌域,點的分布比圖1中的更加均勻,產(chǎn)生的序列具有更好的隨機性,因此更適合用于圖像加密。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

2、在Chua混沌系統(tǒng)的龍格庫塔解法中加入?yún)?shù)

Chua超混沌系統(tǒng)來源于蔡氏電路。蔡氏電路是1983年華裔科學(xué)家蔡少棠教授首次提出的,它是歷史上第一例用電子電路來證實混沌現(xiàn)象的電路,也是非線性電路中產(chǎn)生復(fù)雜力學(xué)行為的最有效并較為簡單的混沌電路之一。蔡氏電路的原理如圖4所示。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

圖4中R是一非線性電阻,它的無量綱動力學(xué)方程描述如式(4)所示。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

其中:f(xk)=bxk +1/2(a-b)(|xk +1| -|xk -1|);狀態(tài)變量x、y、z分別對應(yīng)圖中電容C1、C2上的電壓V1、V2和電感L中的電流如。當系統(tǒng)參數(shù)為α=10,β=18,a=-1.26,b=-0.63時,蔡氏電路處于混沌狀態(tài),出現(xiàn)雙漩渦混沌吸引子。

在構(gòu)造混沌序列時用式(5)所示的四階Runge-KuLLa公式。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

式(5)中,xn={xn,yn,zn},代表式(4)的三個方程,Ki、Pi是含有三個元素的向量,所以,一共插入到Runge-Kutta公式中12個元素。

在四階Runge-Kutta公式中插人參數(shù)R(i=1,2,3,4)的值是取自于原圖像以及Cli-Log系統(tǒng)產(chǎn)生的序列,這些圖像顏色值與混沌序列經(jīng)過處理后,插入到Runge-Kutta公式中。這樣做的目的首先是增大密鑰空間,增加破譯難度;最重要的是實現(xiàn)了密文反饋,克服了加密算法只與混沌系統(tǒng)和密鑰有關(guān)與明文無關(guān)的缺點,克服了指出的問題,使加密安全性進一步提高。只插入后可以使明文圖像中每個像素的變化擴散影響到盡可能多的密文像素,使算法具有很好的擴散和混亂特性,增強對各種攻擊方法的抵御能力。

二、加密方案

數(shù)字圖像由圖像像素的灰度值來描述,將圖像在時域中加密,就是通過對像素位置置亂或灰度值的置換來實現(xiàn)。本文利用Cli-Log混沌系統(tǒng)產(chǎn)生三維混沌序列,設(shè)原始圖像I的大小為M×N,則i,j={1,2,3,…,MxN}。通過大量數(shù)據(jù)分析,X、y、z序列應(yīng)該按照以下方式進行預(yù)處理:首先去掉序列實數(shù)值的整數(shù)部分,統(tǒng)一值的范圍;然后,右移小數(shù)點幾位,用小數(shù)部分作為新的偽隨機性數(shù)。處理后的X、y、z三值的范圍是(-0.5,0.5),符合Golomb提出的一個理想混沌序列應(yīng)該具有分布均勻性的要求。

a)設(shè)定Cli-Log混沌系統(tǒng)的初始值xo、yo、z0,系統(tǒng)每次迭代產(chǎn)生三個混沌值xi、yi、zi;

b)取xi、yi、zi的小數(shù)部分。以xi為例,xi=(0.dld2d3…dn),p為指定的精度,那么(d1d2d3…dn)就可以構(gòu)成一個偽隨機序列。提取三個混沌值的第i位,按照某個順序組成兩個新的十進制整數(shù)si和ki。

c)將混沌序列S和混沌序列K中元素由小到大排序,分別形成有序序列S1S2S3…sn和k1k2k3…kn。

d)分別確定混沌序列S和K中的每個si和ki分別在有序序列S1S2S3…sn和k1k2k3…kn中的位置編號,形成置換地址集合T={t1t2t3…tn}和P={p1p2p3...pn}。

e)按置換地址集合T和P對原始圖像的像素進行置換,得到置亂后的位置矩陣E(i,j),即為圖像置亂后得到的密圖。對原圖像完成置亂后,破壞了原像素的相鄰像素點的相關(guān)性,但是像素點的灰度并沒有改變。因此,為了提高圖像的加密效果,要對置亂后圖像的像素灰度進行改變。采用的超混沌系統(tǒng)Chua產(chǎn)生的混沌序列對置亂后的圖像像素灰度值進行加密。

f)經(jīng)過圖像置亂后得到密圖E(i,j),密圖的每一個像素對應(yīng)一個確定p的值。p的值隨著圖像的變化而改變,也隨置亂方法的不同而改變。將此p的值插入到四階Runge-Kutta公式中,如式(2)所示。

g)計算參數(shù)的混沌區(qū)域,在該區(qū)域內(nèi)給各個參數(shù)賦值,給定迭代初始值x(O)y(0)z(0),利用龍格庫塔插人參數(shù)的方法迭代Chua超混沌系統(tǒng)生成混沌序列x(i)y(i)z(i),i=1,2,3,…,對此混沌序列進行變形后得到xx(i),i=l,2,3,…。

h)依次把xx(i),i=1,2,3,…,的值同密圖E(i,j)中像素點的灰度值進行異或,完成對像素值的改變。

i)繼續(xù)此操作,直到E(i,j)中的所有像素值全部被加密為止。此時得到加密后像素集合F={f1f2f3...fmxn},然后將其轉(zhuǎn)換為二維圖像形式,得到了加密圖像D(i,j)。圖5加密后的效果如圖6所示。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

解密過程是加密過程的逆操作,基本與加密過程的算法相似。首先利用龍格庫塔插入?yún)?shù)的方法迭代Chua超混沌系統(tǒng)生成混沌序列x(i)y(i)z(i),對此混沌序列進行變形后得到x(i)。用xx(i)與加密的圖像依次異或后,得出正確的位置矩陣E(i√);再利用改進后的Clifforcl映射對解密矩陣進行反置亂,就可得到最后的解密圖像。

三、實驗結(jié)果與安全性分析

1、密鑰敏感性測試

為了驗證上述算法的有效性,本文以Lena. bmp圖像作為實驗測試圖像。圖7、8分別顯示了原始圖像和相應(yīng)加密圖像的直方圖。通過比較加密前后圖像的直方圖可以看出,加密后圖像的直方圖與原始圖像相比更加均勻,它掩蓋了變換前的分布規(guī)律,增加了破譯的難度。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

如果密鑰稍有微小的變化,如修改參數(shù)k=2.40000000004(原來k為2.4),經(jīng)實驗測試加密后的兩幅圖像中有99.72%的像素灰度值不相同。密鑰的微小變化導(dǎo)致密文幾乎完全不同,這說明密鑰的一點微小的變化將產(chǎn)生完全不同的加密效果,密鑰敏感性高,可以抗差分攻擊。

2、相鄰像素的相關(guān)性分析

通過對相鄰像素相關(guān)性大小的比較,可以檢驗圖像置亂效果的好壞。研究表明,置亂效果的好壞與相關(guān)性的大小存在反比關(guān)系,相關(guān)性越小,置亂的效果越好;相關(guān)性越大,置亂效果越差。為檢驗原始圖像和密文圖像相鄰像素的相關(guān),從原圖像和加密圖像中隨機選取4000對相鄰像素(水平、垂直或?qū)牵?,利用下式計算其相鄰像素的相關(guān)系數(shù):

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

其中:x和y分別表示圖像中相鄰兩個像素的灰度;rxy為相鄰兩個像素的相關(guān)系數(shù)。圖9、10展示了原始圖像和加密后圖像的兩個垂直方向的相鄰像素的相關(guān)分布情況,表1給出了加密前后水平、垂直和對角方向的相關(guān)系數(shù)。

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

從表1的數(shù)據(jù)中可以看出,原圖像的相關(guān)系數(shù)接近于1,說明原始明文圖像的相鄰像素是高度相關(guān)的。而加密圖像的相鄰像素相關(guān)系數(shù)約等于0,說明了相鄰像素不相關(guān),同時也證明明文的統(tǒng)計特性已被擴散到隨機的密文中。

3、密鑰空間分析

密鑰空間的大小是可以使用的不同加密密鑰的總數(shù)。一個好的加密方案應(yīng)該是對加密的密鑰足夠敏感,并且密鑰空間足夠大,從而使強有力的基本搜索攻擊變得無效。在本算法中,初始條件和參數(shù)可以被用來作為密鑰。該方法一共具有31個參數(shù)及初始值,如果各個參數(shù)以及初始值的精確度能夠達到10-14,一半?yún)?shù)(或初始值)的有效取值區(qū)間按照0.1計算,一半?yún)?shù)(或初始值)的有效取值區(qū)間按照0.5計算,那么只考慮參數(shù)與變量初始值密鑰空間就能夠達到10154,具有足夠大密鑰空間抵抗攻擊。

4、信息熵分析

信息學(xué)中關(guān)于信息熵的定義如下所示:

基于復(fù)合超混沌系統(tǒng)且與明文相關(guān)聯(lián)的圖像文件加密

其中,以為第fk個像素出現(xiàn)的頻率。從信息熵的定義可以看出,圖像越平坦(像素值變化少)時,信息熵的值越小,當圖像只有一個像素值時,信息熵的值最小,值為O;相反,圖像越混亂,信息熵的值越大,當圖像中每個像素出現(xiàn)概率相同時,信息熵的值為最大值8。

信息熵測試結(jié)果表明,加密后圖像的熵為7.9897,非常接近其理論值N=8,說明加密過程中的信息泄漏可以忽略,加密系統(tǒng)對抵抗熵攻擊是安全的。原始圖像經(jīng)過加密得到的密文都具有高度的混亂性,攻擊者難以從密文中得到有用的信息。

小知識之龍格庫塔

龍格庫塔法的家族中的一個成員如此常用,以至于經(jīng)常被稱為“RK4”或者就是“龍格庫塔法”。該方法主要是在已知方程導(dǎo)數(shù)和初值信息,利用計算機仿真時應(yīng)用,省去求解微分方程的復(fù)雜過程。