劉 嵩, 韋亞萍, 劉靜漪, 張國(guó)平
(1.華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院, 武漢 430070;2.湖北民族大學(xué)新材料與機(jī)電工程學(xué)院, 湖北 恩施 445000)
混沌是非線性動(dòng)力系統(tǒng)的一種運(yùn)動(dòng)形式,描述了確定性非線性系統(tǒng)中的復(fù)雜現(xiàn)象.自Lorenz于1963年首次在確定性方程中發(fā)現(xiàn)混沌現(xiàn)象以來(lái),學(xué)者們對(duì)混沌系統(tǒng)展開(kāi)了廣泛深入的研究,其理論已廣泛的應(yīng)用于生物醫(yī)學(xué)、信息科學(xué)、氣象學(xué)、圖像處理、天文學(xué)、經(jīng)濟(jì)學(xué)等領(lǐng)域[1-3].
混沌系統(tǒng)具有遍歷性、有界性、對(duì)初始條件敏感等特征,非常符合數(shù)字圖像加密的需求,引起了圖像加密領(lǐng)域研究者的密切關(guān)注[4-5].文獻(xiàn)[6]改進(jìn)了Logistic混沌,采用擴(kuò)散-置亂-擴(kuò)散的方法對(duì)圖像進(jìn)行加密,降低了有限精度效應(yīng),提高了密鑰空間.文獻(xiàn)[7]生成了四維多翼超混沌吸引子,采用混合加密方法,消除了確定的明文密文映射關(guān)系.文獻(xiàn)[8]分析了AES算法在處理大尺寸圖像時(shí)效率不高,需要增加額外的計(jì)算時(shí)間.文獻(xiàn)[9]設(shè)計(jì)了一種基于塊加密認(rèn)證的圖像加密算法.文獻(xiàn)[10]首先置亂明文圖像的像素,然后通過(guò)混沌映射得到偽隨機(jī)序列,再利用得到的偽隨機(jī)序列與置亂圖像進(jìn)行異或操作實(shí)現(xiàn)像素?cái)U(kuò)散,最后通過(guò)S-Box進(jìn)行像素灰度值替換得到密文圖像,取得了較好的加密效果.文獻(xiàn)[11]提出一種彩色圖像加密方案,首先將彩色圖像的3個(gè)分量合成為一個(gè)灰度圖像,然后對(duì)圖像像素分別進(jìn)行行置亂和列置亂,實(shí)現(xiàn)圖像加密.
采用軌跡簡(jiǎn)單的混沌系統(tǒng)組成的密碼直接加密明文,能夠相對(duì)較容易的被破解.與單渦卷混沌系統(tǒng)或者雙渦卷混沌系統(tǒng)相比,多渦卷混沌系統(tǒng)控制參數(shù)更多,相應(yīng)的密鑰參數(shù)也就更多,而且在相空間中能呈現(xiàn)出復(fù)雜的多方向分布的網(wǎng)格狀渦卷,渦卷的數(shù)量和形狀等性能也可以由系統(tǒng)的參數(shù)來(lái)控制調(diào)整,因此具有更加復(fù)雜的動(dòng)力學(xué)行為[12-15],更有利于圖像加密.鑒于此,本文從研究5階線性系統(tǒng)出發(fā),通過(guò)引入分段線性函數(shù)構(gòu)造一個(gè)多渦卷混沌系統(tǒng),將該混沌系統(tǒng)應(yīng)用于一種新的“置亂+擴(kuò)散”加密算法,獲得了較為優(yōu)越的加密效果.
首先構(gòu)建一個(gè)新的5階線性系統(tǒng),該系統(tǒng)的雅克比矩陣為滿秩,保證系統(tǒng)唯一的平衡點(diǎn)屬于指標(biāo)2的鞍焦平衡點(diǎn)[16].新的五階線性系統(tǒng)描述為:
(1)
基于線性系統(tǒng)(1),引入分段線性函數(shù)構(gòu)建多渦卷混沌系統(tǒng):
(2)
其中,fi(xi)是分段線性函數(shù),為簡(jiǎn)便起見(jiàn),選擇階躍函數(shù)構(gòu)建分段線性函數(shù),其表達(dá)式如式(3)和(4),其中式(3)可以擴(kuò)展的渦卷數(shù)目為 2Ni+2,式(4)可以拓展的渦卷數(shù)目為2Mi+1.
sgn(xi+2nAi)],
(3)
sgn(xi+(2n-1)Ai)].
(4)
如選擇Ai=1,Mi=1,即
fi(xi)=sgn(xi-1)+sgn(xi+1).
(5)
系統(tǒng)可以在每一維空間方向上擴(kuò)展3個(gè)渦卷,在MATLAB上的數(shù)值仿真如圖1所示.
圖1 五階系統(tǒng)的相圖Fig.1 Phase diagram of five-dimensional chaotic system
從系統(tǒng)(2)可以看出,系統(tǒng)滿足(x,y,z,w,u)→(-x,-y,-z,-w,-u),因此該系統(tǒng)是關(guān)于坐標(biāo)原點(diǎn)對(duì)稱(chēng),從而為擴(kuò)展多渦卷吸引子提供了可能.由于
(6)
所以系統(tǒng)(2)是耗散的,且以指數(shù)形式收斂,其運(yùn)動(dòng)軌跡被固定在一個(gè)吸引子上, 也說(shuō)明混沌吸引子是存在的[17-18].
(7)
選擇適當(dāng)?shù)某踔?,利用Wolf算法可以計(jì)算系統(tǒng)(2)的5個(gè)Lyapunov指數(shù)如下:
L1=0.1815,L2=0.1671,L3=-0.2208,
L4=-0.2212,L5=-0.5622,
系統(tǒng)有2個(gè)Lyapunov指數(shù)大于0,由此說(shuō)明系統(tǒng)(2)是一個(gè)超混沌系統(tǒng)[19].
系統(tǒng)(2)的維數(shù)計(jì)算如下.
圖2 指標(biāo)2的鞍焦平衡點(diǎn)分布Fig.2 The saddle-focus equilibrium distribution of index 2
(8)
因此,系統(tǒng)(2) 的Lyapunov維數(shù)為分?jǐn)?shù)維數(shù),也驗(yàn)證了系統(tǒng)(2)為混沌[20].
混沌系統(tǒng)具有初值敏感性和不可預(yù)測(cè)性,是其能夠應(yīng)用于圖像加密的根本原因.采用系統(tǒng)(2)構(gòu)造的多渦卷混沌系統(tǒng),用于圖像加密的方案原理如圖3所示.
圖3 圖像加密的方案原理圖Fig.3 Schematic diagram of image encryption scheme
本加密算法采用的密鑰為key={x0y0z0w0u0},主要步驟如下:
Step1: 讀入待加密圖像P,設(shè)圖像大小為:M×N;
Step2: 錄入混沌系統(tǒng)參數(shù)值和初值,通過(guò)迭代生成5個(gè)混沌序列x,y,z,w,u;
Step3: 利用公式(9)從x序列中截取10個(gè)M長(zhǎng)的混沌序列row[10,M],用于圖像行置亂.利用公式(10)從y序列中截取10個(gè)N長(zhǎng)的混沌序列column[10,N],用于圖像列置亂.舍去前10 000個(gè)元素以消除混沌序列的暫態(tài)效應(yīng);
row(i,∶)=x(i*1000+
10001∶i*1000+10000+M),
(9)
column(i,∶)=y(i*1000+
10001∶i*1000+10000+N).
(10)
Step4: 按照式(11)將矩陣row(i,∶)按從小到大的順序進(jìn)行排序,得到一個(gè)位置序列L1,通過(guò)式(12)對(duì)圖像P進(jìn)行行置亂,得到圖像P1;
[y1,L1]=sort(row(i,∶)),
(11)
P1(j,∶)=P(L1(j),∶).
(12)
Step5: 同理,將矩陣column(i,∶)按從小到大的順序進(jìn)行排序,得到一個(gè)位置序列L2,通過(guò)式L2對(duì)圖像P1進(jìn)行列置亂,得到圖像P2;
Step6: 重復(fù)Step4和Step5,依次對(duì)圖像進(jìn)行行置亂和列置亂,經(jīng)過(guò)10輪得到置亂圖像P3;
Step7: 通過(guò)式(13)、(14)首先提取z(10000+1,10000+M×N)、w(10000+1,10000+M×N)兩個(gè)偽隨機(jī)序列元素中小數(shù)點(diǎn)后第9~12位的二進(jìn)制數(shù)字,再將提取的兩個(gè)二進(jìn)制數(shù)求模后加1,得到兩個(gè)隨機(jī)整數(shù)序列,最后將兩個(gè)隨機(jī)整數(shù)序列轉(zhuǎn)換成M×N的矩陣
K1={k1(i,j)},K2={k2(i,j)};
K1=reshape(mod(mod(floor(z(10000+1∶10000+M×N)*1012),1000),M)+1,M,N),
(13)
K2=reshape(mod(mod(floor(w(10000+1∶10000+M×N)*1012),1000),M)+1,M,N),
(14)
Step8: 通過(guò)式(15)取u(10000+1,10000+M×N)元素中小數(shù)點(diǎn)后9~12位數(shù)字,對(duì)256求模,得到一個(gè)0~255的隨機(jī)整數(shù)序列,將其轉(zhuǎn)換成M×N的矩陣K3;
K3=reshape(mod(mod(floor(u(10000+1:10000+M×N)*1012),1000),M)+1,M,N).
(15)
Step9: 通過(guò)式(16)對(duì)圖像P3進(jìn)行像素值擴(kuò)散,得到加密圖像.
P3(i,j)=bitxor(bitxor(P3(i,j),K3(i,j)),
P3(k1(i,j),k2(i,j))).
(16)
當(dāng)k1(i,j)=i且k2(i,j)=j時(shí),式(16)修正為式(17):
P3(i,j)=bitxor(P3(i,j),K3(i,j)).
(17)
分別選取256×256的Lena、pepper和bridge灰度圖作為初始實(shí)驗(yàn)圖像,實(shí)驗(yàn)結(jié)果如圖4所示,說(shuō)明本算法可以完成圖像的加密和解密操作.
圖4 圖像的加密結(jié)果仿真Fig.4 Image encryption simulation results
該算法密匙由5個(gè)狀態(tài)變量的初值組成,假設(shè)計(jì)算機(jī)存儲(chǔ)精度為10-15,則該算法的密匙空間為1015×1015×1015×1015×1015=1075.如果增加系統(tǒng)參數(shù)密匙,算法密匙空間將變得更大,也就具有更強(qiáng)的抵抗窮舉暴力攻擊的能力.
直方圖反映了數(shù)字圖像像素的各個(gè)灰度級(jí)與其出現(xiàn)概率的關(guān)系,直方圖分布越均勻,圖像數(shù)據(jù)越隨機(jī),加密效果越好[21].圖5給出了明文圖像和密文圖像的灰度直方圖,從圖5可以看出,經(jīng)過(guò)加密運(yùn)算,圖像的灰度均勻性明顯優(yōu)于原始明文圖像,且密文的像素值在整個(gè)像素取值范圍內(nèi)出現(xiàn)的概率趨于均等,有效地掩蓋了明文圖像像素值的分布情況,給攻擊者利用統(tǒng)計(jì)分析方法破解密文圖像增加了難度.
圖5 原始圖像和加密圖像灰度值直方圖Fig.5 Histogram of gray value of original image and encrypted image
圖像加密的目標(biāo)之一就是減少圖像相鄰像素的相關(guān)性,使相關(guān)系數(shù)趨于 0.為了評(píng)估加密圖像相鄰像素的相關(guān)性,在3幅實(shí)驗(yàn)圖像的明文圖像和密文圖像上分別隨機(jī)選取1 000個(gè)像素,計(jì)算相關(guān)系數(shù)
(18)
其中,cov(x,y)、D(x)、E(x)分別為協(xié)方差、方差和均值:
(19)
圖6是Lena原圖和加密圖像在水平、垂直和對(duì)角線三個(gè)方向的相關(guān)性.表1給出明文圖像和密文圖像在水平方向、垂直方向和對(duì)角線方向的相關(guān)系數(shù).從圖6可以看出明文圖像相鄰像素在水平方向、垂直方向和對(duì)角線方向上的相關(guān)性極強(qiáng),而密文圖像相鄰像素在3個(gè)方向上相關(guān)性已經(jīng)非常小,對(duì)應(yīng)的相關(guān)系數(shù)非常接近0,說(shuō)明明文圖像的統(tǒng)計(jì)特性已很好地?cái)U(kuò)散到密文圖像中.
表1 原始圖像與密文圖像相關(guān)系數(shù)的比較
圖6 Lena圖像相鄰像素相關(guān)性對(duì)比Fig.6 Correlation comparison of adjacent Lena pixels
密匙敏感性包括加密敏感性和解密敏感性,加密敏感性是用來(lái)表征在加密解密過(guò)程中,如果將加密密匙的某個(gè)參數(shù)值引入微弱的擾動(dòng),得到的密文圖像與原密文圖像的差異程度,解密敏感性是用來(lái)表征在解密同一密文圖像時(shí),對(duì)密匙引入微弱擾動(dòng),得到的解密圖像與原明文圖像的差異程度.如果差異顯著,說(shuō)明該算法具有較好的敏感性.像素變化比率(NPCR)和歸一化平均變化程度(UACI)可以用來(lái)評(píng)價(jià)算法的加密敏感性[22-23],其計(jì)算方法如下:
(20)
其中,M,N為圖像大小,C1(i,j),C2(i,j)為兩個(gè)密文圖像,NPCR和UACI的理想值為99.6094%和33.4635%.為評(píng)估該算法的加密敏感性,在圖像加密過(guò)程中,分別對(duì)五個(gè)初值加以微弱擾動(dòng),相應(yīng)的測(cè)試結(jié)果如表2所示.從表2可以看出在加密過(guò)程中,計(jì)算得到密文圖像的NPCR和UACI均接近理想值,證明了該算法在加密過(guò)程中具有良好的敏感性.
表2 密文圖像密匙敏感性
在解密過(guò)程中,采用同樣的辦法對(duì)密匙加以擾動(dòng),相應(yīng)的測(cè)試結(jié)果如圖7所示,從圖7可以看出:加入擾動(dòng)后該算法不能正確解出原始圖像,同樣說(shuō)明了該算法具有良好的解密敏感性.
圖7 解密密匙敏感性測(cè)試(解密圖像)Fig.7 Sensitivity test for decryption key (decryption image)
圖像信息熵也可以反映圖像灰度值的分布,一般來(lái)說(shuō),圖像的灰度值分布越均勻,其信息熵就越大[24].其計(jì)算方法如下:
(21)
其中,L為像素的灰度級(jí),p(xi)為灰度值xi出現(xiàn)的概率.表3給出了明文圖像和密文圖像的信息熵,從表3可以看出密文圖像的信息熵與理論值(8)非常接近.表4給出了本算法的信息熵與現(xiàn)有圖像加密方案得到的信息熵對(duì)比,從表4可以看出本算法的密文信息熵優(yōu)于其他文獻(xiàn),說(shuō)明本算法具有更好的加密效果.
表3 明文圖像與密文圖像信息熵對(duì)比表
表4 信息熵對(duì)比分析表
以Lena圖像為例,對(duì)密文圖像進(jìn)行剪裁,即將其中部分像素值置成0.表5給出了經(jīng)部分裁剪后的密文圖像及其對(duì)應(yīng)的解密圖像.從表5可以看出密文圖像經(jīng)過(guò)不同程度的裁剪后解密,得到的密文圖像雖然存在噪聲,但并不影響圖像的整體識(shí)別,說(shuō)明本算法對(duì)圖像各點(diǎn)置亂均勻,雖然剪切了一定面積的加密圖像,解密后的圖像都基本能辨清其輪廓.因?yàn)橛兄脕y操作,被剪切的解密圖像能均勻分散在整個(gè)圖像上,因此該算法可以抵抗剪切和噪聲污染的攻擊.
表5 剪裁的密文圖像及解密圖像
本文設(shè)計(jì)了一種5階多渦卷混沌系統(tǒng),分析了系統(tǒng)的基本動(dòng)力學(xué)特性,包括平衡點(diǎn)、Lyapunov指數(shù)、Lyapunov維數(shù)等.同時(shí)將該系統(tǒng)應(yīng)用于所提出的圖像加密算法,并對(duì)加密系統(tǒng)進(jìn)行了數(shù)值仿真,仿真結(jié)果驗(yàn)證了算法的有效性,因此,本文提出的數(shù)字圖像加密系統(tǒng)在信息安全領(lǐng)域有潛在的應(yīng)用價(jià)值.