三維arnold變換圖像加密算法

目前我們常用的圖像置亂加密基本上都是基于二維變換的,要達(dá)到較好的置亂效果,往往需要進(jìn)行多次操作,置亂效率不高。為達(dá)到較高的置亂效率,提出了一種新的三維Arnold變換和混沌序列相結(jié)合的圖像加密算法。

一、三維Arnold變換

假設(shè)某一圖像像素的坐標(biāo)位置為xy∈{1,2,…,N},則二維Arnold變換可以定義為:

1

其中x’,y’表示經(jīng)過(guò)Amold變換后的圖像像素的坐標(biāo)位置,此變換稱為二維Arnold變換。可將二維Arnold變換擴(kuò)展成三維Arnold變換,其形式如下:

1

三維Arnold逆變換為:

1

其中矩陣c是矩陣A的逆矩陣,

1

則對(duì)應(yīng)的矩陣A的逆矩陣為:

1

三維Arnold變換與二維Arnold變換一樣,也具有周期性,即經(jīng)過(guò)若干次變換后,圖像又變換為原始圖像。表1列出了不同階數(shù)Ⅳ下二維與三維Arnold變換的周期丁。從表中可以看出,相同階數(shù)N的情況下,三維Arnold變換的周期總體上要大于二維Arnold變換的周期。

1

二、Logistic混沌映射

Logistic映射是由數(shù)學(xué)生態(tài)學(xué)家May于1976年提出的,其表達(dá)式為:

1

當(dāng)3.56994< &L≤4時(shí),Logistic映射將處于混沌狀態(tài)。 三、圖像加解密算法 本文利用三維Arnold變換和Logistic混沌序列分別對(duì)圖像進(jìn)行置亂和異或操作,從而得到加密圖像,解密與加密過(guò)程相反口具體的加解密步驟如下: (1)選取一幅mxn的灰度圖像作為待加密圖像,獲得其二維矩陣數(shù)據(jù)P,并對(duì)圖像進(jìn)行如下轉(zhuǎn)換:找到一數(shù)值N,使得mXn=N3或mXn≈N3。若mXn的值不等于任何數(shù)值的三次方,則取最小N值,使得N3>mxn,然后按矩陣的行(列)順序讀取尸的元素并依次放至三維零矩陣B中,矩陣B的大小為N×N×N;

(2)將處理后的三維矩陣B的像素位置坐標(biāo)(x,y,z)代人方程(2)中,其中x,y,z∈(1,2,…,N),做若干次三維Arnold變換得到置亂后的三維圖像信息矩陣Pl;

(3)選取合適的μ,x0代人方程(7)中,迭代次得到一組混沌序列xi,其中k>N3,i=l,2,…,k;

(4)從步驟(3)中獲得的混沌序列yj中隨機(jī)從某一值開(kāi)始依次取像素組成混沌序列j=l,2,…N3并對(duì)Yj作相應(yīng)處理,具體處理如式(8)所示:

1

(5)將步驟(4)中得到的混沌序列Yi的元素順次放入三維矩陣D中,D的大小為NxNxN,然后將D與步驟(3)中得到的置亂后的圖像信息矩陣P1進(jìn)行逐位異或運(yùn)算操作,得到加密后的圖像信息矩陣P2;

(6)將步驟(5)中得到的加密圖像矩陣P2中的元素依次放入二維零矩陣P3中,P3的大小為mxnl,其中mXn1≈N3。若沒(méi)有這樣的整數(shù)nl,使得mXn1=N3,則取最小的值nl,使得mXn1>N3,而二維矩陣P3中仍
有mXn1=N3個(gè)零元素,本算法中取數(shù)值為0~255的整數(shù)混沌序列進(jìn)行填充,再將信息矩陣按照?qǐng)D像標(biāo)準(zhǔn)格式保存,得到最終的加密圖像;

解密算法就是加密算法的逆運(yùn)算。

四、仿真分析

1、實(shí)驗(yàn)結(jié)果

為驗(yàn)證本算法,本文選取p=3.767835609687648,x0-0.565786987640228作為L(zhǎng)ogistic映射的加密密鑰,對(duì)圖像進(jìn)行三維Amold變換的次數(shù)為4次,按照加密步驟對(duì)圖1所示圖像“stone’’進(jìn)行加密,圖像大小為492 x 738,重構(gòu)后的三維圖像矩陣大小為72×72 x72,加密后的圖像大小為492×7590其中圖l為原始圖像,圖2為加密圖像,圖3為解密圖像。

1

由圖1和圖3中可以看出解密圖像與原始圖像一致,說(shuō)明解密無(wú)誤,而通過(guò)圖2則說(shuō)明了最終加密后的圖像很好地隱藏了原始圖像中的數(shù)據(jù),說(shuō)明加密成功。

2、置亂度分析

圖像的置亂程度可從主觀和客觀兩個(gè)方面進(jìn)行分析。主觀方面,一般認(rèn)為置亂程度比較好的圖像是通過(guò)人眼不能觀察到原圖像所包含的信息,下面運(yùn)用二維Arnold變換和本算法中的三維Arnold變換對(duì)圖像“grass”進(jìn)行不同次數(shù)的置亂并進(jìn)行對(duì)比,圖像大小為216×216,“grass”原始圖像如圖4所示,實(shí)驗(yàn)結(jié)果如圖5所示。

1

由圖5可以看出,二維Arnold變換要想達(dá)到較好的置亂效果,需進(jìn)行多次反復(fù)置亂操作,而本算法中運(yùn)用的三維Arnold變換經(jīng)過(guò)一次置亂就達(dá)到了較好的置亂效果,置亂效率較高。

3、統(tǒng)計(jì)直方圖

圖6(a)顯示的是圖l所示原始圖像“stone”對(duì)應(yīng)的直方圖,圖6(b)所示為圖2所示最終加密圖像的直方圖,圖6(c)所示為圖3所示解密圖像的直方圖,由圖6(b)可以看出,加密后的圖像直方圖分布均勻,將原始圖像信息特征完全隱藏起來(lái),說(shuō)明加密性能良好,而原始圖像和解密圖像的直方圖完全一致,說(shuō)明解密成功。

1

4、像素相關(guān)性分析

經(jīng)實(shí)驗(yàn)測(cè)試,圖1所示原始圖像“stone”和其加密圖像(圖2)的各方向相鄰像素間的相關(guān)系數(shù)如表2所示,由表2可知,加密后的圖像相鄰像素的相關(guān)性大大降低,可有效抵抗攻擊者的統(tǒng)計(jì)分析。

1

小知識(shí)之Arnold變換

Arnold變換是一種常用的圖像置亂技術(shù),Arnold變換的定義如下:
對(duì)任意N*N矩陣(所有元素都相同的矩陣除外),設(shè)i,j為矩陣元素原始下標(biāo),經(jīng)過(guò)Arnold變換后新下標(biāo)為i',j',且滿足下式:
i'=(i+j)mod N
j'=(i+2j)mod N
i,j:0,1,.........N-1
Arnold變換具有周期性,即經(jīng)過(guò)若干次變換后,矩陣回到最初狀態(tài),且周期T與N的大小有關(guān)。理論基礎(chǔ)沒(méi)找到,但可以用程序來(lái)進(jìn)行計(jì)算,可以設(shè)i,j從一個(gè)點(diǎn)出發(fā),不斷使用以上變換,再次回到這個(gè)起點(diǎn)時(shí),經(jīng)歷的變換次數(shù)就是周期。