二維分段線性映射在圖像加密中的應(yīng)用

鑒于一維分段線性映射的參數(shù)只有一個,很難保證加密算法的安全性,因此,我們提出了一種將一維分段線性映射推廣至二維平面,得到平面上的二維分段線性映射,并且證明了二維分段線性映射具有混沌特性,作為一個應(yīng)用,將其與圖像相結(jié)合,利用二維分段線性映射生成的兩個序列對圖像文件加密,可以更加有效的解決一維分段線性映射由于生成序列過長而導(dǎo)致的周期退化問題,從而保證了加密算法具有一定的安全性。

一、二維分段線性映射及其性質(zhì)

有資料給出了一種具有良好隨機統(tǒng)計特性的一維分段線性映射的具體形式,定義如下:

二維分段線性映射在圖像加密中的應(yīng)用

其中,控制參數(shù)p的范圍為p∈(o,1/2),在初值x和控制參數(shù)p給定后,經(jīng)過循環(huán)迭代得到[0,1]上的隨機序列,式(1)生成的隨機序列具有以下良好的統(tǒng)計特性:

(1)其Lyapunov指數(shù)大于零,系統(tǒng)是混沌的,輸出信號滿足遍歷各態(tài)性、混和性和確定性;

(2)具有一致的不變分布密度函數(shù),f(x)=1;

(3)輸出軌道近似自相關(guān)函數(shù)_τ(n)=σ(n);

由于一維分段線性映射的生成序列具有良好的統(tǒng)計特性,文中將其進行推廣得到平面上的二維分段線性映射,定義如下:

二維分段線性映射在圖像加密中的應(yīng)用

其中,F(xiàn)( p,x)的定義為公式(1),F(xiàn)(t,y)的定義為:

二維分段線性映射在圖像加密中的應(yīng)用

二維分段線性映射具有兩個控制參數(shù)p,f,其范圍分別為p∈(o,1/2),t∈(o,1/2)。下面證明二維分段線性系統(tǒng)Fx,y(p,f,x,y)=(F( p,x)F(t,y))是混沌的。

系統(tǒng)中是否存在混沌運動主要是通過判斷系統(tǒng)最大的Lyapunov指數(shù)是否大于0決定的,因此只需要驗證二維分段線性映射最大的Lyap unov指數(shù)與0的關(guān)系即可得知系統(tǒng)是否是混沌的。

二維分段映射可以改寫為:

二維分段線性映射在圖像加密中的應(yīng)用

考慮到映射生成序列之間存在一定的關(guān)系,式(4)給出了點(x,y)與其后繼點(x1,y1)之間的關(guān)系,其中f1與f2表示它們之間的抽象關(guān)系,若初始點x0和y0的偏差分別為σxo和σy0,從初始點( xo,yo)出發(fā),由式(2)得到依次迭代的點為( x1,y1),( x2,y2),...,(xn,yn),前(n-1)個J accobi矩陣為:

二維分段線性映射在圖像加密中的應(yīng)用

且有:

二維分段線性映射在圖像加密中的應(yīng)用

設(shè)二階矩陣J=Jn-1×Jn-2×…XJ0,它的兩個特征值分別記為A1和A2,則二維分段紛性映射的兩個Lyapunov指數(shù)為:

二維分段線性映射在圖像加密中的應(yīng)用

為了判定系統(tǒng)最大的Lyapunov指數(shù)與0的關(guān)系,考慮到系統(tǒng)的Lyapunov指數(shù)與特征值之間存在的關(guān)系,轉(zhuǎn)而考慮系統(tǒng)的Jaccobi矩陣的行列式與1的關(guān)系,當(dāng)行列式大于1時,表明至少有一個特征值大于1,保證了至少真廠個Lyap unov指數(shù)大于o,從而可知系統(tǒng)是混沌的.

二維分段線性映射的Jacobin矩陣為:

二維分段線性映射在圖像加密中的應(yīng)用

系統(tǒng)參數(shù)p,t∈(o,1/2)。則有|J(x)|=|ab|>1,因此二維分段線性映射是混沌的。

二、迭代序列比較分析

將一維分段線性映射推廣至平面生成二維分段線性映射,以下通過實驗仿真得到一維與二維分段線性映射生成的序列整觀察可知,二者的生成序列具有類似的隨機性,從圖(1)的(a)中可以直觀的看出,對于隨機給定的初值與參數(shù),一維分段線性映射的生成序列具有隨機性,并且可以遍歷整個值域,圖(b)表示二維分段線性映射的兩個生成序列,其中“+”表示一個序列,“0”表示另一個序列,可以直觀的看出兩個生成序列可以遍歷整個值域,反映了二維分段線性映射的生成序列與一維分段線性映射的生成序列具有相似的隨機性質(zhì)。

二維分段線性映射在圖像加密中的應(yīng)用

三、二維分段線性映射在圖像加密中的應(yīng)用

傳統(tǒng)的圖像加密算法主要分為基于像素點位置的變化和基于像素點灰度值的變化兩種,基于像素點位置的變化是指通過一定的排列算子對像素點的位置進行置亂,使圖像看似變得雜亂無章,對于排列算子已知的算法,由于加密算法與密鑰無關(guān),所以容易受差分密碼分析的攻擊,并且變換前后圖像的直方圖并不改變,增大了被破譯的可能性,為了更好的保護圖像中的信息,通常是將兩種方式結(jié)合使用,既改變圖像像素點的位置又改變像素點的灰度值,使得攻擊者無法利用差分密碼分析攻擊加密結(jié)果圖像,文中利用二維分段線性映射得到兩個序列,分別用于像素點的灰度值與位置變化,以達到更好的加密效果。

設(shè)原始圖像AM×N為M行N列,對像素點灰度值的變化采用異或運算,從二維分段線性映射生成的兩個序列中選取一個序列,依次取長為M×N的—段,進行擴大取整,由于灰度圖像灰度值的范圍為O~255,所以取整倍數(shù)定為255,將其轉(zhuǎn)化為與圖像大小相同的矩陣形式,稱為隨機矩陣,與圖像相結(jié)合,對兩個矩陣每一個對應(yīng)位置處的像素灰度值與隨機矩陣侑進行異或運算,得到灰度值改變后的結(jié)果圖像。

對像素點位置的變換采用循環(huán)移位運算,從生成的另一個序列中依次取長為( M+N)的一段,進行擴大取整,擴大倍數(shù)可以隨機選取,得到的整數(shù)序列稱為隨機序列,其中前M個隨機整數(shù)分別與圖像的M行相對應(yīng),用于行循環(huán)右移操作,循環(huán)右移的位數(shù)為與該行對應(yīng)的隨機整數(shù),后N個隨機整數(shù)分別與圖像的N列相對應(yīng),用于列循環(huán)下移操作,循環(huán)下移的位數(shù)為與該列對應(yīng)的隨機整數(shù),這樣就可以實現(xiàn)圖像的加密操作。

(1)加密步驟

Step1:隨機生成所需的初始參數(shù),利用二維分段線性映射得到兩個隨機序列,分別進行擴大取整,生成隨機矩陣與隨機序列。

Step2:將待加密的圖像矩陣與隨機矩陣相結(jié)合,將兩個矩陣對應(yīng)位置處像素點的灰度值分別進行異或運算,得到灰度值改變后的結(jié)果圖像。

Step3:將灰度值改變后的結(jié)果圖像與隨機序列相結(jié)合,取隨機序列的前M個隨機整數(shù)用于M行的循環(huán)右移,后N個隨機整數(shù)用于N列的循環(huán)下移,得到加密后的結(jié)果圖像。

具體的加密流程如圖2所示。

二維分段線性映射在圖像加密中的應(yīng)用

(2)解密步驟

Step1:接收方根據(jù)接收到的初值重構(gòu)出用于加密圖像的兩個混沌序列,分別轉(zhuǎn)化為隨機矩陣與隨機序列。

Step2:首先進行循環(huán)移位加密的解密,行的循環(huán)右移對應(yīng)于行的循環(huán)左移,列的循環(huán)下移對應(yīng)于列的循環(huán)上移,利用重構(gòu)的隨機序列得到循環(huán)移位解密后的結(jié)果圖像。

Step3:進行異或運算加密的解密,由于異或運算具有的特殊性質(zhì),可以將經(jīng)過循環(huán)移位解密后的圖像與得到的隨機矩陣進行異或運算,得到解密后的結(jié)果圖像。

四、實驗結(jié)果

對256 ×256的Lena圖像文件加密、解密操作,圖3給出了用文中加密算法對圖像文件加密的結(jié)果圖像及其對應(yīng)的灰度直方圖,以及當(dāng)解密時初值有微小變化得到的錯誤解密結(jié)果圖像。

二維分段線性映射在圖像加密中的應(yīng)用

在本實驗中,初值均為隨機選取的,加密圖像所用參數(shù)的值分別為:分段線性映射的初值為x=0. 6068,y=0.4860,控制參數(shù),p=0.4751,t=0. 1156。當(dāng)一個控制參數(shù)有0.000001的變化時便不能正確解密文件加密結(jié)果圖像。

從圖3的實驗結(jié)果可知:首先,本加密算法對圖像的直方圖做了極大的改變,使得圖像文件加密結(jié)果是圖像的直方圖較原圖像的直方圖而言看似更加平滑,降低了被攻擊的可能性,其次,算法的密鑰包括:混沌系統(tǒng)的初值,參數(shù)以及取整倍數(shù),因此,加密算法具有足夠大的密鑰空間,并且算法對系統(tǒng)初值具有高度的敏感性,可以有效的抵御攻擊者的統(tǒng)計分析攻擊。

實驗結(jié)果表明,利用二維分段線性映射給圖像文件加密時可以得到較好的加密效果。

小知識之分段線性映射

分段線性映射指兩個單純形間的映射,它限制一個點(不是頂點)附近是線性的。