陳裕城,邱一峰,葉瑞松
(汕頭大學(xué)數(shù)學(xué)系,廣東 汕頭 515063)
隨著多媒體技術(shù)和通信技術(shù)的快速發(fā)展,人們進(jìn)行信息交流的方式變得豐富多彩,如電子郵件、微信等,與此同時(shí),也常伴隨著許多的網(wǎng)絡(luò)安全隱患.數(shù)字圖像因其具有直觀、形象生動(dòng)等不同于文本的特點(diǎn)占據(jù)了我們?nèi)粘I钚畔⒔涣鬏d體的重要比例,所以如何安全并快速地傳送圖像成為一個(gè)迫切需要解決的問(wèn)題,而對(duì)圖像內(nèi)容的保護(hù)是安全傳輸圖像不可缺少的部分,因此對(duì)圖像進(jìn)行保護(hù)就顯得尤為重要.現(xiàn)階段對(duì)數(shù)字圖像進(jìn)行保護(hù)主要有圖像水印和圖像隱藏兩個(gè)方法,前者一般是為了保護(hù)圖像的版權(quán)而嵌入不妨礙原圖像內(nèi)容表達(dá)的數(shù)字水印,而后者是對(duì)原圖像的一些重要內(nèi)容進(jìn)行隱藏,又稱(chēng)為圖像加密.從而在現(xiàn)實(shí)生活中,圖像加密是對(duì)圖像保護(hù)的重要內(nèi)容.圖像因其自身的一些固有特性如數(shù)據(jù)量大、數(shù)據(jù)冗余度高和相鄰像素相關(guān)性強(qiáng)等使得大部分的傳統(tǒng)文本加密算法如DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等不再適用于數(shù)字圖像加密[1],因此研究者們提出了大量異于文本加密的算法對(duì)圖像進(jìn)行加密,其中,基于混沌理論的加密算法引起了人們極大地關(guān)注.混沌系統(tǒng)因其具有對(duì)初值和參數(shù)的極端敏感性、偽隨機(jī)性和不可預(yù)測(cè)性等優(yōu)良混沌特性而被廣泛地應(yīng)用于圖像加密領(lǐng)域中[2-10].
混沌系統(tǒng)根據(jù)階數(shù)的不同可分為整數(shù)階混沌系統(tǒng)和分?jǐn)?shù)階混沌系統(tǒng).近年來(lái),隨著分形幾何與分?jǐn)?shù)階微積分理論的發(fā)展,越來(lái)越多存在于自然界中的分?jǐn)?shù)階混沌現(xiàn)象被人們發(fā)現(xiàn)[11].分?jǐn)?shù)階混沌系統(tǒng)是應(yīng)用分?jǐn)?shù)階微積分來(lái)研究復(fù)雜混沌動(dòng)力系統(tǒng),分?jǐn)?shù)階微積分與整數(shù)階微積分不同,整數(shù)階微積分研究的是整數(shù)階數(shù)的微分、積分算子特性及應(yīng)用,而分?jǐn)?shù)階微積分則是研究任意階次的微分、積分算子及應(yīng)用,因而分?jǐn)?shù)階混沌系統(tǒng)的研究范疇就顯得更加廣.相比起整數(shù)階混沌系統(tǒng)對(duì)初值和參數(shù)極端敏感、偽隨機(jī)性和不可預(yù)測(cè)性等混沌特性外,分?jǐn)?shù)階混沌系統(tǒng)還具有一些獨(dú)特的性質(zhì)如可反映系統(tǒng)的歷史信息、具有很強(qiáng)的歷史記憶性、系統(tǒng)參數(shù)調(diào)節(jié)范圍更大和系統(tǒng)不能重構(gòu)等[12].分?jǐn)?shù)階混沌系統(tǒng)比整數(shù)階混沌系統(tǒng)有更加復(fù)雜的吸引子、更大的參數(shù)空間等使得利用分?jǐn)?shù)階混沌系統(tǒng)來(lái)設(shè)計(jì)圖像加密算法有非常好的應(yīng)用前景.隨著混沌同步、混沌保密通信等技術(shù)的發(fā)展,許多基于分?jǐn)?shù)階混沌系統(tǒng)的圖像加密算法被提出[13-21].文獻(xiàn)[14]基于Pecora和Caroll混沌同步理論構(gòu)造了一個(gè)分?jǐn)?shù)階類(lèi)Lorenz系統(tǒng)的主從式同步,然后通過(guò)Laplace變換理論導(dǎo)出了兩個(gè)混沌系統(tǒng)實(shí)現(xiàn)同步的充分條件,最后通過(guò)將明文圖像隱藏在混沌信號(hào)中的方式設(shè)計(jì)出了一種圖像加密算法.該算法成功地利用分?jǐn)?shù)階混沌系統(tǒng)對(duì)圖像進(jìn)行隱藏,把分?jǐn)?shù)階混沌系統(tǒng)很好地應(yīng)用在安全保密通信領(lǐng)域中,使得分?jǐn)?shù)階混沌系統(tǒng)成為研究圖像加密算法的又一有力工具.文獻(xiàn)[15]詳細(xì)地分析了文獻(xiàn)[14]的算法安全性并對(duì)其進(jìn)行改進(jìn).分析表明文獻(xiàn)[14]算法存在密鑰的產(chǎn)生不依賴(lài)于明文、明文微小的變化不能在很大程度上引起密文變化、分?jǐn)?shù)階混沌系統(tǒng)的階數(shù)和初值沒(méi)有作為密鑰等安全缺陷,并根據(jù)Kerckhoffs準(zhǔn)則,成功地運(yùn)用選擇明文攻擊破解該算法.最后提出基于置亂—擴(kuò)散機(jī)制的改進(jìn)方法,利用分?jǐn)?shù)階混沌系統(tǒng)產(chǎn)生兩個(gè)偽隨機(jī)序列對(duì)明文圖像進(jìn)行像素位置的置亂,在擴(kuò)散階段則采用反饋式的方式對(duì)置亂后的圖像進(jìn)行擴(kuò)散.該算法較文獻(xiàn)[14]具有良好的加密效果和統(tǒng)計(jì)特性,但在算法的設(shè)計(jì)上仍然存在采用同一混沌系統(tǒng)產(chǎn)生混沌序列、同時(shí)改變明文部分像素可能導(dǎo)致明文圖像灰度值總和不變、明文對(duì)密鑰敏感性不強(qiáng)和逐個(gè)像素加密導(dǎo)致整個(gè)算法運(yùn)行速度變低等安全隱患.
基于以上的分析與總結(jié),本文采用整數(shù)階混沌系統(tǒng)和分?jǐn)?shù)階混沌系統(tǒng)相結(jié)合的方式提出基于標(biāo)準(zhǔn)映射和分?jǐn)?shù)階Lorenz混沌系統(tǒng)的圖像加密新算法.本文的結(jié)構(gòu)如下:在第1節(jié)簡(jiǎn)單地介紹標(biāo)準(zhǔn)映射和分?jǐn)?shù)階Lorenz混沌系統(tǒng),包括它們的空間相位圖、Lyapunov指數(shù)和時(shí)間序列分析結(jié)果等.第2節(jié)提出基于標(biāo)準(zhǔn)映射和分?jǐn)?shù)階Lorenz混沌系統(tǒng)的圖像加密算法,本文提出算法的仿真實(shí)驗(yàn)及安全性能分析放在第3節(jié),最后在第4節(jié)給出本文總結(jié).
標(biāo)準(zhǔn)映射,有時(shí)又稱(chēng)Chirikov標(biāo)準(zhǔn)映射,它是一種從邊長(zhǎng)為2的方形區(qū)域到它自己的二維保面積映射.其數(shù)學(xué)公式定義如下[3]:
這里K是滿(mǎn)足大于0且為整數(shù)的系統(tǒng)控制參數(shù),(x,y)位于[0,2]×[0,2]的方形區(qū)域.由式(1)容易計(jì)算標(biāo)準(zhǔn)映射的雅可比矩陣的行列式值為1,因而標(biāo)準(zhǔn)映射是二維保面積映射,另外,可計(jì)算出其有兩個(gè)不動(dòng)點(diǎn):(0,0),(,0).標(biāo)準(zhǔn)映射的系統(tǒng)參數(shù)K對(duì)其自身的混沌動(dòng)力學(xué)行為起著控制的作用,圖1(a)是當(dāng)參數(shù)取為K=5時(shí)標(biāo)準(zhǔn)映射的空間相位圖,從圖中可以看到,系統(tǒng)的動(dòng)力學(xué)軌道幾乎遍歷整個(gè)空間相位平面,一些由周期點(diǎn)形成的穩(wěn)定區(qū)域鑲嵌在其中,呈現(xiàn)分形現(xiàn)象,隨著參數(shù)的不斷增大,混沌現(xiàn)象越來(lái)越明顯.Lyapunov指數(shù)是衡量?jī)蓚€(gè)不同變量運(yùn)動(dòng)軌道之間的分離或聚散程度.圖1(b)是標(biāo)準(zhǔn)映射的Lyapunov指數(shù)隨參數(shù)變化的曲線圖,從圖中可以觀察到,標(biāo)準(zhǔn)映射有一個(gè)大于0和小于0的Lyapunov指數(shù),所以在整個(gè)參數(shù)空間上系統(tǒng)(1)是處于混沌狀態(tài)的.時(shí)間序列分析是對(duì)某件事大量已有的時(shí)間序列數(shù)據(jù),用數(shù)學(xué)建模和大數(shù)據(jù)分析等的方法進(jìn)行研究分析,尋找其變化規(guī)律,從而對(duì)未來(lái)的情況進(jìn)行預(yù)測(cè)、決策和控制.我們測(cè)試了標(biāo)準(zhǔn)映射產(chǎn)生時(shí)間序列的相關(guān)性,采用時(shí)間序列的延遲k階自相關(guān)性系數(shù)和延遲k階互相關(guān)性系數(shù)作為度量指標(biāo),對(duì)于兩個(gè)隨機(jī)時(shí)間序列 x={x(0),x(1),…,x(N-1)},y={y(0),y(1),…,y(N-1)}的延遲 k 階互相關(guān)性系數(shù)(crosscorr)和延遲 k 階的自相關(guān)系數(shù)(autocorr)的數(shù)學(xué)公式定義如下:
這里mean(x)指的是序列x的算術(shù)平均值.圖2是標(biāo)準(zhǔn)映射的兩個(gè)變量的時(shí)間序列圖.圖3為標(biāo)準(zhǔn)映射變量x,y的自相關(guān)測(cè)試和兩個(gè)變量之間的互相關(guān)性測(cè)試.從圖中可以看到,在延遲不同的階數(shù)k時(shí)變量x,y的自相關(guān)系和互相關(guān)系數(shù)值都很小,幾乎接近于0,從而標(biāo)準(zhǔn)映射產(chǎn)生序列具有很強(qiáng)的隨機(jī)性,因而具有不可預(yù)測(cè)等好的密碼特性.
圖1 (a)-(b)分別為標(biāo)準(zhǔn)映射的空間相位圖和不同參數(shù)的Lyapunov指數(shù)曲線圖.
圖2 (a)-(b)分別為標(biāo)準(zhǔn)映射的變量x,y時(shí)間序列變化.
圖3 (a)-(c)分別為標(biāo)準(zhǔn)映射產(chǎn)生時(shí)間序列的自相關(guān)和互相關(guān)測(cè)試結(jié)果.
作為整數(shù)階微積分的推廣,分?jǐn)?shù)階微積分具有更復(fù)雜的形式和更廣泛的應(yīng)用,而且相比整數(shù)階微積分,分?jǐn)?shù)階微積分的計(jì)算復(fù)雜性大大增加.下面介紹常用的幾種分?jǐn)?shù)階微積分定義[22].分?jǐn)?shù)階的基本函數(shù)之一是Gamma函數(shù)Γ(x),Gamma函數(shù)是廣義的階乘n!,n取非整數(shù),甚至取復(fù)數(shù)值.
定義1:分?jǐn)?shù)階微積分定義為
這里當(dāng) x=n,有 Γ(n!)=(n-1)!.
定義2:Gr nwald-Letnikov分?jǐn)?shù)階微積分定義為
定義3:Riemann-Liouville分?jǐn)?shù)階微積分定義為
其中,q∈R,n是比q大的第一個(gè)整數(shù),即n-1≤q<n.根據(jù)以上定義,冪函數(shù)和常數(shù)的q階微分分別為
定義4:Caputo分?jǐn)?shù)階微分定義為
其中,m是大于q的第一個(gè)整數(shù).
分?jǐn)?shù)階Lorenz系統(tǒng)方程的定義為[22]:
其中q1,q2,q3為分?jǐn)?shù)階數(shù),σ,ρ,β為系統(tǒng)參數(shù).應(yīng)用Adomian分解算法對(duì)以上方程進(jìn)行數(shù)值求解,得到如圖4所示分?jǐn)?shù)階Lorenz混沌系統(tǒng)吸引子相圖,其中選取的時(shí)間步長(zhǎng)為 h=0.005 s,初值為 [0.1,0.1,0.1],采用相同的分?jǐn)?shù)階數(shù) q1=q2=q3=q=0.995,系統(tǒng)參數(shù)取值為σ=10,ρ=45,β=8/3.
圖4 (a)-(d)分別為分?jǐn)?shù)階 Lorenz系統(tǒng)的吸引子及其 x-y,x-z,y-z投影圖.
由于譜熵(Spectral entropy,SE)復(fù)雜度和C0復(fù)雜度分析具有與Lyapunov指數(shù)、分岔圖、耗散性、相圖觀測(cè)等方法同樣的效果[22].因此對(duì)分?jǐn)?shù)階Lorenz混沌系統(tǒng)產(chǎn)生的隨機(jī)序列采用SE和C0復(fù)雜度分析測(cè)試.譜熵復(fù)雜度分析是利用傅里葉變換(FFT)域內(nèi)能量分布特點(diǎn),結(jié)合香農(nóng)熵得出相應(yīng)的譜熵值;當(dāng)混沌序列功率譜分布越均衡,序列頻譜越復(fù)雜,即混沌系統(tǒng)的復(fù)雜度越大,否則復(fù)雜度越小.另一方面,C0復(fù)雜度則是將混沌序列分解成規(guī)則和不規(guī)則成分,其測(cè)量值為序列中非規(guī)則成分所占的比例.基于FFT的C0復(fù)雜度算法,將信號(hào)變換域規(guī)則部分去掉,留下非規(guī)則部分能量所占比例越大,即對(duì)應(yīng)時(shí)域信號(hào)隨機(jī)性就越大,復(fù)雜度越大.分別通過(guò)固定其他參數(shù)而改變階數(shù)q和參數(shù)ρ來(lái)研究分?jǐn)?shù)階Lorenz混沌系統(tǒng)的SE復(fù)雜度與C0復(fù)雜度,一方面,從圖5(a)中可見(jiàn),除了小部分區(qū)間,譜分布是均衡的,特別地,q在[0.75,1]區(qū)間內(nèi)圖像是處于平穩(wěn)趨勢(shì)的;而在圖5(b)中,當(dāng)系統(tǒng)處于周期態(tài)時(shí),C0復(fù)雜度值為0.隨著分?jǐn)?shù)階數(shù)q的增大,C0復(fù)雜度以較快的增速到達(dá)最大值,之后再隨著q的增大而總體上呈下降趨勢(shì),系統(tǒng)處于混沌狀態(tài).另一方面,由圖5(c)可以非常直觀地看出,譜分布圖總體上是均衡的.從圖5(d)也可以觀察到,當(dāng)系統(tǒng)處于周期態(tài)時(shí),C0復(fù)雜度值為0,并隨著參數(shù)ρ的增長(zhǎng),C0復(fù)雜度以較快的增速到達(dá)最大值,之后就基本處于穩(wěn)定狀態(tài).由此也可以得出分?jǐn)?shù)階Lorenz系統(tǒng)的參數(shù)ρ取值不應(yīng)該小于24.綜合以上分析,分?jǐn)?shù)階Lorenz系統(tǒng)生成的偽隨機(jī)序列十分地接近隨機(jī)序列,這對(duì)于設(shè)計(jì)一個(gè)安全性能高圖像加密算法是非常有利的.
圖5 (a)-(b)和(c)-(d)分別為分?jǐn)?shù)階數(shù) q和參數(shù)ρ的 SE、C0復(fù)雜度分析.
基于以上分析,在這一節(jié)提出一種基于標(biāo)準(zhǔn)映射和分?jǐn)?shù)階Lorenz混沌系統(tǒng)的圖像加密算法.算法采用置亂-擴(kuò)散機(jī)制,在置亂階段利用標(biāo)準(zhǔn)映射產(chǎn)生偽隨機(jī)序列構(gòu)造坐標(biāo)索引向量,然后按照從上到下、從左到右的掃描方式進(jìn)行像素位置的置亂,在擴(kuò)散階段則采用不同的初值對(duì)分?jǐn)?shù)階Lroenz混沌系統(tǒng)進(jìn)行迭代得到密鑰數(shù)組,并通過(guò)明文、密文和密鑰之間取模和按位異或運(yùn)算得到最終密文.本文提出加密算法的流程圖見(jiàn)圖6,不失一般性,不妨記明文圖像為P,其像素矩陣大小為M×N,明文圖像的SHA256值為H.具體加密步驟如下:
圖6 本文提出圖像加密算法的流程圖.
Step1讀入明文,輸入密鑰.讀取明文P,并記MN=M×N,設(shè)置標(biāo)準(zhǔn)映射的參數(shù)K和分?jǐn)?shù)階Lorenz混沌系統(tǒng)的分?jǐn)?shù)階數(shù)q和初值x0、y0、z0,輸入防止過(guò)渡效應(yīng)發(fā)生的預(yù)先迭代次數(shù)N0并采用式(11)計(jì)算新的N0值,最后計(jì)算明文圖像P的SHA256函數(shù)值H.
Step2生成標(biāo)準(zhǔn)映射的初值x10,x20和產(chǎn)生兩個(gè)相對(duì)位置向量index1,index2.首先將字符數(shù)組H轉(zhuǎn)化為雙精度數(shù)組并求其所有元素的和,記為sum_H,采用式(12),(13)計(jì)算標(biāo)準(zhǔn)映射的初值x10,x20.然后利用初值和參數(shù)K對(duì)標(biāo)準(zhǔn)映射進(jìn)行迭代(N0+MN)次并丟棄前N0項(xiàng)得到兩個(gè)大小均為1×MN的向量x1,x2,分別對(duì)x1,x2按升序的方式進(jìn)行排序得到排序后的向量和由其在原向量中位置組成的相對(duì)位置向量index1,index2.
Step3對(duì)明文圖像進(jìn)行像素位置的置亂.首先將明文圖像P按從上到下、從左到右地順序拉成一個(gè)大小為1×MN的一維數(shù)組P1,設(shè)置i從1到MN,將P1的第i項(xiàng)放在一個(gè)與P1相同大小向量P2的第index1(i)項(xiàng)中產(chǎn)生第一次置亂像素序列P2,類(lèi)似地,設(shè)置i從1到MN,把P2的第i項(xiàng)放在與P2相同大小向量P3的第index2(i)項(xiàng)得到第二次置亂像素序列P3,并將P3按從上到下、從左到右的方式堆成與明文相同大小的最終置亂圖像P4.
Step4產(chǎn)生兩個(gè)初始向量irv,icv.分別選取Step2產(chǎn)生的x1,x2向量的前M,N項(xiàng)形成新的向量x2,y2,并利用式(14),(15)計(jì)算得到行初始向量和列初始向量.
Step5計(jì)算新的預(yù)先迭代次數(shù)N00和分?jǐn)?shù)階Lorenz混沌系統(tǒng)新的初值x30,y30,z30.它們的計(jì)算公式如下:
Step6利用分?jǐn)?shù)階Lorenz混沌系統(tǒng)構(gòu)造密鑰矩陣key_r,key_c.分別取混沌系統(tǒng)的參數(shù)和分?jǐn)?shù)階數(shù)為(σ,ρ,β)=(10,28,8/3),q1=q2=q3=q,對(duì)分?jǐn)?shù)階混沌系統(tǒng)迭代(N00+MN))次并將得到的三個(gè)分維量按從上到下、從左到右的方式排成一個(gè)一維向量Y1,取由Y1前N00+MN項(xiàng)組成的向量為Y,按式(20)、(21)產(chǎn)生兩個(gè)與Y相同大小的向量x3、y3,然后將丟棄x3、y3的前面N00項(xiàng)后的向量仍然記為向x3、y3,并分別按從上到下、從左到右的掃描順序構(gòu)造大小為M×N的密鑰矩陣key_r,key_c.
Step6對(duì)置亂后的像素進(jìn)行按行擴(kuò)散.首先將初始行向量irv添加到最終置亂圖像P4的最后一行形成大小為(M+1)×N的新矩陣,仍記為P4,設(shè)置i的值為1到M,計(jì)算P4的第(i+1)行到最后一行的所有像素灰度值的和,記為sum_re1,依據(jù)式(22)計(jì)算行密鑰r1,然后根據(jù)式(23)對(duì)P4做行擴(kuò)散運(yùn)算得到P5.
Step7對(duì)P5進(jìn)行按列擴(kuò)散.首先將P5的最后一行丟棄產(chǎn)生P6,把初始列向量icv添加到P6的最后一列形成大小為M×(N+1)的新矩陣,仍記為P6,讓j的值從1取到N,計(jì)算P6的第(j+1)列到最后一列的所有像素灰度值的和,記為sum_re2,根據(jù)式(24)計(jì)算列密鑰c1,然后依據(jù)式(25)對(duì)P6做按列擴(kuò)散運(yùn)算得到密文P7.
注:以上加密過(guò)程中,mod(x,y)是指實(shí)數(shù)x除以實(shí)數(shù)y得到的余數(shù),round(x)是指對(duì)實(shí)數(shù)x的四舍五入取整函數(shù),floor(x)返回不超過(guò)實(shí)數(shù)x的最大的整數(shù),bitxor(x,y)返回的是實(shí)數(shù)x與實(shí)數(shù)y的按位異或運(yùn)算結(jié)果,abs(x)是指對(duì)實(shí)數(shù)x的取絕對(duì)值運(yùn)算,P(i,:)是指矩陣P的第i行元素,P(:,j)是指矩陣P的第j列元素.解密過(guò)程是加密過(guò)程的逆過(guò)程,詳細(xì)步驟不再贅述.
采用MATLAB R2014a軟件對(duì)本文提出的圖像加密算法進(jìn)行仿真.所有的實(shí)驗(yàn)均在同一臺(tái)個(gè)人筆記本電腦上執(zhí)行與實(shí)現(xiàn),電腦的主要硬件環(huán)境如下:處理器:Intel(R)Core(TM)i7,安裝內(nèi)存:4.00GB;運(yùn)行系統(tǒng):Windows 8.1中文版.另外本文算法仿真實(shí)驗(yàn)的測(cè)試圖片均來(lái)自圖像數(shù)據(jù)庫(kù)[23].對(duì)大小均為256×256的灰度圖像Lena,Clock,Aerial用密鑰 Key=(H,256,0.993,0.98,0.98,0.98)進(jìn)行仿真,其結(jié)果如圖7所示,可以看到,所有的密文圖像均呈現(xiàn)雜亂無(wú)章分布且無(wú)明顯紋理出現(xiàn),攻擊者不能從其中獲取任何有關(guān)明文信息,因而說(shuō)明本文提出算法對(duì)圖像起到了很好的保護(hù)作用.另外,利用正確的密鑰和密文圖像可以無(wú)損地恢復(fù)原圖像,從而使得本文提出算法在一些重要保密通信領(lǐng)域中有更加好的應(yīng)用前景.
圖7 (b),(e),(h)和(c),(f),(i)分別為L(zhǎng)ena(a),Clock(d),Aerial(g)的密文圖像和解密圖像.
一個(gè)安全性能強(qiáng)的算法應(yīng)該能夠抵抗絕大多數(shù)的已知攻擊,比如已知明文或選擇明文攻擊、選擇密文攻擊和各種蠻力攻擊等[7].為了檢驗(yàn)本文提出算法的安全性和魯棒性強(qiáng)弱,對(duì)于本文提出圖像加密算法的重要安全分析如密鑰空間分析、密鑰敏感性分析、統(tǒng)計(jì)分析和差分分析等均在這一小節(jié)討論.
一個(gè)圖像加解密算法的密鑰空間是指能夠用在加解密算法過(guò)程中密鑰的所有可能取值的總和.如果一個(gè)算法的密鑰空間不夠大,攻擊者能夠非常容易地利用蠻力攻擊等方法對(duì)算法進(jìn)行攻擊,因此一個(gè)好的圖像加密算法要有足夠大的密鑰空間.一般地,當(dāng)一個(gè)密鑰空間大于2128≈1030時(shí),加密算法被認(rèn)為是安全的[4].在本文提出的圖像加密算法中,如果取密鑰空間由Key=(H,K,q,x0,y0,z0)組成,其中,H為明文圖像的SHA256值,僅改變明文圖像的微小部分甚至1bit值均會(huì)引起完全不一樣SHA256函數(shù)值,這也說(shuō)明密鑰的產(chǎn)生極端的依賴(lài)于明文,其可能取值為2128見(jiàn)文獻(xiàn)[10],K為標(biāo)準(zhǔn)映射的系統(tǒng)參數(shù),理論上K可以取到無(wú)窮大,但為了兼顧計(jì)算機(jī)的運(yùn)行速度,取其量級(jí)為105,q和x0、y0、z0是分?jǐn)?shù)階Lorenz混沌系統(tǒng)的分?jǐn)?shù)階數(shù)和系統(tǒng)初值,本文取分?jǐn)?shù)階混沌系統(tǒng)的分?jǐn)?shù)階數(shù)均為q,如果取雙精度的精度作為計(jì)算,那么分?jǐn)?shù)階數(shù)和系統(tǒng)初值的精度量級(jí)均可以取到10-14,容易計(jì)算出本文算法的密鑰空間大小為2128×105×1056,很明顯,這一結(jié)果遠(yuǎn)遠(yuǎn)大于理論值.事實(shí)上,如果把標(biāo)準(zhǔn)映射的系統(tǒng)初值和分?jǐn)?shù)階Lorenz混沌系統(tǒng)的系統(tǒng)參數(shù)和3個(gè)不同的階數(shù)均取為本文提出算法的密鑰組成部分,那么算法的密鑰空間將變得更大,這說(shuō)明了本文提出的加密算法足以抵抗蠻力攻擊,從而具有較強(qiáng)的魯棒性.
一幅圖像的直方圖是表示一幅圖像灰度值分布的統(tǒng)計(jì)圖表[24].一般來(lái)說(shuō),圖像的直方圖顯示了表達(dá)一幅圖像的不同灰度值的像素個(gè)數(shù)情況,對(duì)于一幅8bit的灰度圖像,則顯示256種不同的灰度級(jí)的分布情況.由于每個(gè)灰度級(jí)對(duì)應(yīng)的概率或頻率給出了對(duì)該灰度級(jí)出現(xiàn)的概率估計(jì),所以直方圖提供了圖像的灰度值分布大概情況,即給出了一幅圖像所有灰度值的整體描述.對(duì)于一個(gè)理想的圖像加密算法,其加密圖像的分布直方圖應(yīng)該盡可能均衡,這樣才具備抵抗統(tǒng)計(jì)攻擊的能力[4].為了檢驗(yàn)本文提出加密算法的密文圖像像素灰度值的分布情況,在圖8畫(huà)出了Lena明文圖像和對(duì)應(yīng)用本文算法加密得到密文圖像的一維直方圖,容易觀察到,密文圖像的像素灰度值分布較明文圖像更加均衡,其直方圖分布更加平坦,而明文圖像則波動(dòng)起伏較大,這說(shuō)明了本文提出算法的有效性.為了克服一維直方圖不能反映出像素灰度值在空間的分布情況和局部圖像子塊的像素灰度值分布等的不足,在圖9和圖10分別畫(huà)出了明文圖像Lena和對(duì)應(yīng)本文提出算法密文圖像的共生直方圖與局部圖像子塊的一維直方圖,從圖9可以看到,明文圖像像素灰度值的空間分布波動(dòng)起伏較大,而密文圖像則呈現(xiàn)出一致分布的趨勢(shì),使得攻擊者不能從中讀取任何有關(guān)明文圖像像素的分布.另外,從局部圖像子塊直方圖10分布情況來(lái)看,與整體圖像的直方圖有類(lèi)似的結(jié)果,更加說(shuō)明本文提出算法抵抗統(tǒng)計(jì)攻擊的有效性.
圖8 (a)-(b)分別為L(zhǎng)ena及其密文的分布直方圖.
圖9 (a)-(b)分別為L(zhǎng)ena及其密文的共生直方圖.
圖10 (a)-(h)分別對(duì)應(yīng)密文的上、下、左、右、左上角、右上角、左下角、右下角圖像子塊的分布直方圖.
自然圖像的像素一般與其相鄰像素有很強(qiáng)的相關(guān)性,這將可能會(huì)導(dǎo)致有關(guān)明文信息的泄露等安全隱患[10].因此一個(gè)有效的圖像加密算法應(yīng)該移除或者大大地減輕這種相關(guān)性.為了比較和量化明文圖像和密文圖像相鄰像素的相關(guān)性,分別隨機(jī)地選取Lena明文及其密文在水平、垂直和對(duì)角方向上的5 000個(gè)像素點(diǎn),它們的分布如圖11所示,可以看到,不管是哪個(gè)方向,原始圖像像素點(diǎn)均呈現(xiàn)線性分布,而加密圖像已經(jīng)明顯地打破了這種相關(guān)性,像素點(diǎn)幾乎遍歷整個(gè)平面,呈現(xiàn)雜亂無(wú)章分布.可見(jiàn)我們提出的加密算法成功地消除了明文圖像相鄰像素之間的相關(guān)性.另外,為了量化隨機(jī)選取像素點(diǎn)序列的相關(guān)性,利用式(26)計(jì)算出明文和密文不同方向像素點(diǎn)序列的相關(guān)性系數(shù),計(jì)算結(jié)果如表1所示,可以看到,密文圖像不同方向相鄰像素對(duì)的互相關(guān)系數(shù)都非常接近于0,這也說(shuō)明了本文提出算法大大地減弱了相鄰像素相關(guān)的程度.
這里mean(x)是指序列x的均值.
圖11 (a)-(c),(d)-(f)分別為L(zhǎng)ena明文和密文相鄰像素在水平、垂直和對(duì)角方向的分布.
表1 Lena明文與其密文分別在水平、垂直和對(duì)角方向上的相關(guān)系數(shù)
信息熵是信息源的隨機(jī)性和不可預(yù)測(cè)性的一個(gè)度量[4].一個(gè)信息源m的熵值H(m)可以由式子(27)來(lái)定義:
其中m是信息源,L是代表信號(hào)mi的比特?cái)?shù),P(mi)是信號(hào)mi出現(xiàn)的概率.對(duì)于灰度圖像,L=8.一個(gè)在0到255范圍內(nèi)一致分布的隨機(jī)圖像,即每個(gè)灰度值出現(xiàn)的概率相同,容易計(jì)算信息熵的理想值為8.即是說(shuō)加密算法得到密文圖像的信息熵越接近于8就說(shuō)明算法對(duì)圖像信息隱藏得越好,從而不給攻擊者泄露任何有關(guān)明文圖像的信息.分別計(jì)算不同明文及其對(duì)應(yīng)本文算法加密密文的信息熵,結(jié)果如表2所示,容易注意到,不同明文與對(duì)應(yīng)密文的信息熵差別較大,而且不同密文圖像的信息熵均與理想值非常地接近,這說(shuō)明本文提出算法是強(qiáng)魯棒性的.另外還計(jì)算了其他算法加密密文的信息熵,計(jì)算結(jié)果如表2最后三列所示,可以看到,本文提出算法與相比較其他算法加密得到的密文信息熵更加接近于理想值,信息的遺漏是負(fù)值,所以從信息熵攻擊的角度來(lái)看,本文提出算法是安全的.
表3 不同明文與對(duì)應(yīng)本文算法和其他算法得到密文的信息熵.
攻擊者往往通過(guò)僅改變小部分密鑰甚至是密鑰的一個(gè)單位值和明文圖像1個(gè)像素或是1個(gè)比特位,然后分別應(yīng)用提出的加密算法去分析探究加解密結(jié)果,以期得到一些關(guān)于密鑰和明文的信息,因此,對(duì)于一個(gè)圖像加密算法來(lái)說(shuō),對(duì)密鑰的極端敏感性是該算法魯棒性強(qiáng)弱的重要指標(biāo).一個(gè)加密系統(tǒng)的密鑰敏感性一般通過(guò)加密敏感性和解密敏感性?xún)煞矫鎭?lái)考察,一方面,由提出加密算法加密的密文圖像應(yīng)該極端敏感于密鑰,即是說(shuō),如果用兩個(gè)差別很微小的密鑰加密同一明文,那么相應(yīng)密鑰產(chǎn)生的密文應(yīng)該完全不依賴(lài)于明文或者是它們之間的相關(guān)性可以忽略.另一方面,盡管在加密和解密過(guò)程的密鑰相差非常的微小,甚至只有1比特差別,卻不能夠用解密算法來(lái)解得加密明文.在這里,首先采用密鑰 Key=(H,K,q,x0,y0,z0)=(H,256,0.993,0.98,0.98,0.98)去加密Lena明文圖像得到密文Image_en,然后對(duì)Key僅改動(dòng)1個(gè)單位的變化分別得到如下6個(gè)不同的加密密鑰:
Key5=(H,K,q,x0,y0+10-14,z0), Key6=(H,K,q,x0,y0,z0+10-14),其中,H1是隨機(jī)改變明文圖像1比特值得到的SHA256值.分別用上述密鑰去加密同一幅明文圖像Lena得到不同的密文,這些密文和它們與Image_en的差如圖12所示,可以看到,用僅改變微小部分的密鑰去加密同一幅明文圖像得到的密文與Image_en相差非常的大.為了更好的量化不同密文之間的差異性,利用式(28)計(jì)算出了不同密文與Image_en的二維相關(guān)系數(shù),結(jié)果如表4所示,從表中可以明顯地知道,不同密文與Image_en之間的相關(guān)性x系數(shù)很小,幾乎接近于0,即是說(shuō)它們之間的相關(guān)性非常弱.這樣從加密敏感性這一方面說(shuō)明了本文提出算法的有效性.同樣可以驗(yàn)證算法的解密敏感性,分別用Key和Key1-Key6去解密密文Image_en得到不同的解密圖像如圖13所示,可以觀察到,只有用正確的密鑰去解密Image_en才能成功地解出原圖像,而其他僅改動(dòng)1個(gè)單位的密鑰卻不能正確的解出原圖像,類(lèi)似于加密敏感性分析,表5計(jì)算了不同解密圖像之間的二維相關(guān)系數(shù),從表中可以看到,不同解密文之間的相關(guān)性非常的弱,幾乎沒(méi)有.這樣我們就驗(yàn)證了解密敏感性.因此,綜合以上,本文提出的算法對(duì)密鑰極其敏感的,從而具有強(qiáng)魯棒性.
這里H,W分別表示兩個(gè)圖像矩陣A、B的大小,mean(x)表示序列x的均值.
圖12 加密敏感性測(cè)試:(a),(c),(e),(g),(i),(k)分別對(duì)應(yīng)用 Key 和 Key1-Key6 加密得到的密文;(b),(d),(f),(h),(j),(l)分別為(a),(c),(e),(g),(i),(k)與 Image_en 的差.
表4 不同密鑰產(chǎn)生的不同密文之間的相關(guān)系數(shù).
圖13 解密敏感性測(cè)試:(a)-(g)分別為用Key和Key1-Key6取解密密鑰Key所產(chǎn)生密文的解密圖像.
表5 不同密鑰解密Image_en產(chǎn)生的不同解密文之間的相關(guān)系數(shù).
差分攻擊又稱(chēng)選擇明文攻擊,當(dāng)一個(gè)加密算法能夠抵抗選擇明文攻擊,那么該算法也能夠抵御已知明文攻擊和僅知密文攻擊[27].實(shí)現(xiàn)差分分析的一般做法是僅改變明文圖像像素的微小變化(通常是1bit或1個(gè)單位像素值),然后比較在同一密鑰條件下分別對(duì)改變前后的明文圖像進(jìn)行加密得到兩個(gè)密文圖像,如果在明文圖像和密文圖像之間能夠找到一些有利于確定加密密鑰的信息,那么這樣的分析就說(shuō)明加密算法的魯棒性很弱,反之,如果僅改變明文圖像1bit的變化,加密算法就能夠產(chǎn)生迥然不同地密文圖像變化,這樣的加密算法會(huì)使得差分分析不能夠獲取任何有關(guān)明文或密鑰的信息,即是說(shuō),算法能夠很好地抵御差分攻擊.為了檢驗(yàn)本文提出算法抵抗差分攻擊的有效性,采用兩個(gè)常用的度量:不同密文圖像之間的像素改變率(number of piexls change rate,NPCR)和一致改變強(qiáng)度(unified average changing intensity,UACI),它們的數(shù)學(xué)公式定義如下:
這里M,N分別是矩形圖像的行數(shù)和列數(shù),L是表達(dá)一個(gè)像素所需要的bit位個(gè)數(shù),對(duì)于灰度圖像,它的值為L(zhǎng)=8.C1(i,j),C2(i,j)分別對(duì)應(yīng)明文圖像改變前后的密文.對(duì)于一個(gè)理想的圖像加密系統(tǒng),NPCR,UACI的理想估計(jì)值分別為99.6094%,33.4636%[27].分別選取明文圖像 Lena位置(12,34),(34,56),(56,78),(78,90),(108,235)處的像素并隨機(jī)地改變其1bit值,然后利用本文提出算法對(duì)改變前后明文圖像進(jìn)行加密得到不同的密文并計(jì)算它們之間的NPCR和UACI值,計(jì)算結(jié)果如表6所示,可以看到,對(duì)不同位置的像素值僅隨機(jī)地改變它們微小的部分,改變前后的明文對(duì)應(yīng)本文算法得到的密文之間的NPCR和UACI值都非常接近于理想值,這也就說(shuō)明本文提出算法是能夠抵抗差分攻擊的,從而表明本文提出算法具有較高的安全性能.
表6 不同位置的NPCR,UACI值 %
很多加密算法已經(jīng)被選擇明文攻擊和已知明文攻擊破解[14-15],在本文提出的算法中,由標(biāo)準(zhǔn)映射和分?jǐn)?shù)階Lorenz混沌系統(tǒng)產(chǎn)生隨機(jī)序列對(duì)明文圖像進(jìn)行置亂擴(kuò)散,而不同分?jǐn)?shù)階混沌系統(tǒng)的初值和參數(shù)是由明文圖像的SHA256值產(chǎn)生的,明文圖像僅隨機(jī)改變1bit的值都會(huì)引起完全不同SHA256值,這就是說(shuō)本文提出加密算法產(chǎn)生的密文是極端地依賴(lài)于明文圖像.所以從理論上來(lái)說(shuō)本文提出算法對(duì)已知明文攻擊和選擇密文攻擊是安全的.為了從實(shí)驗(yàn)的角度來(lái)說(shuō)明本文提出算法對(duì)已知明文和選擇明文攻擊的有效性,采用大小為256×256全黑和全白的兩幅圖像進(jìn)行測(cè)試,圖14分別為全黑全白明文、密文和它們的直方圖分布,從密文及其直方圖分布來(lái)看,它們不能給攻擊者提供任何有關(guān)明文圖像的信息,從而本文提出的算法對(duì)圖像起到了很好的保護(hù)作用.為了量化密文的一些統(tǒng)計(jì)特性,在表7本文計(jì)算了全黑和全白圖像對(duì)應(yīng)本文算法得到密文的信息熵和隨機(jī)選取5 000個(gè)相鄰像素點(diǎn)組成的像素點(diǎn)序列的相關(guān)系數(shù),從表中可以明顯看到本文提出算法抗擊已知明文和選擇明文的有效性,從而本文提出算法是強(qiáng)魯棒的.
圖14 (b),(e)和(c),(f)分別為全黑(a)和全白(d)的密文及其直方圖分布.
表7 全黑和全白明文對(duì)應(yīng)本文提出算法密文的信息熵和相關(guān)性系數(shù).
本文提出基于標(biāo)準(zhǔn)映射和分?jǐn)?shù)階Lorenz混沌系統(tǒng)的圖像加密新算法,首先通過(guò)標(biāo)準(zhǔn)映射的空間相位圖、Lyapunov指數(shù)和時(shí)間序列分析簡(jiǎn)單的分析其混沌特性,分析表明標(biāo)準(zhǔn)映射是典型的二維混沌映射且具有良好地隨機(jī)性等,對(duì)分?jǐn)?shù)階Lorenz混沌系統(tǒng)進(jìn)行復(fù)雜度分析等表明分?jǐn)?shù)階混沌系統(tǒng)具有比整數(shù)階混沌系統(tǒng)更加復(fù)雜的空間結(jié)構(gòu)和優(yōu)良的隨機(jī)性質(zhì)等.然后利用標(biāo)準(zhǔn)映射和分?jǐn)?shù)階Lorenz混沌系統(tǒng)設(shè)計(jì)了一種圖像加密算法,算法采用置亂-擴(kuò)散結(jié)構(gòu),在置亂階段利用標(biāo)準(zhǔn)映射產(chǎn)生隨機(jī)數(shù)對(duì)明文圖像進(jìn)行像素位置的置亂,而在擴(kuò)散階段則由兩個(gè)混沌系統(tǒng)相互作用產(chǎn)生隨機(jī)數(shù)按照依行依列地方式對(duì)置亂后的像素進(jìn)行擴(kuò)散.最后對(duì)本文提出算法的相關(guān)安全性能分析被提出,所有的分析實(shí)驗(yàn)表明,本文提出算法是強(qiáng)魯棒性的.
[1]毛驍驍,孫克輝,劉文浩.基于分?jǐn)?shù)階統(tǒng)一混沌系統(tǒng)的圖像加密算法[J].傳感器與微系統(tǒng),2017(6):138-141.
[2]MATTHEWS R.On the derivation of a“chaotic”encryption algorithm[J].Cryptologia,1989,13(1):29-42.
[3]FRIDRICH J.Symmetric ciphers based on two-dimensional chaotic maps[J].International Journal of Bifurcation and chaos,1998,8(6):1259-1284.
[4]YE G,HUANG X.An efficient symmetric image encryption algorithm based on an intertwining logistic map[J].Neurocomputing,2017,251(C):45-53.
[5]PATIDAR V,PAREEK N K,PUROHIT G,et al.A robust and secure chaotic standard map based pseudorandom permutation-substitution scheme for image encryption[J].Optics Communications,2011,284(19):4331-4339.
[6]ZHANG Y,XIAO D.Double optical image encryption using discrete Chirikov standard map and chaos-based fractional random transform[J].Optics and Lasers in Engineering,2013,51(4):472-480.
[7]HAMDIM,RHOUMA R,BELGHITH S.A selective compression-encryption ofimagesbased on SPIHT coding and Chirikov standard map[J].Signal Processing,2017,131:514-526.
[8]祁燕,劉麗萍.標(biāo)準(zhǔn)映射和Lorenz混沌系統(tǒng)彩色圖像加密算法[J].沈陽(yáng)理工大學(xué)學(xué)報(bào),2014,33(4):40-47.
[9]YE R.A novelchaos-based image encryption scheme with an efficientpermutation-diffusion mechanism[J].Optics Communications,2011,284(22):5290-5298.
[10]CHAI X L,GAN Z H,YUAN K,et al.An image encryption scheme based on three-dimensional Brownian motion and chaotic system[J].Chinese Physics B,2017,26(2):99-113.
[11]李水根,吳紀(jì)桃.分形與小波[M].北京:科學(xué)出版社,2002.
[12]孫毅.基于分?jǐn)?shù)階混沌的多媒體加密技術(shù)研究[D].昆明:云南大學(xué),2014.
[13]ZHANG H,WANG X Y,WANG S W,et al.Application of coupled map lattice with parameter q,in image encryption[J].Optics&Lasers in Engineering,2017,88:65-74.
[14]XU Y,WANG H,LIY,et al.Image encryption based on synchronization of fractional chaotic systems[J].Communications in Nonlinear Science and Numerical Simulation,2014,19(10):3735-3744.
[15]AHMAD M,SHAMSIU,KHAN IR.An enhanced image encryption algorithm using fractional chaotic systems[J].Procedia Computer Science,2015,57:852-859.
[16]林珍香,阮志毅,鐘一文.基于分?jǐn)?shù)階混沌時(shí)間序列的圖像加密算法[J].應(yīng)用數(shù)學(xué)與計(jì)算數(shù)學(xué)學(xué)報(bào),2015,29(2):248-256.
[17]邵永暉,鐘啟龍,鄭永愛(ài).基于分?jǐn)?shù)階Chen系統(tǒng)的圖像加密新算法[J].科學(xué)技術(shù)與工程,2014,14(2):159-164.
[18]孫甜甜,黃霞,李玉霞.基于分?jǐn)?shù)階時(shí)延混沌神經(jīng)網(wǎng)絡(luò)的圖像加密[J].山東科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,33(1):98-103.
[19]王雅慶,周尚波.基于分?jǐn)?shù)階陳氏混沌系統(tǒng)的圖像加密算法[J].計(jì)算機(jī)應(yīng)用,2013,33(4):1043-1046.
[20]朱偉,段文強(qiáng),楊陽(yáng),等.基于分?jǐn)?shù)階超混沌系統(tǒng)的圖像加密算法及安全性分析[J].重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,24(4):501-506.
[21]潘勃,李騫,馮金富,等.一種新的離散混沌同步保密通信方案[J].計(jì)算機(jī)應(yīng)用,2010,30(1):198-202.
[22]孫克輝.混沌保密通信原理與技術(shù)[M].北京:清華大學(xué)出版社,2015.
[23]The USC-SIPI Image Database[EB/OL].[2017/07/13].http://sipi.usc.edu/database/.
[24]張弘.數(shù)字圖像處理與分析[M].北京:機(jī)械工業(yè)出版社,2013.
[25]WONG K W,KWOK B S H,LAW W S.A fast image encryption scheme based on chaotic standard map[J].Physics Letters A,2008,372(15):2645-2652.
[26]LIAN S,SUN J,WANG Z.A block cipherbased on a suitable use ofthe chaotic standard map[J].Chaos,Solitons&Fractals,2005,26(1):117-129.
[27]Cao W,Zhou Y,Chen C L P,et al.Medical image encryption using edge maps[J].Signal Processing,2017,132:96-109.
[28]PETRASI.Fractional-ordernonlinearsystems:modeling,analysis and simulation[M].Beijing:Higher Education Press,2011.