基于三維Arnold混沌系統(tǒng)的圖像加密算法

混沌系統(tǒng)是一種非線性動力學(xué)行為,基于混沌系統(tǒng)產(chǎn)生的混沌序列具有很好的初值敏感性、遍歷性和偽隨機的特點。由于混沌序列具有這些優(yōu)良特性,因此近年來基于混沌的加密技術(shù)日益成為密碼學(xué)的研究熱點之一。我們利用三維Arnold混沌系統(tǒng)對圖像進行置亂與異或,從而實現(xiàn)同時改變圖像的像素的位置與像素值。

一、三維Arnold混沌系統(tǒng)

經(jīng)典的二維Arnold混沌系統(tǒng)形式為:

基于三維Arnold混沌系統(tǒng)的圖像加密算法

引入兩個參數(shù)來加以推廣得到更一般的形式:

基于三維Arnold混沌系統(tǒng)的圖像加密算法

進一步地,將(2)式推廣到三維空間,得到三維Arnold混沌系統(tǒng):

基于三維Arnold混沌系統(tǒng)的圖像加密算法

其中:

基于三維Arnold混沌系統(tǒng)的圖像加密算法

基于三維Arnold混沌系統(tǒng)的圖像加密算法

取ax=bx=ay=by=ax=bx=1,得:

基于三維Arnold混沌系統(tǒng)的圖像加密算法

通過計算容易得出A的三個特征值,δ1_=7. 184 2>1,0.2 =0.243 0<1,δ3=0.572 8<1。

因此對應(yīng)最大Lyapunov指數(shù)為Inδ1 =1. 971 9>1,與對應(yīng)二維Amold混沌系統(tǒng)最大Lyapunov指數(shù)比較,可知三維Amold混沌系統(tǒng)具有更強的混沌性質(zhì)。

二、基于三維Arnold混沌系統(tǒng)的圖像加密算法

1、把二維矩陣數(shù)據(jù)重構(gòu)為三維矩陣數(shù)據(jù):設(shè)二維圖像矩陣A的大小為M×N,按矩陣的列(行)順序依次讀取A的元素并依次放至三維矩陣B中,矩陣B的大小為J×K×3,滿足條件:M×N=J×K×3。當(dāng)肘,N都不能被3整除,則可通過邊界填充n行(列)0(黑色)使M+n(N+n)得能被3整除。

2、取初始點(xo,y0,zo),其中xo,y0,zo∈(0,1),由三維混沌系統(tǒng)(3)迭代映射To次后,將得到的XT0,Yro與賦給初始值xo,y0,zo。用這三個新的初始值分別迭代映射J×K次,得到三條長度為的混沌序列{xi|i=1,2,…,J×K}、 {yi|i=1,2,…,J×K}與{zi|i=1,2,…,J×K}。按照式(2.1)對這兩個序列進行改迸:

基于三維Arnold混沌系統(tǒng)的圖像加密算法

其中XI可以是xi,Yi或zi,k=3,round(.)為取最近整數(shù)運算, 得到_{ui|i=1,2,…,J×K}、{vi|i=1,2,…,J×K}與{wi|i=1,2,…,J×K}。

3、對圖像進行空間置亂,應(yīng)用{u}i、{v}i和{w}i構(gòu)造置亂矩陣。選擇{u}i、{v}i和{w}i的前J個元素,生成3個行變換序列,再對它們進行排序,得到索引序列,然后構(gòu)造3個J×J的零矩陣,將每行中對應(yīng)的索引序列元素值的列的值變?yōu)?,構(gòu)造出3個行置亂矩陣M1,M2,M3.同理,在{u}i、{v}i和{w}i中抽取3個長度為K的序列,構(gòu)造出3個列置亂矩陣N1,N2,N3。對三維矩陣的每一層按式(2.2)進行置亂:

基于三維Arnold混沌系統(tǒng)的圖像加密算法

4、應(yīng)用{ui|i=1,2,…,J×K}、{vi|i=1,2,…,J×K}與{wi|i=1,2,…,J×K}重構(gòu)一個三維矩陣C,矩陣C的大小為J×K×3,與置亂后的三維矩陣B進行異或運算得到三維矩陣H。

5、把三維矩陣N重構(gòu)成二維矩陣D,輸出加密后的圖像。

解密方法為上述過程的逆。

三、基于三維Arnold混沌系統(tǒng)的圖像加密算法實驗結(jié)果及分析

1、實驗結(jié)果

在MATLAB7.O編程環(huán)境下利用本文提出的加密算法對一幅256×256圖像進行了加密和解密實驗,設(shè)置參數(shù)分別為ax =bx=by=ax=bx=1,設(shè)置系統(tǒng)初始值分別為x0=0.01,y0 =0.01,z0 =0.1及To =2 000。錯誤密鑰為xo=0.01,yo=0.01,zo =0.100000000 000001,圖像加密解密效果如圖1。

基于三維Arnold混沌系統(tǒng)的圖像加密算法

由圖1可見,由于混沌序列對初始值非常敏感,即使初始值有微小的變化也無法對圖像進行正確解密。

2、分析

(1)密鑰空間

一個好的圖像文件加密方案應(yīng)該使其密鑰空間足夠大從而使得強行攻擊不可行,在本文提出的加密算法中,三維超混沌系統(tǒng)的參數(shù)與初始值用作密鑰,其中xo,yo,z0為雙精度型,精度為10 -16,To,zx,bx,ay,by,az,bz為8bit整數(shù)型,所以密鑰空間為:

基于三維Arnold混沌系統(tǒng)的圖像加密算法

因此使用窮舉攻擊解密圖像幾乎是不可能成功的。

(2)統(tǒng)計分析

對于一些加密算法通過統(tǒng)計分析就可能被破譯,因此一個好的加密系統(tǒng)應(yīng)該具有比較好的統(tǒng)計特性。下面通過比較原圖象與加密圖象的直方圖來分析該系統(tǒng)的統(tǒng)計特性。比較圖2可知,變換前后的直方圖發(fā)生了明顯的變化,變化后的直方圖呈均勻分布,它掩蓋了變化前的分布規(guī)律,具有很強的偽隨機性,這大大增加了破譯者的工作量和工作難度,因此該密碼可有效地抵抗統(tǒng)計和已知密文攻擊。

基于三維Arnold混沌系統(tǒng)的圖像加密算法

分別從原圖和加密圖隨機選取1000個相鄰(垂直、水平、對角)像素點判斷其相關(guān)性,表1列出了兩圖在水平,豎直和對角方向的相關(guān)性,圖3(a)是原圖相鄰像素在垂直方向相關(guān)性,圖3(b)是密圖相鄰像素在垂直方向相關(guān)性。可見加密后圖像的相關(guān)性大大降低。

基于三維Arnold混沌系統(tǒng)的圖像加密算法

基于三維Arnold混沌系統(tǒng)的圖像加密算法

(4)抗干擾能力分析

為了驗證文中加密算法的抗干擾能力,下面對LeM圖像改變密圖質(zhì)量,使加密圖像受到噪聲污染和幾何失真以及JPEG壓縮的攻擊,然后進行解密。圖4(a)對Lena密圖的中心進行大小面積為128×128剪切。圖4(b)為剪切后的密圖的解密圖像,圖4(c)為密圖添加Gaussian噪音后的解密圖像,噪音強度為2%。圖4(d)為密圖添加椒鹽噪音后的解密圖像,噪音強度為4%。圖(e)為對Lena密圖進行壓縮的品質(zhì)因子為80的JPEG壓縮后的解密圖像,圖4(f)對密圖添加文字,圖4(g)為添加文字后的解密圖像,實驗的結(jié)果表明此算法具有較強的抗干擾能力。

基于三維Arnold混沌系統(tǒng)的圖像加密算法

小知識之非線性動力學(xué)

非線性動力學(xué)聯(lián)系到許多學(xué)科,如力學(xué)、數(shù)學(xué)、物理學(xué)、化學(xué),甚至某些社會科學(xué)等。 非線性動力學(xué)的三個主要方面:分叉、混沌和孤立子,事實上,這不是三個孤立的方面,混沌是一種分叉過程,孤立子有時也可以和同宿軌或異宿軌相聯(lián)系,同宿軌和異宿軌是分叉研究中的兩種主要對象。