基于Henon映射和Rossler混沌映射的數(shù)字圖像加密
隨著加解密技術(shù)研究的不斷深入和混沌學(xué)的繼續(xù)發(fā)展,低維度混沌序列加密已經(jīng)出現(xiàn)了一些破解攻擊方法,信息的安全得不到保證。高維度混沌因為具有高周期性,更好的隨機性和大復(fù)雜度,可以提供更好的加密效果,更好地保證圖像信息的安全性,因此結(jié)合高維度混沌序列的加密算法成為研究熱點。我們在研究二維Henon映射和三維Rossler混沌映射的基礎(chǔ)上,提出了一種基于Henon映射和Rossler混沌映射的數(shù)字圖像加密算法。
一、 Henon映射
典型的二維Henon映射離散非線性動力系統(tǒng):

其中α,β為系統(tǒng)參數(shù)。當(dāng)α=1.4,β=0.3,系統(tǒng)(1)處于混沌狀態(tài)。此時,最大Lyapunov指數(shù)等于0.418。當(dāng)β=1時,系統(tǒng)在運動中保持相平面積不變,描述的是保守系統(tǒng):當(dāng)β<1時,系統(tǒng)在運動中相平面積縮小,是耗散系統(tǒng)。大量的研究表明,在非線形耗散系統(tǒng)中有混沌并伴有混沌吸引子,在非線形保守系統(tǒng)中也有混沌,只是沒有混沌吸引子。
二、Rossler混沌映射
Rossler系統(tǒng)是非線性動力學(xué)中最有名的方程之一,有著廣泛的物理背景和工程背景。三維Rossler混沌映射的動力學(xué)系統(tǒng)模型如下:

其中a,b,c為系統(tǒng)參數(shù)。當(dāng)a=0.2, b=0.2,c=5.7時,系統(tǒng)(2)處于混沌狀態(tài)。
在加密系統(tǒng)中,Rossler混沌映射與低維混沌映射相比有如下特點:
(1)系統(tǒng)結(jié)構(gòu)更為復(fù)雜,因此由此生成的實數(shù)序列更難以預(yù)測,使得其應(yīng)用極為靈活;
(2)實際應(yīng)用中,低維混沌系統(tǒng)會出現(xiàn)周期退化問題,因此容易受到系統(tǒng)模型重構(gòu)的攻擊,而高維混沌系統(tǒng)其運算掩蓋了混沌子序列的分布特性,改變了混沌系統(tǒng)的動力學(xué)行為,能夠有效抵抗模型重構(gòu)的攻擊;(3)由于對初始值敏感,而初始值基本上是無精度的,因此密鑰空間遠遠大于低維系統(tǒng)。
Rossler混沌映射是一個偏微分方程組,因此在應(yīng)用到圖像加密系統(tǒng)之前先要將其離散化轉(zhuǎn)變?yōu)閷崝?shù)序列。利用Euler法或四階經(jīng)典Runge-Kutta方法(簡稱RK法)求解出Rossler方程組的實值解是目前較常用的兩種方法。 RK方法因為求解精度相對較高,因此本文采用的是四階經(jīng)典RK方法求解Rossler混沌映射方程組解。
三、基于Henon映射和Rossler混沌映射的加密算法
本文提出的基于Henon映射和Rossler混沌映射的數(shù)字圖像異或加解密算法是一種置換型的圖像加密算法,經(jīng)過兩次加密后圖像中的各像素值都由新的像素值所替換,使得加密后圖像的像素分布發(fā)生變化。記原始圖像為明文矩陣On,由Henon映射和RossLer混沌映射的離散化產(chǎn)生的實數(shù)序列為{Kn},相應(yīng)的密鑰矩陣為Cn,加密后的圖像密文矩陣為En,選取Henon映射的初始值組[U0,Vo]作為數(shù)字圖像一次加密的密鑰組;選取Rossler混沌映射中的初始值組[Xo,Yo,Zo]以及RK算法中的控制變量步長h-起構(gòu)成數(shù)字圖像二次加密的密鑰組[Xo,Yo,Zo,h];選取BMP格式圖像來論述該算法。
1、基于Henon映射和Rossler混沌映射的異或加密算法
基于Henon映射和Rossler混沌映射的異或加密算法過程如下:
(1)打開原始的BMP圖像文件,順序讀取圖像中各點像素值,得到原始圖像的像素矩陣On;
(2)根據(jù)Henon映射方程,輸入混沌系統(tǒng)的參數(shù)α,β和初始條件U0,Vo,作為圖像一次加密密鑰,生成Henon混沌加密序列{Ku},{Kv};
(3)將{Ku},{Kv}混沌序列值乘以256,然后取整數(shù)部分作為新的序列值,再分別各自重新組成和原始圖像同樣大小的矩陣Cu,Cv;
(4)將矩陣Cu,Cv中的元素與原始圖像的像素矩陣On。先后做按位異或處理,即通過式子En=On+Cu+Cv,獲得Henon加密后的圖像矩陣En;
(5)根據(jù)原始圖像大小,選取Rossler混沌映射的密鑰組[Xo,Yo,Zo,h],通過RK法求解出與原始圖像像素個數(shù)相同的Rossler混沌映射的離散化實數(shù)序列{Kx},{Ky},{Kz};
(6)先分別取出序列{Kx},{Ky},{Kz}中各值的小數(shù)部分乘以256,然后取乘積結(jié)果的整數(shù)部分,再將每個元素轉(zhuǎn)化為8位二進制數(shù),最后分別各自重新組成和原始圖像同樣大小的矩陣Cx,Cy,Cz;
(7)將新矩陣Cx,Cy,Cz中的元素與Henon一次加密后的圖像矩陣En中的相應(yīng)元素做按位異或處理,即按照式子
進行處理,處理后得到Rossler混沌映射二次加密的
圖像矩陣En';
(8)將矩陣En'。按照圖像標(biāo)準(zhǔn)格式不經(jīng)壓縮地保存下來,即為需求的最終加密圖像。
圖1為“微上理”原始圖像,圖2顯示的是經(jīng)過兩次加密后得到的加密圖像效果圖。其中Henon映射一次加密時所選取的初始值組為[0.39895,0.40102],Rossler混沌映射二次加密時所選取的密鑰組為[0.98786,1.01023,0.99785,0-01]。通過比較圖1和圖2可以看出:加密后的圖像變得雜亂無章,面目全非,無法從中讀取任何信息。這樣就對原始圖像所包含的信息進行了有效的保護。圖3是原始圖像的直方圖;圖4是二次加密后圖像的直方圖。通過比較圖3和圖4可以看出圖像文件加密后的每個像素點分布得更加均勻,充分說明該算法是一種置換型加密算法,并且具有很好的加密效果。
四、基于Henon映射和Rossler混沌映射的解密算法
解密算法是加密算法的逆運算,其主要步驟如下:
(1)打開加密圖像文件,順序讀取圖像中各點像素值,得到加密圖像的像素矩陣En';
(2)利用加密時使用的Rossler混沌映射的密鑰組,根據(jù)加密圖像大小通過RK法求解出與其像素個數(shù)相同的RossLer混沌映射的離散化實數(shù)序列{Kx},{Ky},{Kz};
(3)先分別取出序列{Kx},{Ky},{Kz}中各值的小數(shù)部分乘以256,然后取乘積結(jié)果的整數(shù)部分,再將每個元素轉(zhuǎn)化為8位二進制數(shù),最后分別各自重新組成和原始圖像同樣大小的矩陣Cx,Cy,Cz;
(4)將新矩陣Cx,Cy,Cz中的元素與加密圖像的像素矩陣On中的相應(yīng)元素分別做按位異或處理,即按照式
進行處理,得到Rossler混沌映射解密后的新矩陣On';
(5)根據(jù)Henon映射方程,輸入混沌系統(tǒng)的參數(shù)α,β和初始條件U0,Vo,作為圖像二次解密密鑰,生成Henon混沌解密序列{Ku},{Kv};
(6)將{Ku},{Kv}混沌序列值乘以256,然后取整數(shù)部分作為新的序列值,再分別各自重新組成和原始圖像同樣大小的矩陣Cx,Cy,Cz;
(7)將矩陣Cu,Cv中的元素與步驟(4)得到的Rossler混沌映射解密后的矩陣On'。先后做按位異或處理,即通過式子
,處理后獲得Henon二次解密后的圖像矩陣On;
(8)將矩陣On按照圖像標(biāo)準(zhǔn)格式不經(jīng)壓縮地保存下來,即為需求的最終解密圖像。
對圖2所示的加密圖像進行解密,得到正確解密的圖像如圖5所示。將圖1和圖5所示的兩幅圖像進行按位異或處理,得到一幅像素值全為0的全黑圖像如圖6所示,表明解密得到的圖像與原始圖像完全一樣,也證明解密是無損的。

五、基于Henon映射和Rossler混沌映射的數(shù)字圖像加密安全性分析
整個算法的安全性通過以下兩個方面來進行分析:
(1)密鑰有效精度:
由于二維Henon映射和三維Rossler混沌映射不僅具有對初值極度敏感的特性,使混沌系統(tǒng)更為復(fù)雜,并且擾亂了動力系統(tǒng)中的運動行為,所以只要選取的解密密鑰組與加密密鑰組有任何細微的區(qū)別,都不可能正確解密加密圖像,并對系統(tǒng)模型重構(gòu)攻擊有很強的免疫力。理論上密鑰組的精度是沒有限制,但受到實際操作中計算機精度的限制,如果使用的計算機精度越高,則密鑰空間就越大。
(2)像素有效位:
在進行按位異或操作之前,每個像素值都要轉(zhuǎn)化為8位二進制數(shù),因此精確解密一個像素值要進行大概255次操作。如果要精確解密一個大小為M×N的矩陣用本文提出的加密算法進行加密的數(shù)字圖像,則大概需要嘗試(255M+N)5次。
因為Henon映射和Rossler混沌映射都是混沌系統(tǒng),因此混沌系統(tǒng)具有的生成值空間數(shù)目眾多并且互不相關(guān)、對初值極度敏感等特性二者都具備。又因為Rossler混沌映射屬于高維混沌系統(tǒng),具有更好的隨機性和更強的對模型重構(gòu)攻擊抵抗性,同時具有比低維混沌系統(tǒng)更好的復(fù)雜性,也容易產(chǎn)生出保密性更好的密鑰空間,能夠用在數(shù)字圖像加密和解密中,產(chǎn)生具有安全性更高的密碼系統(tǒng)。
小知識之Lyapunov指數(shù)
Lyapunov指數(shù)是衡量系統(tǒng)動力學(xué)特性的一個重要定量指標(biāo),它表征了系統(tǒng)在相空間中相鄰軌道間收斂或發(fā)散的平均指數(shù)率。對于系統(tǒng)是否存在動力學(xué)混沌, 可以從最大Lyapunov指數(shù)是否大于零非常直觀的判斷出來: 一個正的Lyapunov指數(shù),意味著在系統(tǒng)相空間中,無論初始兩條軌線的間距多么小,其差別都會隨著時間的演化而成指數(shù)率的增加以致達到無法預(yù)測,這就是混沌現(xiàn)象。










