圖像加密算法之交替迭代混沌系統(tǒng)加密

基于logistic映射和時空混沌系統(tǒng),我們設計了一個密鑰長度為256 bit的圖像分組加密算法,將256 bit的明文圖像分組加密為等長的密文圖像。該加密算法引人的輔助密鑰和設計的迭代次數(shù)敏感地依賴于明文分組和密鑰,交替迭代混沌系統(tǒng)及Arnold映射實現(xiàn)了像素值的擾亂和位置置亂,接下來我就給您詳細介紹一下。

一、混沌系統(tǒng)

logistic映射是一種在混沌密碼中常用的一維離散動態(tài)自治系統(tǒng),可以通過微小的改變參數(shù)值或初值來產生完全不同的偽隨機序列。其動力學方程為:

圖像加密算法之交替迭代混沌系統(tǒng)加密

式中:μ∈ [0,4]被稱為Logistic參數(shù),初值X0∈(0,1);xi為狀態(tài)變量在第i次迭代的值,隨著參數(shù)μ的增加,系統(tǒng)(1)不斷地經歷倍周期分叉最終達到混沌狀態(tài)。當控制參數(shù)滿足3. 599 456 <p≤4時,對于不同的初值,迭代生成的狀態(tài)值均處于偽隨機分布的混沌狀態(tài),時空混沌系統(tǒng)的基本模型——耦合映像格子( coupled map lattices,CML)是由日本學者Kaneko提出來的,耦合映像格子在時間上和空間上均具有混沌行為,有多個正李雅普諾夫指數(shù),其定義如下:

圖像加密算法之交替迭代混沌系統(tǒng)加密

式中:n為離散時間步數(shù);i =1,2,…,L為離散格子的坐標;xn(i)為第f個格子在n時刻的狀態(tài);耦合系數(shù)ε∈??(0,1);L為系統(tǒng)尺寸;f為演化規(guī)則,邊界條件滿足xn(0)=xn( L),局部映射廠可取擴展帳篷映射:

圖像加密算法之交替迭代混沌系統(tǒng)加密

式中,α,β為常數(shù)且0<α,β<1,α≠β。fα(β)≠α,當xi∈?[O,1]時,系統(tǒng)處于混沌狀態(tài)。

時空混沌具有不可逆性,有優(yōu)于低維度混沌系統(tǒng)的良好的混淆和擴散特性以及對初始值和參數(shù)的敏感性等特性,當初始條件為[0,1]內的隨機數(shù),參數(shù)α=0.5,β=o.1,L=16,ε=0.05時,耦合映像格子系統(tǒng)呈現(xiàn)如圖1所示的混沌行為。

圖像加密算法之交替迭代混沌系統(tǒng)加密

二、基于交替迭代混沌系統(tǒng)的圖像加密算法

本文加密算法分為兩部分:像素值擾亂和像素位置置亂,第一部分由256 bit的明文產生256 bit的密文,主要完成對明文像素的擾亂。明文分組在加密過程中使用了一個基于明文和密鑰變化而變化的輔助密鑰,首先從初始條件出發(fā)交替迭代logisLic映射和擴展帳篷( tent)映射生成序列,該序列驅動映像格子快速產生時空混沌序列;然后將此序列比特串做循環(huán)左移運算得到新序列,與明文像素分組異或產生密文像素分組.算法的關鍵是輔助密鑰和混沌置亂序列的產生,明文像素分組的加密過程如圖2所示。

圖像加密算法之交替迭代混沌系統(tǒng)加密
第二部分作像素位置置亂,首先將生成的各個密文像素分組,用Matlab軟件的矩陣成型函數(shù)reshape()將各個分組組合成矩陣的形式,重新置亂矩陣的各位置,得到加密的密文圖像。本文采用二維Arnold混沌映射來完成像素位置置亂。

1、加密算法原理

一種安全性好的加密算法不僅要求密文敏感地依賴于密鑰,也要求其敏感地依賴于明文,并且密文在密文空間中均勻分布。本加密算法引入的輔助密鑰,既依賴于明文圖像的大小和像素值,又依賴于密鑰,使得不同的明文或密鑰每次都會產生不同的輔助密鑰,輔助密鑰的構造方法是:首先求出明文大小N×N、明文分組像素值之和以及密鑰之和,三者相乘的結果再作模256運算,最后除以256生成一個(0,1)之間的輔助密鑰.由于混沌初值對明文已經有很強的依賴作用,這種輔助密鑰對混沌初值和參數(shù)的調制作用(相乘),增加了算法對明文和密鑰的敏感性,可以抵抗差分攻擊[12J和已知明文攻擊;同時增大了密鑰空間,使破譯者的窮盡搜索攻擊變得更加困難。加密算法設計的混沌迭代次數(shù)是對明文分組和密鑰之和作模256運算,這種設計使混沌迭代次數(shù)可以根據(jù)分組和密鑰的不同來動態(tài)的選取。

混沌密碼分析方法主要是根據(jù)所截獲信號的混沌動力學行為來重構相空間,得出混沌映射的數(shù)學表達式,再通過分析大量的明文一密文對獲得加密算法,甚至破譯出整個明文或密鑰,交替迭代logisLic映射和擴展帳篷映射生成隨機序列的方法,增強了算法的擴散效果,能有效避免單混沌系統(tǒng)由于信號的泄露而導致的相空間重構攻擊。交替迭代式(2)和式(3)生成的序列對初值有很好的敏感性,如圖3所示,橫坐標表示迭代次數(shù),縱坐標表示生成序列的取值范圍(0,1),在依次迭代200一400次,初值為xo=0.566 358和y0=0.566 359時,序列的分布差別很大。

圖像加密算法之交替迭代混沌系統(tǒng)加密

交替迭代后耦合映像格子生成的序列(類似于圖1)具有很好的密碼學特性,比單混沌的生成序列具有更好的隨機性和相關性;序列的線性復雜度高,初始值X0=0.566 358在圖1的參數(shù)控制下演化,取長度為256 bit的生成序列,按照Berlekamp-Massey算法計算的線性復雜度為127。十分逼近于理想值256/2=128,說明生成的序列有理想的線性復雜度,具備很好的抵抗線性攻擊的能力;易于批量的生產,非常適合于圖像加密領域。

基于以上因素,本文采用交替迭代混沌系統(tǒng)的方法,在輔助密鑰的控制下擾亂像素值,并對像素位置置亂進行加密。

三、本文加密算法與傳統(tǒng)分組加密算法的比較

處理復雜度和數(shù)據(jù)復雜度是加密短發(fā)可靠性的兩個衡量標準,分別用來說明處理數(shù)據(jù)的計算量和攻擊所需的數(shù)據(jù)量,由于本文加密算法基于混沌系統(tǒng),與傳統(tǒng)分組密碼算法AES、DES過程完全不同,故只需比較處理復雜度,處理復雜度通常以密鑰窮盡搜索攻擊的復雜度表示,所以需要考察算法的密鑰空間來比較兩者的處理復雜度。本文算法的主密鑰空間已達2的256次方,與AES、DES加密算法相比顯然提高了很多,因而本算法具有足夠高的處理復雜度,比較結果詳見表2。

圖像加密算法之交替迭代混沌系統(tǒng)加密

小知識之迭代

迭代是重復反饋過程的活動,其目的通常是為了接近并到達所需的目標或結果。每一次對過程的重復被稱為一次“迭代”,而每一次迭代得到的結果會被用來作為下一次迭代的初始值。