圖像加密算法之雙向擴(kuò)散機(jī)制融合時間延遲

當(dāng)前混沌加密系統(tǒng)大多采用單向擴(kuò)散機(jī)制,導(dǎo)致計算效率和加密解密速度較低,且都忽略了時間延遲現(xiàn)象,使其序列自相關(guān)性較高,無法滿足安全、實時的傳輸需求。為此,本文設(shè)計了時間延遲函數(shù)和雙向擴(kuò)散機(jī)制,采用雙向擴(kuò)散機(jī)制與時間延遲相融合的算法,并借助仿真手段來檢驗本文算法的加密性能。

一、圖像加密算法背景介紹

近年來,隨著超混沌系統(tǒng)理論及實際工程應(yīng)用的不斷發(fā)展,為圖像加密提供了一種新的有效保護(hù)手段。超混沌系統(tǒng)具有多個正的Lyapunov指數(shù)、軌跡難以預(yù)測與分析等特征,在圖像加密領(lǐng)域中得到了廣泛應(yīng)用。提出了改進(jìn)的AES超混沌系統(tǒng)圖像加密算法,并對該算法的安全性進(jìn)行了分析與研究,仿真實驗結(jié)果表明該加密系統(tǒng)安全性高,密鑰空間巨大,具有較強敏感性能,抗選擇明文攻擊能力與抗差分攻擊能力大幅度增強。設(shè)計了一種新的四維超混沌Chen系統(tǒng)對圖像進(jìn)行加密研究,實驗結(jié)果表明該加密系統(tǒng)密鑰空間巨大,抗選擇明文攻擊能力強。

在以上這些基于混沌理論的加密算法中,都使用了置亂一擴(kuò)散結(jié)構(gòu)。為了達(dá)到較好的加密效果,一般要使用多次置亂、多次擴(kuò)散,要經(jīng)過3輪~5輪的整體“置亂·擴(kuò)散”處理才能使得這些像素點的布局影響到整個密文。這些算法的加密實質(zhì)如圖1所示。

從圖1可知,想要得到理想加密性能,需進(jìn)行多次置亂、多次擴(kuò)散;然而,改變一個像素值,就需要一個對應(yīng)的密鑰流元素,生成一個加密元素又需要進(jìn)行一個置亂、迭代一次混沌系統(tǒng)以及量化處理。這樣就大大地增加了計算量和成本,導(dǎo)致較慢的加解密速度和計算效率,無法滿足實時傳輸要求。且這些混沌加密系統(tǒng)都沒有考慮時間延遲特征,導(dǎo)致其序列自相關(guān)性較高,降低了加密系統(tǒng)的安全性。

二、超混沌LORENZ系統(tǒng)

采用超混沌LORENZ系統(tǒng)生成對應(yīng)序列,其模型如下:

其中,X,Y,Z,W均為狀態(tài)參量,是x,y,z,w對時間f的微分;r為該系統(tǒng)的控制參數(shù);x,y,z以及w是系統(tǒng)參量;a,c,b以及r均為系統(tǒng)參數(shù),典型值分別為10,8/3以及28,r=0.85。設(shè)初始圖像P大小為MxN,具有M行和N列,該圖像的總大小為L=MxN。假設(shè)正整數(shù)No,時間間隔為1,設(shè)定超混沌LORENZ系統(tǒng)的初值(x0,Yo,z0,w0)以及系統(tǒng)參數(shù)A,B,c及R,利用四階龍格·庫塔公式迭代求解該超混沌系統(tǒng),得到了4個序列A={xi},A2={Yi},A3={zi},A2 ={wi},I=1,2,L,(L+N1)/4,則超混沌LORENZ系統(tǒng)產(chǎn)生的超混沌序列A= {A1,A2,A3,A4}。

然而當(dāng)前基于混沌序列的加密算法都沒有考慮時間延遲,導(dǎo)致超混沌序列的自相關(guān)性還不是十分理想,安全性較低。因此,本文提出時間延遲函數(shù)來解決這個問題。

三、時間延遲函數(shù)

時間延遲是自然界普遍存在的現(xiàn)象,在圖像加密領(lǐng)域中的混沌序列生成過程中仍然存在。本文采用logistic映射作為序列的生成器,其模型如下:

通過時間延遲函數(shù)式(3)將時間延遲引入到超超混沌偽隨機(jī)序列A中,連續(xù)進(jìn)行迭代計算,得到關(guān)于時間延遲的混沌序列:A'= {A'1,A'2,A'3,A'4}。

其中,k∈[1,2,L];λk1,λk2,λk3以及λk4分別表示生成對應(yīng)的偽隨機(jī)序列A'1,A'2,A'3以及A'4的第k個時間延遲值,這個時間延遲值由logistic映射模型控制。

由于時間延遲造成額外的時間成本,因此需要將這個時間延遲值見進(jìn)行合理的限制,使花費成本較低。若時間延遲λ在t時間間隔步驟范圍內(nèi),如式(4)所示:

其中,floor(h)代表與z相距最小的整數(shù);mod(h,f)代表的是h對t取余。

四、圖像加密算法描述

本文提出的加密算法流程如圖2所示。

該加密算法的描述如下:

步驟1假設(shè)圖像尺寸為MxN,設(shè)置好本文的初始條件x0,Yo,z0,wo以及參數(shù)a,b,c,r。

步驟2使用步驟1的初始條件以及混沌參數(shù),根據(jù)超混沌LORENZ系統(tǒng)模型進(jìn)行迭代計算,得到四維超混沌偽隨機(jī)序列A= {A1,A2,A3,A4},其中:Ai={xi},A2 ={Yi},A3={zi},A2={wi},i∈[O,n+l]。

步驟3根據(jù)時間延遲函數(shù)將λ值引入到序列A中,并進(jìn)行迭代計算,得到時間延遲序列:

步驟4每個序列中的元素按照從上到下的順序進(jìn)行排列,形成一個新的序列B'= {B'1,B'2,B'3,B'4},其中:

步驟5在A'= {A'1,A'2,A'3,A'4}中找出B'= {B'1,B'2,B'3,B'4}對應(yīng)的每個元素的位置,形成一個位置集合D={D1,D2,D3,D4),其中:D1={Xi},D2={Yi},D3={Zi},D4={Wi}。且元素之間的對應(yīng)關(guān)系為:

步驟6使用集合D對初始圖像進(jìn)行置亂處理,得到置亂圖像P’。

步驟7利用密鑰流元素計算公式量化步驟3得到的時間延遲混沌序列,得到與之相應(yīng)的密鑰流元素Zμn,將此4個密鑰流元素形成一個序列:

計算公式如下:

其中,abs(φn)是|X|的取值;round(X)是取x的整數(shù);floor(X)代表的是與x相距最小的x整數(shù)(<X);mod(X,IO代表的是X對y取余;L是圖像的灰度等級。

步驟8序列根據(jù)雙向擴(kuò)散機(jī)制對置亂圖像進(jìn)行擴(kuò)散處理。先進(jìn)行正向擴(kuò)散,利用式(7)~式(11)從圖像的第一個像素到最后一個像素進(jìn)行擴(kuò)散,Z中每個元素都在區(qū)[o,255]內(nèi),正向擴(kuò)散機(jī)制操作模型如下:

其中,CO為選擇的像素值常量;Ci,Ci-1分別為當(dāng)前像素值與前一個像素值。為使加密算法與明文圖像緊密相連,令Co為置亂圖像的第一個像素值與最后一個像素值的平均值;Pi'是置亂像素;Zxi表示第i元素,令Zx0等于置亂圖像第一個像素值。α1β1是加密系統(tǒng)中額外2個控制參數(shù)。

正向擴(kuò)散處理后,并沒有結(jié)束,而是進(jìn)行反向擴(kuò)散處理,反向擴(kuò)散模型如下:

其中,i=MxN,MxN-1,L,1。

步驟9直到雙向擴(kuò)散處理完畢后,得到加密元素序列E,按照從上到下,從左到右的順序?qū)中的每個元素進(jìn)行排列,輸出加密圖像。

五、仿真實驗結(jié)果及分析

1、時間延遲對混沌序列自相關(guān)性影響的對比分析

為了體現(xiàn)本文將時間延遲引入到超混沌序列后所產(chǎn)生的時間延遲混沌序列的自相關(guān)性優(yōu)勢,將所產(chǎn)生的混沌序列作為對照組。圖3為混沌序列的自相關(guān)性系數(shù)變化仿真結(jié)果。未考慮時間延遲的超混沌序列的自相關(guān)性如圖3(a)所示,其自相關(guān)性呈現(xiàn)無規(guī)則波動的分布狀態(tài),但是波動幅度較大,表明其自相關(guān)性還不是很理想;圖3(b)是本文算法處理后的混沌序列的自相關(guān)性分布。

 

從圖3中可知,將時間延遲引入到超混沌序列中,其自相關(guān)性達(dá)到了較為理想的狀態(tài),當(dāng)m不斷變化時,自相關(guān)系數(shù)變化的程度相當(dāng)小。可見,時間延遲能顯著消除序列的自相關(guān)性,使其達(dá)到理想效果,具有更好的偽隨機(jī)性。

2、加密算法安全性能仿真分析

借助Matlab仿真軟件對本文加密算法的加密質(zhì)量進(jìn)行驗證。輸入一個邊長L為256的正方形明文圖像,色灰度為256。仿真結(jié)果如圖4(a)~圖4(c)所示。其中,r=-0.85,初值依次為xo=2.5,Yo=6.2,zo=4.8,wo=3.9。

(1)灰度直方圖

灰度直方圖能夠直接反映出像素的分布狀況。從圖5(a)可知,初始圖像的灰度分布不均勻,波動程度較大;而經(jīng)過位置集合置亂方法置亂后的像素灰度直方圖與圖5(a)相同,如圖5(b)所示,表明它們的偽隨機(jī)性以及冗余性較低,容易被攻擊者破譯。而經(jīng)過本文加密算法處理后的圖像灰度直方圖發(fā)生了根本性變化,如圖5(c)所示,呈現(xiàn)出均勻狀態(tài),擁有較高的加密安全性。

(2)密鑰空間

根據(jù)本文加密算法描述可知,本文圖像加密算法的密鑰空間包括了超混沌LORENZ系統(tǒng)的初始條件以及控制參數(shù),Logistic模型的初值以及時間延遲值。假設(shè)計算精度達(dá)到l0-16,則本文算法的密鑰空間為(1 016)10=10160,顯著大于2100。可見,本文加密算法所具有的密鑰空間是巨大的,具有相當(dāng)強的抗窮舉攻擊能力。

(3)相鄰2個像素點的相關(guān)性分析

一個理想的加密算法應(yīng)能有效消除2個相鄰像素點的相關(guān)性。在初始與密文圖像中隨意擇取1 600對相鄰像素點,以計算Yxy。其模型如下:

圖6是初始圖像與密文的2個相鄰像素點在水平軸線上的相關(guān)性測試結(jié)果。從圖6(a)可知,明文圖像的相鄰像素值聚集成一條對角線,說明其具有較強的相關(guān)性,達(dá)到0.962 7;而經(jīng)過本文算法操作后,其像素值均勻地布滿了整個灰度平面,如圖6(b)所示,約為0.002 3。表明其相關(guān)性得到了明顯消除。

其他2個方向的相關(guān)性實驗結(jié)果如表1所示。從表1也可知,明文圖像相關(guān)性是較高的,而經(jīng)過本文提出的加密算法處理后的密文圖像關(guān)性得到了大幅度降低,趨于0。

(4)計算效率以及抵御差分攻擊性能的對比分析

本文根據(jù)像素變化率rNPCR以及平均變化強度SUACI來評估該算法的加密性能。其模型如下:

根據(jù)上述公式計算得到rNPCR=99.62%,SUAa=33.35%,分別如圖7(a)和圖7(b)所示。因此,本文提出的算法中任何一個初值一旦發(fā)生極其微小的變化,則其相應(yīng)的密文之間的差異度巨大。從圖中也可看到,本文加密算法的像素變化率和平均變化強度都是在迭代1次時,就達(dá)到了理想的效果;則需要經(jīng)過3輪迭代計算才能達(dá)到一樣的效果??梢?,本文算法具有較高的計算效率,避免了多輪“置亂·擴(kuò)散”的時耗問題。

(5)加密速度

一個良好的加密系統(tǒng)應(yīng)該具有較快的加密速度和解密速度,特別是對于實時互聯(lián)網(wǎng)的應(yīng)用。采用???.5 GHz雙核CPU,4 GB的內(nèi)存,操作系統(tǒng)為Windows XP。采用本文加密算法對大小為256x256像素的圖像進(jìn)行加密,其加密速度達(dá)到了31.34 MB/s。主要原因是本文算法使用了雙向擴(kuò)散機(jī)制,從而明顯提高了加密速度。本文算法的加密速度非常適用于實時互聯(lián)網(wǎng)的應(yīng)用。

小知識之Lyapunov指數(shù)

Lyapunov指數(shù)是衡量系統(tǒng)動力學(xué)特性的一個重要定量指標(biāo),它表征了系統(tǒng)在相空間中相鄰軌道間收斂或發(fā)散的平均指數(shù)率。對于系統(tǒng)是否存在動力學(xué)混沌, 可以從最大Lyapunov指數(shù)是否大于零非常直觀的判斷出來: 一個正的Lyapunov指數(shù),意味著在系統(tǒng)相空間中,無論初始兩條軌線的間距多么小,其差別都會隨著時間的演化而成指數(shù)率的增加以致達(dá)到無法預(yù)測,這就是混沌現(xiàn)象。