圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

基于Rossler系統(tǒng)的三維混沌序列設(shè)計(jì)了一種既改變像素位置又改變像素灰度值的圖像加密方法。使用Rossler三維混沌序列中的任意兩維混沌序列控制像素的旋轉(zhuǎn)與置換,剩下的一維序列變換像素的灰度。并且在Rossler混沌加密密鑰的基礎(chǔ)上,增加了置亂密鑰,提升了密鑰空間,方便了密鑰管理。

一、Rossler混沌系統(tǒng)

1、Rossler系統(tǒng)

ROssler系統(tǒng)是經(jīng)典的三維混沌系統(tǒng)閉。Rossler系統(tǒng)生成加密混沌序列的優(yōu)點(diǎn)在于:

一是結(jié)構(gòu)較低維混沌系統(tǒng)復(fù)雜,產(chǎn)生的實(shí)值序列具有更強(qiáng)的不可預(yù)測(cè)性;

二是系統(tǒng)的三個(gè)初始值和三個(gè)參數(shù)都可以作為生成加密混沌序列的種子密鑰,產(chǎn)生的密鑰空間大大高于低維混沌系統(tǒng)。

Rossler系統(tǒng)的動(dòng)力學(xué)方程式為:

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

式(1)中,β、σ、ρ為系統(tǒng)參數(shù),當(dāng)β=0.2、σ=0.2、ρ=5.7時(shí)系統(tǒng)進(jìn)入混沌狀。對(duì)于—個(gè)Rdssler系統(tǒng)可以采用4階Runge-Kutta法進(jìn)行求解,給定步長(zhǎng),便可以得到隨機(jī)良好的三維實(shí)值序列w(k)=(w1(k),w2(k),W3(k)),k為數(shù)值積分算法的循環(huán)次數(shù)。

2、Rossler實(shí)值序列的轉(zhuǎn)換

對(duì)Rossler系統(tǒng)產(chǎn)生的實(shí)值序列進(jìn)行處理,抽取實(shí)值序列的任意兩維進(jìn)行二進(jìn)制序列轉(zhuǎn)換。定義—個(gè)量化處理函數(shù):

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

式(2)中,對(duì)于w(k)若滿足mod( round (abs(1000*w(k))),10)<5,則取式(a),如果mod(round(abs(1000*w(k)),10)≥5,取式(b),其中mod是取余函數(shù),round是取整函數(shù),abs是取絕對(duì)值函數(shù)。

式(2)可以取得實(shí)值序列w(k)中的第三位小數(shù),避免了第四位小數(shù)過多零的出現(xiàn)。用式(2)作為二進(jìn)制轉(zhuǎn)化的依據(jù),處理后得到兩組二進(jìn)制序列bi1和b2。

再定義—個(gè)函數(shù):

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

其中mod是取余函數(shù),round是取整函數(shù)。abs是取絕對(duì)值函數(shù)。式(3)處理實(shí)值序列w(k)中余下的—維,用小數(shù)點(diǎn)右側(cè)2~4位數(shù)與256進(jìn)行取余運(yùn)算,得到一維整數(shù)序列g(shù)(k)∈{0,1, ......,255}。

通過式(2)和式(3),可以把Rossler實(shí)值序列轉(zhuǎn)換為兩維二進(jìn)制序列和—維整數(shù)序列,合并這蘭個(gè)序列得到一個(gè)新的三維混沌序列r(k):

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

二、圖像置亂算法

一種常用的圖像置亂方法是鏡像變換,它是利用圖像數(shù)據(jù)的點(diǎn)陣特征,由密鑰產(chǎn)生隨機(jī)序列對(duì)圖像進(jìn)行置亂的空間域算法。對(duì)于大小為NxM的灰度圖像,定義,I(i,j)為圖像在(i,j)位置的灰度值,其中i∈[0,N-1],j∈[0,M-I]。定義置換操作swap(I(i,j),I(i;,j’))交換I(i,j)和I(i;,j’),是否執(zhí)行stvap操作由密鑰產(chǎn)生的二進(jìn)制序列b(k)決定。圖1所示的是一種簡(jiǎn)單的鏡像變換。模式1為圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用,模式2為圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用。如果二進(jìn)制序列b(k)出現(xiàn)o和1是等概率事件,容易得出相鄰兩個(gè)像素點(diǎn)同時(shí)進(jìn)行swap交換的概率是1 /2。

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

在此基礎(chǔ)上提出了一個(gè)改進(jìn)的鏡像變換方法。對(duì)于每個(gè)像素點(diǎn)的兩個(gè)坐標(biāo)值i和j,可以用式(4)的混沌序列r(k)中的前兩維與之對(duì)應(yīng)。以圖像的中心為坐標(biāo)原點(diǎn),以笛卡爾坐標(biāo)系的劃分方式將圖像分割為四個(gè)象限。這樣任意象限中的每個(gè)像素點(diǎn)都會(huì)在其他的三個(gè)象限中有對(duì)應(yīng)的點(diǎn)。以象限2中的像素點(diǎn)作為變換的觸發(fā)點(diǎn)(如圖2所示),通過它帶動(dòng)其他三個(gè)點(diǎn)進(jìn)行逆時(shí)針方向旋轉(zhuǎn)d這種旋轉(zhuǎn)有四種可能:不動(dòng)、旋轉(zhuǎn)90°、旋轉(zhuǎn)180°和旋轉(zhuǎn)270°。旋轉(zhuǎn)的依據(jù)是觸發(fā)點(diǎn)所對(duì)應(yīng)的二維隨機(jī)序列,即[0,0]不動(dòng)、[o,1]旋轉(zhuǎn)90°、[1,O]旋轉(zhuǎn)180°、[1,1]轉(zhuǎn)270°。在四種情況等可能的條件下,相鄰兩點(diǎn)旋轉(zhuǎn)相同角度的概率是l/4,這樣就降低了相鄰像素轉(zhuǎn)換后又再次相鄰的可能性。

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

這種旋轉(zhuǎn)變換運(yùn)算量小,相對(duì)鏡像變換置亂效果好。但是這種變換在中心區(qū)域效果較差,原因是靠近中心區(qū)域的像素點(diǎn)旋轉(zhuǎn)前與旋轉(zhuǎn)后不會(huì)改變像素點(diǎn)與中心點(diǎn)的距離,這樣在趨向中心范圍內(nèi)如果灰度變化比較平滑,則旋轉(zhuǎn)變換失去了置亂效果。

為此,在旋轉(zhuǎn)變換的基礎(chǔ)上又增加了中心區(qū)域像素和周邊區(qū)域像素的置換變換。首先把NxM大小的圖像分成16個(gè)n/4×m/4大小的塊,將中心區(qū)域的4個(gè)塊與周邊的12塊的像素進(jìn)行置換,如圖3所示。

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

中心塊d中像素的變換有四種可能,不動(dòng)、沿橫向向上取對(duì)稱點(diǎn)置換、沿縱向向左取對(duì)稱點(diǎn)置換、既沿橫向又沿縱向取對(duì)稱點(diǎn)置換。當(dāng)然這4個(gè)塊的對(duì)稱軸各不相同,在置換時(shí)交換像素灰度值。對(duì)稱軸中心點(diǎn)(x,y)的取值規(guī)律如下:

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

依據(jù)混沌序列r(k)里一、二維數(shù)的組合關(guān)系,中心塊像素I(i,j)置換后,I(i’,j')位置如下:

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

三、圖像灰度變換

圖像中的每個(gè)像素點(diǎn)都對(duì)應(yīng)混沌序列r(k)中的一個(gè)值。r(k)為三維序列,一、二維對(duì)應(yīng)像素點(diǎn)的i,j坐標(biāo)。第三維是[0,255]的隨機(jī)數(shù),用它與這個(gè)像素點(diǎn)的灰度值進(jìn)行異或操作,得到—個(gè)隨機(jī)的灰度值。通過改變灰度值達(dá)到隱藏原始信息的目的。以(i,j)表示某個(gè)像素的灰度值,變換后的灰度值為:

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

四、像素與Rossler混沌序列的對(duì)應(yīng)

如前所述,為使圖像置亂和灰度加密,必須建立像素和Rossler混沌序列r(k)的對(duì)應(yīng)關(guān)系。定義函數(shù):

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

如果mod(iM+j+ 1,2)==1取式(8)中的式(a),如果mod(iM+j+1,2)=o取式(8)中的式(b);圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用,z是混沌序列r(k)的長(zhǎng)度。

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

如果mod(iM+j+1,2)==l取式(9)中的式(a),如果mod(iM+j+1,2)=o取式(9)中的式(b);圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

 

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

用上面三個(gè)公式分別得到像素旋轉(zhuǎn)、像素置換、灰度加密時(shí)在坐標(biāo)(i,j)像素點(diǎn)所對(duì)應(yīng)的Rossler混沌序列序列中的位置。start是—個(gè)常量,從這個(gè)位置開始取隨機(jī)數(shù)。dif是—個(gè)整型變量,代表偏移量,作為圖像置亂的密鑰,可以證明它的取值范圍是{0,1,…3/8,z}是混沌序列長(zhǎng)度,并且z>NxM。按照行優(yōu)先原則,根據(jù)式(8),第一個(gè)像素點(diǎn)1(0,0)對(duì)應(yīng)r(start+dif),第二個(gè)像素點(diǎn)1(0,1)對(duì)應(yīng)r(z-dif),第三個(gè)像素點(diǎn)1(0,2)對(duì)應(yīng)r(Btart+dlf+1),第四個(gè)像素點(diǎn)對(duì)應(yīng)r(z-dif-I)。依此方式實(shí)現(xiàn)每個(gè)像素J(iJ)對(duì)應(yīng)—個(gè)三維隨機(jī)數(shù)r(k),并盡可能降低Rossler混沌序列前后兩個(gè)數(shù)值之間的關(guān)聯(lián)性,更充分體現(xiàn)隨機(jī)特點(diǎn)。

同理,像素置換時(shí)按式(9)建立對(duì)應(yīng)關(guān)系,灰度異或時(shí)按式(10)建立對(duì)應(yīng)關(guān)系。

基于上述Rossler系統(tǒng)產(chǎn)生混沌序列、圖像置亂變換和灰度變換的方法,可以構(gòu)建—個(gè)混沌圖像加密算法;

(1)輸入Rossler密鑰wo={-1,0,1}和圖像置亂密鑰dV=10 000。由R6ssler系統(tǒng)產(chǎn)生三維的混沌實(shí)值序列w(k),J}為迭代次數(shù),且k>NxM。

(2)實(shí)值混沌序列處理。經(jīng)過式(2)—式(4)的處理后得到三維混沌序列r(k),k=1,2,3,....。

(3)讀入256x256標(biāo)準(zhǔn)的Lena灰度圖像作為待加密的圖像,見圖4(a)。根據(jù)式(8)建立像素與混沌序列的對(duì)應(yīng)關(guān)系。取第二象限的像素點(diǎn)所對(duì)應(yīng)的r(k)里一、二維的值來判定像素點(diǎn)旋轉(zhuǎn)的角度。在逆時(shí)針旋轉(zhuǎn)時(shí)與這個(gè)像素點(diǎn)對(duì)應(yīng)的其他三個(gè)象限的像素點(diǎn)一起按相同角度旋轉(zhuǎn)。之后按照式(5)、(6)、(9)進(jìn)行像素置換,結(jié)果見圖4(b)。

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

(4)置亂后圖像全體像素點(diǎn)按照式(10)都能對(duì)應(yīng)到某個(gè)r(k),用,r(k)中的第三維整數(shù)與這個(gè)點(diǎn)的灰度值進(jìn)行異或得到灰度變化的圖像,執(zhí)行式(7)操作,在位置變化的情況下,改變圖像的灰度值徹底打亂原圖像的相關(guān)性,更好地實(shí)現(xiàn)保密的目的,結(jié)果見圖4(c)。

(5)輸出加密后的圖像。

圖像解密算法為圖像加密算法的逆過程,具體算法如下:

(1)輸入斛密密鑰wo和dif,由Rbssler系統(tǒng)產(chǎn)生三維的混沌實(shí)值序列w(k)。

(2)經(jīng)過式(2)~式(4)的處理后得到三維混沌序列r(k),k=1,2,3,.....,z。

(3讀入待解密的圖像q用r(k)中的第三維整數(shù)和與之對(duì)應(yīng)的像素點(diǎn)的灰度值按式(7)進(jìn)行異或操作,得到原圖像的灰度值。

(4)再按照式(5)、(6)、(9)和夠進(jìn)行像素置換,之后取第三象限的像素點(diǎn)按式(8)所對(duì)應(yīng)r(k)一、二維的值來判定像素點(diǎn)旋轉(zhuǎn)的角度。在順時(shí)針旋轉(zhuǎn)時(shí)與這個(gè)像素點(diǎn)對(duì)應(yīng)
的其他三個(gè)象限的像素點(diǎn)_起按相同角度旋轉(zhuǎn)。這樣恢復(fù)原像素點(diǎn)的位置。

若用錯(cuò)誤密鑰wo={- 1 .001,1,1}和正確密鑰dif=10 000解密后圖像為圖5(a)。若用正確密鑰wo={- 1,0,1}和錯(cuò)誤密鑰dV=10 001解密后圖像為5(b)。密鑰wo和dif都正確即可恢復(fù)原圖像,如圖5(c)。

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

從圖5(a)可見,即使Rossler密鑰wo中的一維有微小的變化,也不能正確解密出原圖,從而體現(xiàn)出對(duì)密鑰wo的高度敏感性。從圖5(b)可見,置亂密鑰dif稍有變化,即不能正確解密,對(duì)dif也有高度敏感。本算法的密鑰分成兩部分,一部分是Rossler密鑰,一部分是圖像置亂密鑰,方便了密鑰管理,同時(shí)達(dá)到近似無限的密鑰空問。與空域復(fù)合加密Chebyshev映射算法圈在Pentium IV Corelx 2 3.06 GHz,Madab7.1平臺(tái)下的比較結(jié)果如表1所示。

圖像文件加密中Rossler三維混沌系統(tǒng)的應(yīng)用

由上面的算法分析可知,對(duì)于NxM的圖像加密后,可能的加密結(jié)果為(256x2)NM。該算法可以有效抵抗基于統(tǒng)汁的攻擊和利用混沌時(shí)問序列進(jìn)行分析的攻擊方法。

六、結(jié)論

(1 )Rossler三維混沌系統(tǒng)較之低維混沌系統(tǒng)具有更高的復(fù)雜性和更好的隨機(jī)性,應(yīng)用到圖像加密中得到的保密性更高。

(2)本算法的圖像置亂方法在像素旋轉(zhuǎn)的基礎(chǔ)上又增加了中心區(qū)域像素和周邊區(qū)域像素的置換,解決了鏡像變換在中心區(qū)域效果差的問題,更好地實(shí)現(xiàn)了圖像置亂。

(3)本算法在密鑰管理上將加密算法的密鑰分成兩部分,一部分是ROssler密鑰,一部分是幽像置亂密鑰,不但增加了密鑰空問,而且方便了密鑰管理。

小知識(shí)之鏡像

鏡像,一種文件形式,可以把許多文件做成一個(gè)鏡像文件,與GHOST等程序放在在一個(gè)盤里用GHOST等軟件打開后,又恢復(fù)成許多文件,鏡像(Mirroring)是冗余的一種類型,一個(gè)磁盤上的數(shù)據(jù)在另一個(gè)磁盤上存在一個(gè)完全相同的副本即為鏡像。