黎椏娟,葉瑞松
(汕頭大學(xué)數(shù)學(xué)系,廣東 汕頭 515063)
隨著網(wǎng)絡(luò)技術(shù)和多媒體的快速發(fā)展,網(wǎng)絡(luò)傳輸和交流變得越來越重要,并且圖像在網(wǎng)絡(luò)中的分享與傳輸變得越來越流行.因此,信息安全問題成了一個緊要的問題,由于數(shù)據(jù)容量大、冗余度高、相鄰像素之間的相關(guān)性強,傳統(tǒng)的加密算法如DES 和AES 已經(jīng)不適用于圖像加密[1-2],因此許多研究者開始尋求一種既高效又安全的圖像加密算法,1989年,Matthews 首次提出基于混沌系統(tǒng)的加密方案[3].1997年,F(xiàn)ridrich 將混沌映射應(yīng)用到圖像加密系統(tǒng)[4].1998年,F(xiàn)ridrich 利用2D 混沌系統(tǒng)提出置亂-擴(kuò)散結(jié)構(gòu)的圖像加密方案[5],在這種結(jié)構(gòu)下,為了減少相鄰像素之間的強相關(guān)性,首先在置換過程中對像素位置進(jìn)行擾亂.之后,在擴(kuò)散過程中像素值逐一改變,后一個值與前一個值相關(guān),前后擴(kuò)散兩輪,類似雪崩效應(yīng).現(xiàn)有的圖像加密算法中,此結(jié)構(gòu)占據(jù)很大部分[6-10].
為了提高圖像安全,研究者提出了許多有效的加密系統(tǒng),如DNA 加密[10-11],混合圖像加密[12],利用小波,卷積變換等加密算法[13-14]等等,在這些算法中,混沌序列的應(yīng)用最為廣泛[9-13,15-17],這歸功于混沌映射的一些固有性質(zhì)如對初始值敏感,不可預(yù)測性,以及周期性,這些性質(zhì)恰好能在圖像加密中得到較好的應(yīng)用[4].下面將介紹一些應(yīng)用混沌映射加密的算法.文獻(xiàn)[14],第一次提出將圖像濾波應(yīng)用在圖像加密算法中,它是基于圖像塊的置亂和圖像濾波擴(kuò)散的算法,最后的性能分析顯示其加密效果很好.文獻(xiàn)[15],基于級聯(lián)調(diào)制耦合(CMC)模型提出一種新的2D Logistic ICMIC 耦合映射(2D-LICM),比起參數(shù)較少,軌道相對而言較簡單的一維混沌映射,它的效果會更加優(yōu)良[16].文獻(xiàn)[10],提出自適應(yīng)性DNA 隨機(jī)加密算法,一般而言傳統(tǒng)的DNA 加密算法,它的DNA 編碼規(guī)則是固定的,因此可能會泄露明文信息,讓攻擊者有機(jī)可乘,而本文采用的是動態(tài)編碼規(guī)則,即DNA 編碼規(guī)則是由獨立的隨機(jī)序列控制.本文的性能分析顯示,算法具有較高的安全性.文獻(xiàn)[17],利用塊圖加密,首先將原圖切分成很多子塊,先對子塊分別加密,再組合,與之相似的有文獻(xiàn)[12],[12]的不同之處在于它是讀入很多個原圖,將這些原圖,均分成子塊,對這些子塊全部混合加密,輸出一系列密圖.文獻(xiàn)[18],提出在位平面上加密,將位平面分割成多個3D 小方塊,用Chua 系統(tǒng)產(chǎn)生置亂過程的密鑰,將密鑰應(yīng)用于3D 布朗運動中,然后對位平面的3D 小方塊進(jìn)行加密,復(fù)雜度比較高.
本文設(shè)計了一種新的二維混沌映射,通過對它的Lyapunov 指數(shù)曲線變化圖,分岔圖以及時間序列進(jìn)行分析,可以看出它表現(xiàn)出較好的混沌性能,然后將此二維映射應(yīng)用在自適應(yīng)性圖像加密算法中.在置亂階段,僅改變圖像像素的位置,并在此階段計算出圖像的特征,將此特征應(yīng)用在擴(kuò)散階段,因此,不同的原圖將為擴(kuò)散算法產(chǎn)生不同的特征,達(dá)到擁有更強的抵抗選擇明文或已知明文攻擊的能力.
余下的部分由以下幾個章節(jié)組成,第一節(jié),主要介紹了新混沌映射的構(gòu)造.第二節(jié),重點分析了新映射的動力學(xué)性能,第三節(jié),介紹了基于新混沌映射的自適應(yīng)性圖像加密算法,第四節(jié),對本文提出的加密算法進(jìn)行了相關(guān)的性能分析,如密鑰分析、敏感性分析、統(tǒng)計分析等等,第五節(jié)給出全文的總結(jié),基于所有仿真實驗分析,本文所提出的算法,在數(shù)字圖像加密中具有較好的性能.
考慮動力系統(tǒng){R2;f},其中f:R2→R2定義為
該動力系統(tǒng)與迭代函數(shù)系統(tǒng)IFS{R2;W1,W2,W3}有關(guān),其中
當(dāng)a=0.5,b=0.5 時,此迭代函數(shù)系統(tǒng)的吸引子就是頂點在(0,0),(0,1),(1,0)的Sierspinski 三角形(如圖1),而這個動力系統(tǒng){R2;f}和IFS 之間的聯(lián)系就是伴隨迭代函數(shù)系統(tǒng)IFS 的位移動力系統(tǒng){Δ;f},其中Δ 表示Sierspinski 三角形,于是可將f(x,y)重寫為
f(x,y)將Δ 映射到自身,{R2;f}是{Δ;f}的擴(kuò)展.再將f 離散化,拓展為:[0,1]2→[0,1]2,具體如公式(4)所示,其中a∈(0,1),b>0.
圖1 Sierspinski 三角形
本節(jié)將對新構(gòu)造的映射(4)進(jìn)行動力學(xué)性質(zhì)分析,包括Lyapunov 指數(shù)曲線變化圖,它的分岔圖以及時間序列分析.
圖2 是f 的Lyapunov 指數(shù)變化曲線圖,通過取定初始值和參數(shù)b,控制a 的變化得到相應(yīng)的Lyapunov 指數(shù)圖,從圖中可以看出在a∈[0.45,1]時,f 的Lyapunov 指數(shù)均大于0,從而可以說明本文提出的f 的結(jié)構(gòu)在參數(shù)區(qū)間上是混沌的.
一個混沌系統(tǒng)的分岔圖可以直觀地觀察到其動力學(xué)行為演化的過程,圖3 畫出了f 的分岔圖,可以看出它幾乎充滿整個相平面,從而說明混沌性能優(yōu)良,產(chǎn)生的序列很難被預(yù)測,這對于圖像加密算法而言,是比較有利的.
時間序列分析是對混沌系統(tǒng)產(chǎn)生的時間序列進(jìn)行統(tǒng)計分析,用統(tǒng)計的方法進(jìn)行研究分析,尋找其變化規(guī)律,從而判斷對未來的情況進(jìn)行預(yù)測、決策和控制的可能性大小.為了更進(jìn)一步說明映射f 所產(chǎn)生的混沌序列具有較好的隨機(jī)性質(zhì)和不可預(yù)測性,本文測試了映射f 產(chǎn)生時間序列的相關(guān)性,其中自相關(guān)性系數(shù)和互相關(guān)系數(shù)是兩個主要的度量指數(shù)[11].對于兩個隨機(jī)時間序列x={x(0),x(1),x(2),…,x(N-1)},y={y(0),y(1),y(2),…,y(N-1)},它們延遲k 階的互相關(guān)性系數(shù)(crosscorr)和延遲k 階的自相關(guān)系數(shù)(autocorr)的數(shù)學(xué)公式定義分別如下:
mean(x)是序列x的算術(shù)平均值.圖4 是映射f 兩個變量的偽隨機(jī)序列變化圖,圖5是映射f 產(chǎn)生偽隨機(jī)序列的自相關(guān)性和互相關(guān)性測試結(jié)果.從測試結(jié)果可以看到,混沌序列的自相關(guān)和互相關(guān)性均在0 上下波動,這說明映射f 產(chǎn)生的序列具有很強的隨機(jī)性,因而具有不可預(yù)測性等好的密碼特性,特別適合用于設(shè)計加密算法.
圖2 f的Lyapunov 指數(shù)變化圖
圖3 f的分岔圖
圖4 (a)-(b)分別是映射f的x,y 時間序列變化圖.
圖5 (a)-(c)分別為映射f 時間序列的自相關(guān)性和互相關(guān)性測試結(jié)果.
圖6 為整個系統(tǒng)的加密過程.首先,輸入明文p,混沌系統(tǒng)f的兩套參數(shù)a1=0.45,b1=0.8,a2=0.651,b2=0.78 和初始值x0=0.454 272 34,y0=0.625 128 33,然后計算明文p的特征:
并更新初始值和參數(shù)值:
再對混沌系統(tǒng)f 進(jìn)行迭代,迭代所產(chǎn)生的序列即與明文相關(guān),最后對圖像進(jìn)行置亂-擴(kuò)散操作,詳細(xì)的加密過程展現(xiàn)在算法1 中.
我們采用MatlabR2016a 對本文提出的圖像加密算法進(jìn)行仿真實驗,本文實驗圖像均來自于文獻(xiàn)[13]提到的圖像數(shù)據(jù)庫,我們分別對Boat,Man,Elaine 用本文提出的算法進(jìn)行加密,它們的圖像尺寸均為512×512,密鑰分別采用x0=0.454 272 34,y0=0.625 128 33,a1=0.45,b1=0.8,a2=0.651,b2=0.78,K=1 000.其實驗結(jié)果如圖7,從解密加密圖中可以看出,所有密文呈現(xiàn)雜亂無章且無明顯紋理,直觀上說明我們的算法加密效果可行.
算法1:圖像加密
輸入:明文P,混沌系統(tǒng)f 初始值x0=0.454 272 34,y0=0.625 128 33,和參數(shù)a1=0.45,b1=0.8;a2=0.651,b2=0.78,參數(shù)K,iter=100 000
輸出:密圖C
1.按(7)~(9)更新初始值,和參數(shù)a1,b1;
2.系統(tǒng)f 迭代iter 次,得到序列x1,iter,y1,iter,然后從x,y 分別取M,N 個值,為了避免瞬態(tài)效應(yīng),應(yīng)丟棄前K 個值,即x=x(K:K+M-1),y=y(tǒng)(K:K+N-1);
3.計算移位參數(shù)L=floor(sum(x)×105)mod 256,并將x,y 按升序排序,根據(jù)值在原始x,y 中的位置可以得到下標(biāo)向量X,Y;
4.初始化矩陣BM,N,DM,N,CM,N,M,N 表示矩陣的大??;
5.for i=1:M
6.for j=1:N
7.B(i,j)=P(X(i),Y(j));置亂圖像像素位置;
8.if j-L≥1
9.D(i,j-L)=B(i,j);移位
10.else
11.D(i,j-L+N)=B(i,j);
12.end
13.end
14.end
15.利用更新前的初始值x0,y0和a2,b2 再對系統(tǒng)f 迭代iter 次,得到序列x1,y1;
16.取x1=x1(K:K+M*N-1),y1=y(tǒng)1(K:K+M*N-1),并且得到X1:x1=reahspe(x1,M,N),X1=floor(x1×1014)mod 256,floor 表示向下取整,mod 表示取余,sum 表示求和;
17.擴(kuò)散算法:
18.C(i,j)=D(1,1)+X1(1,1)+sumx1+sumy1mod 256;
19.for j=2:N
20.C(1,j)=D(1,j)+X1(1,j)+C(1,j-1)mod 256;
21.end
22.for i=2:M;
23.C(i,1)=D(i,1)+X1(i,1)+C(i-1,1)mod 256;
24.end
25.for i=2: M
26.for j=2:N
27.C(i,j)=D(i,j)+X1(i,j)+C(i-1,j)+C(i,j-1)mod 256
28.end
29.end
本節(jié)將通過直方圖、相鄰像素之間的相關(guān)性和信息熵來評估算法抵抗統(tǒng)計攻擊的能力[19].
4.1.1 直方圖分析 圖像的直方圖反映了一副圖像像素值的分布情況,為了對抗統(tǒng)計分析的強力攻擊,圖像的直方圖最好是接近完全一致分布的,且與原圖的直方圖相比具有顯著差異[15],圖7 中的(d)~(f),(j)~(l)分別表示三幅原圖像的直方圖,和加密后的直方圖,直觀上可以看出,加密圖像的直方圖是接近完全一致分布的,且與原圖具有顯著差異,所以這個算法足夠?qū)菇y(tǒng)計分析的強力攻擊.
4.1.2 像素間的相關(guān)性分析 一般地,數(shù)字圖像具有異于文本的一些固有特性如數(shù)據(jù)的高度冗余、相鄰像素的相關(guān)性非常強等,攻擊者往往利用這些特性對密文圖像進(jìn)行攻擊,所以一個理想的圖像加密算法應(yīng)該產(chǎn)生在水平、垂直、正對角方向上的相鄰像素點間相關(guān)性都比較弱的密文圖像[20].
圖6 圖像密碼系統(tǒng)流程圖
設(shè)從需要考察的圖像中任取N 對相鄰的像素點,記它們的灰度值(ui,vi)i=1,2,…,N,則向量u={ui}和v={vi}間的相鄰系數(shù)計算公式如下:
在實驗分析中,我們將從明文Man 及其密圖中分別隨機(jī)選取5 000 對像素,分析它們在水平、垂直、對角方向的相關(guān)性,結(jié)果顯示如圖8,由圖可知明文圖像在各個方向上的相鄰像素點對密集在y=x 直線上,而密文圖像在各個方向上的相鄰像素點對在矩陣為(255,255)區(qū)域內(nèi)均勻散布著,說明明文圖像在各個方向上具有頗強的相關(guān)性,而密文圖像在各個方向上的相關(guān)性很弱.同時我們計算了Boat,Man,Elaine的相關(guān)性系數(shù),結(jié)果顯示在表1.
實驗結(jié)果表明明文圖像相鄰像素點的相關(guān)性比較高,而密文圖像相鄰像素點的相關(guān)系數(shù)接近于0,近似無相關(guān)性(兩個獨立不相關(guān)的序列的相關(guān)系系數(shù)理論值為0).
圖7 (a)~(c)分別為Boat, Man, Elaine的原圖;(d)~(f)是(a)~(c)的直方圖;(g)~(i)是(a)~(c)的加密圖;(j)~(l)是(g)~(i)的直方圖;(m)~(o)是(g)~(i)的解密圖;
4.1.3 圖像信息熵分析 信息熵是反映一個信息源的隨機(jī)性和不可預(yù)測性的數(shù)學(xué)概念.對于數(shù)字圖像來說,信息熵反映了圖像信息的不確定性.一副圖像如果有L 種灰度值mi(i=0,1,2,…,L-1),且各灰度值出現(xiàn)的概率分別p(mi)(i=0,1,2,…,L-1),則根據(jù)Shannon 定理,圖像的信息量為:
稱H為圖像的信息熵,當(dāng)圖像中各灰度值出現(xiàn)的概率相等時,圖像的信息熵最大,信息熵表示一副圖像所包含信息的多少,信息熵可以度量灰度值的分布,對于理想的隨機(jī)圖像,其信息熵等于8[14],本文分別計算了Boat,Man,Elaine的信息熵,及其相應(yīng)密文的信息熵,實驗結(jié)果如表2所示,由表2中數(shù)據(jù)可看出,各個密文圖像的信息熵接近于理論值8,而各個明文圖像與理論值有明顯差異.
根據(jù)文獻(xiàn)[21]提出的Local Shannon entropy(LocSE)從局部觀點測試一副圖像的隨機(jī)性.它對不同的尺寸的圖像有效且公平.從一副圖像中隨機(jī)選取k 個不重疊的圖像塊S1,S2,…,Sk,共有TB個像素,則LocSE的定義如下:
H(Si)可以利用(14)計算.根據(jù)參考文獻(xiàn)給出的參考值,本文中取k=30,TB=1 936,α=0.05,則Hleft=7.901 901 309,Hright=7.903 037 329,計算結(jié)果顯示在表3,計算得到的結(jié)果均在Hleft,Hright之間,這意味著本文提出的算法可以將各種不同的明文圖像加密成隨機(jī)密文圖像.
圖8 (a),(b),(c)分別為明文和密文在水平、垂直和對角方向像素的分布
表1 明文與其密文分別在水平、垂直和對角方向上的相關(guān)系數(shù)
密鑰空間是指所有合法密鑰構(gòu)成的集合,圖像密碼系統(tǒng)的密鑰空間應(yīng)該足夠大,從而可以有效地對抗窮舉攻擊,特別是加密解密速度非??斓拿艽a系統(tǒng),密碼長度至少應(yīng)該為128b[14],本文所提出的加密算法有7 個密鑰:x0,y0,a1,b1,a2,b2,K,其中x0,y0,a1,b1,a2,b2 均在0 和1 之間,設(shè)計算機(jī)精度為10-14,圖像大小為512×512,K=103,則整個密鑰空間至少約為這個值遠(yuǎn)遠(yuǎn)大于128b,這意味著我們的算法能夠經(jīng)受得住暴力破解.
表2 信息熵實驗結(jié)果
表3 不同圖像的LocSE 實驗結(jié)果
為了保證系統(tǒng)的安全性,一個優(yōu)良的加密系統(tǒng)必須對密鑰極端敏感,即當(dāng)使用不同的密鑰對密碼圖像進(jìn)行解密時,將得不到明文.在實驗中,我們將用密鑰key 去加密Man,得到密圖,而用幾個與key 差別極其微小的密鑰去解密密圖,如果系統(tǒng)足夠敏感的話,是無法得到明文的,圖9 展示了密鑰敏感性測試,同時,表4 展示了用key1~key7 解密圖與用key 加密的密圖之間的NPCR 和UACI.
表4 用極小差別密鑰解密的圖片與密文的NPCR 和UACI
圖9 加密敏感性測試:(a)~(f)分別為用key 和key1~key7 去解密key 所產(chǎn)生密文得到的明文
在圖像加密系統(tǒng)中,差分分析指探究在相同加密密鑰的條件下,密文圖像會在多大程度上受明文圖像的影響,攻擊者通常通過選擇明文分析或選擇密文分析來實現(xiàn)差分攻擊,為了測試加密系統(tǒng)對明文的極端敏感性,采用兩個常用的度量:不同密文圖像之間的像素改變率(number of pixels change rate,NPCR)和不同密文圖像之間的一致改變強度(unified averagechanging intensity,UACI),NPCR 是用來比較兩幅圖像相應(yīng)位置的像素點的值,記錄不同的像素點個數(shù)占全部像素點的比例,而UACI 則是比較兩幅圖像相應(yīng)位置的像素點的值,記錄它們的差值,然后計算全部相應(yīng)位置像素點的差值與最大差值(即255)的比值的平均值.它們的數(shù)學(xué)定義如下:
這里W,H 分別是矩陣圖像的行數(shù)和列數(shù),c1(i,j),c2(i,j)分別是對應(yīng)于兩副微小差別圖像用同一個密鑰加密的密圖像素點的值.理論上來說兩幅隨機(jī)圖像的NPCR,UACI 理論期望值分別約為99.609 4%,33.463 5%,本文將用Man 和Boat 來完成差分實驗,對于每一個實驗圖片,將隨機(jī)選取1 000 個像素點,每次改變一個像素值,得到一個新的圖像,然后用同樣的密鑰去加密兩個原圖,這兩個原圖之間只相差一個像素值,結(jié)果呈現(xiàn)在表5,6 以及圖10,實驗結(jié)果表明,本文提出的算法所得的NPCR,UACI 值極其地接近期望值,這表明本文算法達(dá)到一個優(yōu)良的擴(kuò)散性能,它對原文非常敏感.所以它能夠抵抗差分攻擊.
表5 不同明文的NPCR
表6 不同明文的UACI
圖10 只改變一個像素值的1 000 張圖片的NPCR 和UICA.
本文提出基于一種新的二維混沌映射的自適應(yīng)性圖像加密算法.首先本文設(shè)計了一種新的二維混沌映射,對其混沌學(xué)性質(zhì)進(jìn)行了全方位的分析,其展現(xiàn)出較好的混沌學(xué)性質(zhì),將其應(yīng)用在加密算法中.然后,將本文加密算法分為置亂和擴(kuò)散兩部分,為了加強抵抗選擇明文或已知選擇明文攻擊,在置亂階段,計算出圖像特征,將此特征應(yīng)用在擴(kuò)散階段,從而不同的原圖將為擴(kuò)散算法產(chǎn)生不同的特征.最后有關(guān)本文提出算法的重要安全性能分析被提出,包括密鑰分析、敏感性分析和統(tǒng)計分析等,所有的實驗結(jié)果均表明,本文提出算法具有較強的魯棒性,因而具有一定的應(yīng)用價值.