趙智鵬 周雙 王興元
1) (重慶師范大學(xué)數(shù)學(xué)科學(xué)學(xué)院,重慶 401331)
2) (大連海事大學(xué)信息科學(xué)技術(shù)學(xué)院,大連 116026)
為提高單一混沌系統(tǒng)圖像加密的安全性,本文提出了基于深度學(xué)習(xí)的圖像加密算法.首先,利用超混沌Lorenz 系統(tǒng)產(chǎn)生混沌序列.其次,利用長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò)(long-short term memory,LSTM)復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)模擬混沌特征構(gòu)造新的混沌信號(hào).然后,利用最大Lyapunov 指數(shù),0-1 測(cè)試,功率譜分析、相圖以及NIST 測(cè)試對(duì)新信號(hào)的動(dòng)力學(xué)特征進(jìn)行分析.最后,將新信號(hào)應(yīng)用到圖像加密中.由于該方法生成的新信號(hào)不同于原有混沌信號(hào),而且加密系統(tǒng)具有很高的復(fù)雜結(jié)構(gòu)和非線性特征,故很難被攻擊者攻擊.仿真實(shí)驗(yàn)結(jié)果表明,本文提出的圖像加密算法相比其他一些傳統(tǒng)方法具有更高的安全性,能夠抵抗常見的攻擊方式.
近年來,隨著互聯(lián)網(wǎng)快速的發(fā)展,通過網(wǎng)絡(luò)進(jìn)行信息傳輸越來越頻繁,由于攻擊者可以截取信息或者改變信息的數(shù)據(jù),從而達(dá)到破壞數(shù)據(jù)傳輸?shù)哪康?對(duì)信息的傳輸帶來了巨大的威脅.圖像作為信息傳遞的主要載體,找到一種實(shí)用的圖像加密算法是很重要的[1-4].為了提高圖像傳輸過程中的安全性,研究人員提出了很多傳輸方案[5,6].隨著混沌理論的發(fā)展,研究表明混沌系統(tǒng)具有復(fù)雜的動(dòng)力學(xué)行為和初值敏感性等特征[7-10],使得其在圖像加密中有很好的效果[11-13].因此研究人員結(jié)合混沌理論提出了越來越多的混沌圖像加密算法[14-35].
混沌信號(hào)是混沌圖像加密的核心,一個(gè)具有復(fù)雜動(dòng)力學(xué)行為的混沌信號(hào)對(duì)圖像加密有很好的效果,混沌信號(hào)主要由以下主要由以下2 種混沌系統(tǒng)產(chǎn)生.第1 種是低維混沌系統(tǒng),如Logistic 映射和Tent 映射[36,37].該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,運(yùn)行快,易于硬件實(shí)現(xiàn),但是該系統(tǒng)容易退化且密鑰空間較小.第2 種是高維混沌系統(tǒng),該系統(tǒng)具有較復(fù)雜的行為和更多的參數(shù),并且具有很強(qiáng)的抗退化能力[38],例如Wang 系統(tǒng),Lorenz 系統(tǒng)和Chen系統(tǒng)等.此外,在時(shí)間和空間方向上均具有混沌行為的時(shí)空混沌也是高維混沌系統(tǒng),如耦合映像格子系統(tǒng)(coupled map lattice,CML)[39],隨機(jī)連接耦合格子時(shí)空混沌系統(tǒng)[40],線性與非線性混合耦合時(shí)空混沌系統(tǒng)(mixed linear-nonlinear coupled map lattice,MLNCML)[41].
為了更好地把混沌信號(hào)應(yīng)用到圖像加密中,近年來,很多學(xué)者對(duì)此進(jìn)行了研究,產(chǎn)生了很多基于混沌系統(tǒng)的圖像加密算法.一類是基于非AI 技術(shù)的混沌圖像加密算法,如Yasser 等[13]提出了一種基于混合混沌系統(tǒng)的圖像加密算法;石航和王麗丹[42]提出了一種基于壓縮感知和多維混沌系統(tǒng)的多過程圖像加密方案;莊志本等[43]提出了基于新的五維多環(huán)多翼超混沌系統(tǒng)的圖像加密算法;Zhang和Wei[44]結(jié)合Lorenz 系統(tǒng)和DNA 計(jì)算提出的彩色圖像加密算法;Zhang和Wang[45]結(jié)合線性與非線性混合耦合時(shí)空混沌系統(tǒng)(MLNCML)提出的對(duì)稱圖像加密算法等.另一類是基于AI 技術(shù)的混沌圖像加密算法,如陳煒等[46]利用BCNN模型對(duì)圖像進(jìn)行壓縮,再利用混沌系統(tǒng)對(duì)圖像進(jìn)行加密;He 等[47]使用了LSTM 的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)圖像進(jìn)行置亂和擴(kuò)散也取得了不錯(cuò)的效果;葛釗成和胡漢平[48]的研究成果表明神經(jīng)網(wǎng)絡(luò)在圖像加密中已有一定的積累,并展現(xiàn)出比傳統(tǒng)技術(shù)更好的應(yīng)用效果.雖然這方面的研究成果并不是很多,但是為混沌密碼學(xué)開辟了新的思路.
近年來,隨著深度學(xué)習(xí)技術(shù)和硬件條件的提高,已經(jīng)有研究人員將深度學(xué)習(xí)算法運(yùn)用到混沌時(shí)間序列的預(yù)測(cè)中,如熊有成和趙鴻[49]用LSTM 搭配合適的組合策略,驗(yàn)證了低維情況下LSTM 預(yù)測(cè)混沌時(shí)間序列能取得較好效果;Sangiorgio 等[50]進(jìn)一步驗(yàn)證了使用LSTM 預(yù)測(cè)混沌時(shí)間序列不僅能取得較好效果,還可以獲得不錯(cuò)的魯棒性;黃偉建等[51]結(jié)合混沌系統(tǒng)相空間重構(gòu)理論,提出了一種基于深度學(xué)習(xí)算法的混沌時(shí)間序列混合預(yù)測(cè)模型(Att-CNN-LSTM).因?yàn)樯疃葘W(xué)習(xí)具有較復(fù)雜的結(jié)構(gòu),它預(yù)測(cè)生成的新混沌信號(hào)與原有混沌信號(hào)相比有一定差異,且具有良好的混沌特性,所以能夠應(yīng)用在圖像加密中.為了提高單一混沌系統(tǒng)的安全性,本文提出了一種基于深度學(xué)習(xí)的混沌圖像加密算法.首先通過深度學(xué)習(xí)產(chǎn)生新的混沌信號(hào),然后將其用在圖像加密中.由于深度學(xué)習(xí)的參數(shù)具有敏感性,故其可以作為加密算法的密鑰,整個(gè)加密算法的密鑰空間相對(duì)傳統(tǒng)的混沌系統(tǒng)圖像加密算法更大,增大了窮舉攻擊的難度,通過統(tǒng)計(jì)分析及與文獻(xiàn)的對(duì)比可知,本文具有較高的安全性.本文首先介紹所提方法使用的混沌系統(tǒng)及神經(jīng)網(wǎng)絡(luò),接著提出加密算法,最后進(jìn)行仿真實(shí)驗(yàn)及安全性能分析.
利用深度學(xué)習(xí)生成新混沌信號(hào)用來進(jìn)行圖像加密,由于新的混沌信號(hào)可以基于任意混沌系統(tǒng)(如Logistic 映射,Lorenz 系統(tǒng),Chen 系統(tǒng)等),因此選擇其中一種混沌系統(tǒng)來說明本文的方法.接下來,介紹所提出的加密算法中用到的混沌系統(tǒng)及LSTM 神經(jīng)網(wǎng)絡(luò).
由于超混沌系統(tǒng)有多個(gè)正的Lyapunov 指數(shù),相對(duì)于一般混沌系統(tǒng)具有較強(qiáng)的抗退化的能力,系統(tǒng)的動(dòng)態(tài)行為更加難以預(yù)測(cè),因此在保密通信方面比一般的混沌系統(tǒng)具有更高的使用價(jià)值[52].由于篇幅原因,本文選擇超混沌Lorenz 系統(tǒng)來實(shí)現(xiàn)本文的方法,超混沌Lorenz 系統(tǒng)可表示為如下方程:
其中,a,b,c和r為超混沌Lorenz 系統(tǒng)的參數(shù).當(dāng)a=10,b=8/3,c=28,—1.52<r<—0.06 時(shí),該系統(tǒng)呈現(xiàn)超混沌態(tài),如圖1所示,當(dāng)r=—1 時(shí),(1)式具有4 個(gè)Lyapunov 指數(shù),λ1=0.3381,λ2=0.1586,λ3=0,λ4=-15.1752.
圖1 超混沌Lorenz 相圖三維投影Fig.1.Three dimensional projection of hyperchaotic Lorenz phase diagram.
長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò)(long-short term memory,LSTM)是一種時(shí)間遞歸的神經(jīng)網(wǎng)絡(luò)(RNN)[53].在實(shí)際的應(yīng)用中,RNN 容易受梯度消失或梯度爆炸的影響,難以捕獲到序列之間的長(zhǎng)期依賴,使得訓(xùn)練異常困難.所以為了解決RNN 梯度消失的問題,LSTM 被提出并廣泛被使用.本文選擇LSTM神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)本文的方法.
LSTM 的結(jié)構(gòu)有很多種形式,但是都有類似的結(jié)構(gòu)(如圖2所示),主要都包含輸入門、輸出門、遺忘門.LSTM 單元的計(jì)算公式如下:
其中,It是輸入門,Ft是遺忘門,Ot是輸出門.Xt是時(shí)間步t的輸入,Ht是隱藏狀態(tài),Ct是記憶細(xì)胞,FC 代表全連接層.訓(xùn)練模型示意如圖2所示.
圖2 LSTM 訓(xùn)練模型示意Fig.2.LSTM training model diagram.
本文提出的加密算法是一個(gè)擴(kuò)散到置亂再到擴(kuò)散的過程.該加密算法主要步驟如圖3和圖4所示,設(shè)明文圖像記為P,其大小為M×N,灰度等級(jí)為 256.
圖3 混沌圖像加密算法流程圖(I)Fig.3.Chaotic image encryption flow chart algorithm (I).
圖4 混沌圖像加密算法流程圖(Ⅱ)Fig.4.Chaotic image encryption flow chart algorithm (Ⅱ).
1) 設(shè)置混沌系統(tǒng)的參數(shù)以及初值并產(chǎn)生混沌信號(hào).密鑰K={x0,y0,z0,w0,r1,r2},其中{x0,y0,z0,w0}為狀態(tài)初值,r1,r2是取值范圍為 [0,255]的整數(shù)隨機(jī)數(shù).
2) 設(shè)置深度學(xué)習(xí)的參數(shù)并產(chǎn)生新的混沌信號(hào).借助超混沌Lorenz 系統(tǒng)產(chǎn)生4 個(gè)偽隨機(jī)信號(hào),依次記為X,Y,Z,W,其大小均為M×N,具體步驟如下.
Step 1使用密鑰K 中的{x0,y0,z0,w0}作為超混沌Lorenz 系統(tǒng)的迭代初始值,使用ode45 函數(shù)迭代超混沌Lorenz 系統(tǒng),得到4 個(gè)偽隨機(jī)序列,依次記為{xi},{yi},{zi},{wi},i=1,2,···,MN;
Step 2將偽隨機(jī)序列{yi}截取長(zhǎng)度為s的部分序列用LSTM 網(wǎng)絡(luò)深度學(xué)習(xí),訓(xùn)練數(shù)據(jù)的比例是p,初始學(xué)習(xí)率為q,學(xué)習(xí)率下降因子為u,隱藏節(jié)點(diǎn)數(shù)為o,截取訓(xùn)練的序列長(zhǎng)度為s.得到預(yù)測(cè)后新的序列=1,2,···,MN};
Step 3對(duì)進(jìn)行混沌特性判斷,如果為混沌序列,則進(jìn)入Step 4;否則重新設(shè)置參數(shù),返回Step2;
Step 4借助于下列公式將序列{xi},,{zi}和{wi},i=1,2,···,MN依次生成矩陣X,Y,Z,W:
這里,k=1,2,···,M;l=1,2,···,N,floor(t) 返回小于或等于t的最大整數(shù),mod1 用于取序列的小數(shù)部分,絕對(duì)值用于將負(fù)的狀態(tài)值x+y′,y′,z和w轉(zhuǎn)化為正數(shù).
3)置亂與擴(kuò)散對(duì)圖像進(jìn)行加密
①進(jìn)行擴(kuò)散算法Ⅰ,借助偽隨機(jī)矩陣Y將明文圖像P變換為矩陣A,具體步驟如下.
Step 1令i=1,j=1 ;
Step 2將P(i,j)變換為A(i,j),即
A(i,j)=[P(i,j)⊕Y(i,j)⊕r1]mod 256;
Step 3令j=j+1 ;
Step 4將P(i,j)變換為A(i,j),即
A(i,j)=[P(i,j)⊕A(i,j-1)⊕Y(i,j)]mod 256;
Step 5如果j <N,跳轉(zhuǎn)到Step 3;否則,令j=1,i=i+1,如果i≤M,跳轉(zhuǎn)到Step 6;否則,跳轉(zhuǎn)到Step 8;
Step 6將P(i,j)變換為A(i,j),即
Step 7跳轉(zhuǎn)到Step 3;
Step 8結(jié)束.
② 進(jìn)行置亂算法.置亂算法將圖像A置亂為圖像B,具體步驟如下.
Step 1對(duì)于圖像A中給定的一個(gè)像素點(diǎn)坐標(biāo) (i,j),根據(jù)(2)式和(3)式計(jì)算得到 (m,n) 的值:
如果m=i或Z(i,j),或者n=j或W(i,j),或者Z(i,j)=i,或者W(i,j)=j,則A(i,j) 位置保持不變;否則,A(i,j) 與A(m,n) 互換位置.
Step 2當(dāng)坐標(biāo) (i,j) 按從左到右、從上到下的掃描順序遍歷圖像A中的所有像素點(diǎn)時(shí),重復(fù)Step 1,將圖像A轉(zhuǎn)化為圖像A′.
Step 3將圖像A′做如下處理:
reshape(A′,1,MN)把圖像A轉(zhuǎn)換成MN維行向量.
Step 4將偽隨機(jī)矩陣X做如下處理:
reshape(X,1,MN)把偽隨機(jī)矩陣X轉(zhuǎn)換成MN維行向量.
Step 5將X中重復(fù)的元素只保留一個(gè).
Step 6將集合{1,2,···,MN}中未出現(xiàn)在X中的元素按從小到大的順序排列在X的末尾.
Step 7對(duì)A′做如下處理:
i=1,2,···,floor(MN/2),floor(t)表示返回小于或等于t的最大整數(shù).
Step 8對(duì)B做如下處理,將圖像A′轉(zhuǎn)化為圖像B:
③最后進(jìn)行擴(kuò)散算法Ⅱ,擴(kuò)散算法Ⅱ是從圖像的最后一個(gè)像素點(diǎn)向前擴(kuò)散,借助于偽隨機(jī)矩陣Y將圖像B變成矩陣C,具體步驟如下.
Step 1令i=M,j=N;
Step 2將B(i,j)變換為C(i,j),即
C(i,j)=[B(i,j)⊕Y(i,j)⊕r2]mod 256;
Step 3令j=j-1 ;
Step 4將B(i,j)變換為C(i,j),即
C(i,j)=[B(i,j)⊕C(i,j+1)⊕Y(i,j)]mod 256;
Step 5如果j >1,跳轉(zhuǎn)到Step 3.否則j=N,i=i-1,如果i≥1,跳轉(zhuǎn)到Step 6;否則,跳轉(zhuǎn)到Step 8;
Step 6將B(i,j)變換為C(i,j),即
Step 7跳轉(zhuǎn)到Step 3;
Step 8結(jié)束.
矩陣C即為所得密文圖像.
解密過程為加密過程的逆過程.
Step 1輸入密文圖像C,4 個(gè)偽隨機(jī)矩陣X,Y,Z,W以及2 個(gè)偽隨機(jī)數(shù)r1,r2;
Step 2進(jìn)行擴(kuò)散算法Ⅱ的逆算法,得到矩陣B1;
Step 3進(jìn)行置亂算法的逆算法,得到矩陣A1;
Step 4進(jìn)行擴(kuò)散算法Ⅰ的逆算法,得到明文圖像P.
為了得到新的序列,利用LSTM 網(wǎng)絡(luò)對(duì)超混沌Lorenz 系統(tǒng)生成的序列{yi}進(jìn)行深度學(xué)習(xí).模型訓(xùn)練過程如圖5所示,可以看出,在250 次迭代后,得到的LSTM 模型的均方根誤差(RMSE)和損失函數(shù)(Loss)均接近于0,表示模型的擬合程度較好,可以進(jìn)行預(yù)測(cè).從圖6和圖7可以看出,深度學(xué)習(xí)得到的新混沌信號(hào)與超混沌Lorenz系統(tǒng)生成的混沌信號(hào){yi}是不一樣的.
圖5 LSTM 模型訓(xùn)練過程Fig.5.LSTM model training process of .
圖6 LSTM 模型預(yù)測(cè)Fig.6.Forecast of LSTM model.
圖7 截取的{yi}Fig.7.Part of {yi}.
為了說明新混沌信號(hào)特點(diǎn),在最大Lyapunov指數(shù)、0-1 測(cè)試、功率譜、隨機(jī)性等方面對(duì)新混沌信號(hào)進(jìn)行分析,并與超混沌Lorenz 系統(tǒng)產(chǎn)生的混沌信號(hào){yi}進(jìn)行對(duì)比.
5.2.1 最大Lyapunov 指數(shù)分析
最大Lyapunov 指數(shù) (largest Lyapunov exponent,LLE) 是一個(gè)較為典型的判斷一個(gè)系統(tǒng)是否具有混沌特性的工具.從時(shí)間序列提取最大Lyapunov 指數(shù)是Wolf 等[54]在1985 年提出的一種數(shù)值方法,此方法現(xiàn)已廣泛應(yīng)用,具體如下.
1)設(shè)給定時(shí)間序列{y(k)},重構(gòu)的m維的相空間為
其中τ為延遲時(shí)間.
2)任意選取初始點(diǎn)Y(k0),設(shè)其與最近的鄰近點(diǎn)Y0(k0)的距離為d(k0),從k0時(shí)刻到k1時(shí)刻兩點(diǎn)的距離超過設(shè)定值μ:
3)保留Y(k1),并找其最近鄰點(diǎn)Y1(k1),使得
并使得d′(k1) 與d(k1) 的夾角達(dá)到最小,然后重復(fù)2)—3)過程,直到窮盡所有的數(shù)據(jù)點(diǎn),此時(shí)追蹤演化過程中總迭代次數(shù)為N,則最大Lyapunov 指數(shù)為
圖8 Wolf 方法求最大Lyapunov 指數(shù)過程圖Fig.8.Using wolf method to find the largest Lyapunov exponent processof.
5.2.20 -1 測(cè)試
0-1 測(cè)試是一個(gè)能夠衡量時(shí)間序列是否有混沌的一種測(cè)試算法,與李雅普諾夫指數(shù)不同的是,它不需要進(jìn)行相空間重構(gòu),通過輸出結(jié)果是否接近于1,來判別混沌現(xiàn)象的產(chǎn)生[55,56].
對(duì)于給定的時(shí)間序列{x(i),i=1,2,···,N},選取任意的c ∈[0,π],定義函數(shù)p(n) 與q(n) 如下:
如果函數(shù)p(n) 與q(n) 的軌跡表現(xiàn)為布朗運(yùn)動(dòng),則函數(shù)M(n)隨時(shí)間線性增長(zhǎng);如果函數(shù)p(n) 與q(n)的軌跡是有界的,則函數(shù)M(n) 是有界的.定義均方位移M(n)的漸進(jìn)線性增長(zhǎng)率Kc如下:
如果Kc≈1,表示該時(shí)間序列具有混沌的特性;如果Kc≈0,則表示該時(shí)間序列不具有混沌特性.
為了驗(yàn)證序列與{yi}是否具有混沌特性,對(duì)序列與{yi}進(jìn)行0-1 測(cè)試.測(cè)試結(jié)果如圖9和圖10所示,均方位移M(n) 的漸進(jìn)線性增長(zhǎng)率Kc接近于1,所以序列與{yi}均具有混沌特性.
圖9 新混沌信號(hào)0-1 測(cè)試圖Fig.9.0-1 test image of the new chaotic signal.
圖10 超混沌Lorenz 系統(tǒng)混沌信號(hào)0-1 測(cè)試圖Fig.10.0-1 test image of the hyperchaotic Lorenz signal.
5.2.3 功率譜分析
為了驗(yàn)證序列與{yi}是否具有周期性,進(jìn)行功率譜分析,如圖11和圖12所示,實(shí)驗(yàn)結(jié)果表明,序列與{yi}不具有周期性,且具有連續(xù)性和噪聲背景,因此可以用來進(jìn)行圖像加密.
圖11 新混沌信號(hào)功率譜圖Fig.11.The spectrum image of the new chaotic signal.
圖12 超混沌Lorenz 信號(hào)功率譜圖Fig.12.Spectrum image of hyperchaotic Lorenz signal.
5.2.4 三維相圖
觀察序列與{yi}的三維相圖,如圖13和圖14所示,從圖中可以看出存在一個(gè)吸引域,各個(gè)相點(diǎn)不斷繞圈、折疊,不斷地靠近和遠(yuǎn)離這個(gè)吸引域,但又不同于隨機(jī)運(yùn)動(dòng),像這樣的繞圈運(yùn)動(dòng)表示序列是混沌的,因此序列與{yi}是混沌的.
圖13 序列 的相圖Fig.13.Phase diagram of .
圖14 序列 {yi} 的相圖Fig.14.Phase diagram of {yi}.
5.2.5 隨機(jī)性分析
為了驗(yàn)證序列與{yi}的隨機(jī)性,選擇了包括了15 個(gè)測(cè)試的NIST,統(tǒng)計(jì)結(jié)果后得到概率(p值),表1與表2中列出了序列與{yi}的NIST測(cè)試結(jié)果.從表1和表2可以看出,所有p值明顯大于0.01,所以序列與{yi}與通過了NIST 測(cè)試,這意味著序列與{yi}具有很好的隨機(jī)性.
表1 新混沌時(shí)間序列NIST 測(cè)試Table 1.NIST test of the new chotic time series.
表2 超混沌Lorenz 混沌序列NIST 測(cè)試Table 2.NIST test of the hyperchaotic Lorenz time series.
5.2.6 混沌信號(hào)的特征對(duì)比
通過以上實(shí)驗(yàn),將對(duì)比結(jié)果列在表3中.從此表可知,新混沌信號(hào)與原混沌信號(hào)通過功率譜分析、相圖及NIST 測(cè)試結(jié)果可以說明均具有混沌特征與隨機(jī)性.然而新信號(hào)的最大Lyapunov 指數(shù)與0-1 測(cè)試結(jié)果均高于原信號(hào),說明其具有更明顯的混沌特征.所以基于深度學(xué)習(xí)生成的新混沌信號(hào)更適合用于圖像加密.
表3 混沌信號(hào)統(tǒng)計(jì)參數(shù)對(duì)比Table 3.Comparison of statistical parameters of chaotic signals.
本節(jié)展示了一些常見的灰度圖像仿真結(jié)果,其中Lena 圖來自網(wǎng)址(https://www.ece.rice.edu/~wakin/images/ [2021-01-01]),其余圖像來自網(wǎng)址(http://sipi.usc.edu/database/database.php?volu me=misc[2021-01-01]).圖像大小分別為 256×256,512×512,1024×1024,灰度圖像的加密與解密實(shí)驗(yàn)結(jié)果如圖15所示.從圖15可以看出,本文方法可以進(jìn)行有效的加密和解密.
圖15 數(shù)字圖像加密解密實(shí)驗(yàn)圖 (a)鳥(256× 256)原圖;(b)鳥(256× 256)加密圖;(c)鳥(256× 256)解密圖;(d)辣椒(256×256)原圖;(e)辣椒(256× 256)加密圖;(f)辣椒(256× 256)解密圖;(g)Lena(512× 512)原圖;(h) Lena(512× 512)加密圖;(i) Lena(512× 512)解密圖;(j) 液體潑灑(512× 512)原圖;(k) 液體潑灑(512× 512)加密圖;(l) 液體潑灑(512× 512)解密圖;(m)機(jī)場(chǎng)(1024× 1024)原圖;(n) 機(jī)場(chǎng)(1024× 1024)加密圖;(o) 機(jī)場(chǎng)(1024× 1024)解密圖;(p)飛機(jī)(1024× 1024)原圖;(q)飛機(jī)(1024×1024)加密圖;(r)飛機(jī)(1024× 1024)解密圖Fig.15.Experimental picture of digital image encryption and decryption:(a) Original bird image;(b) encrypted bird image;(c) decrypted bird image;(d) original pepper (256× 256) image;(e) encrypted pepper (256× 256) image;(f) decrypted pepper (256×256) image;(g) original Lena (512× 512) image;(h) encrypted Lena (512× 512) image;(i) decrypted Lena (512× 512) image;(j) original splash (512× 512) image;(k) encrypted splash (512× 512) image;(l) decrypted splash (512× 512) image;(m) original airport (1024× 1024) image;(n) encrypted airport (1024× 1024) image;(o) decrypted airport (1024× 1024) image;(p) original airplane (1024× 1024) image;(q) encrypted airplane (1024× 1024) image;(r) decrypted airplane (1024× 1024) image.
5.4.1 差分攻擊
差分攻擊是攻擊者針對(duì)明文圖像,改變一個(gè)像素值然后加密圖像,觀察兩個(gè)加密后的密文圖像之間的差距,從而找到規(guī)律,破解算法.
NPCR (number of pixels change rate)與UACI(unified average changing intensity)是差分攻擊的兩個(gè)重要指標(biāo),它們通過 (4)式和(5)式計(jì)算出來[57]:
c1和c2是兩幅圖像,圖像的尺寸是W×H.如果c1(i,j)/=c2(i,j),則D(i,j)=1,否則,D(i,j)=0.
理論上NPCR 與 UACI 的值越接近99.6094%和33.4635%越好.本文選取P(256,256)的像素值做出改變,并計(jì)算出它們的NPCR 與 UACI 結(jié)果,如表4所示.對(duì)比代表性的文獻(xiàn)[10,13,58,59]中的NPCR 與 UACI,對(duì)比結(jié)果如表5所示.實(shí)驗(yàn)結(jié)果及對(duì)比結(jié)果表明,該算法的NPCR 與 UACI已經(jīng)很接近理論值了,因此本文提出的加密算法具有很好的抵抗差分攻擊的能力.
表4 NPCR和UACITable 4.NPCR and UACI.
表5 NPCR和UACI 的平均值與其他加密算法的比較Table 5.The average of NPCR and UACI and comparison with other algorithms.
5.4.2 密鑰空間分析
在此圖像加密系統(tǒng)中,x0,y0,z0和w0的精度為 10-14,r1和r2為0 至255 的整數(shù)隨機(jī)數(shù).訓(xùn)練數(shù)據(jù)的比例p的精度為 10-14,初始學(xué)習(xí)率q的精度為 10-14,學(xué)習(xí)率下降因子u的精度為 10-14,隱藏節(jié)點(diǎn)數(shù)o的取值范圍為 [1,M×N -2],截取進(jìn)行深度學(xué)習(xí)的序列長(zhǎng)度s的取值范圍為
而代表性的文獻(xiàn)[10,13,58-61]中的密鑰空間分別為1098,>255×10145,2283,2399,24×1045和2256,實(shí)驗(yàn)結(jié)果及對(duì)比結(jié)果表明,本算法是足夠安全的.
5.4.3 密鑰敏感性分析
一個(gè)好的算法是對(duì)密鑰敏感的,即對(duì)密鑰做出微小的改變,然后還原,會(huì)得到完全不同的結(jié)果.本文選取的密鑰x0:
對(duì)x0改變生成新密鑰:
由于用錯(cuò)誤的密鑰進(jìn)行還原,所以不能有效解密,如圖16(a)—(c)所示.此外,由于本文中對(duì){yi}進(jìn)行深度學(xué)習(xí)后生成了新的序列進(jìn)行加密,因此對(duì)加密圖用{yi}不能進(jìn)行有效解密,如圖16(c)所示.綜上,本文加密方法具有較高的密鑰敏感性.
圖16 密鑰敏感性 (a)明文圖像;(b)密文用解密結(jié)果;(c)密文用 {yi} 解密結(jié)果Fig.16.Sensitivity of secret key:(a) Original image;(b) error key restoring diagram;(c) error key {yi} restoring diagram.
5.4.4 直方圖分析
直方圖分析是檢測(cè)密文像素值分布是否均勻,一個(gè)好的加密算法,密文直方圖應(yīng)該是均勻的.否則該加密算法是不安全的,攻擊者就能從密文中找到規(guī)律,從而破解該算法.
圖17展示了不同分辨率的灰度圖像明文直方圖與密文直方圖.通過觀察,明文直方圖分布是不均勻的,當(dāng)經(jīng)過本文的加密算法,密文直方圖分布是均勻的.因此攻擊者很難從密文中找到規(guī)律從而破解算法.因此本文具有很好的抵抗統(tǒng)計(jì)攻擊的能力.
圖17 加密解密圖像直方圖 (a)鳥(256× 256)原圖與明文直方圖;(b)鳥(256× 256)加密圖和密圖直方圖;(c)辣椒(256×256)原圖與明文直方圖;(d)辣椒(256× 256)加密圖和密圖直方圖;(e) Lena(512× 512)原圖與明文直方圖;(f) Lena(512×512)加密圖和密圖直方圖;(g)水滴潑灑(512× 512)原圖與明文直方圖;(h)水滴潑灑(512× 512)加密圖和密圖直方圖;(i)機(jī)場(chǎng)(1024× 1024)原圖與明文直方圖;(j)機(jī)場(chǎng)(1024× 1024)加密圖和密圖直方圖;(k)飛機(jī)(1024× 1024)原圖與明文直方圖;(l)飛機(jī)(1024× 1024)加密圖和密圖直方圖Fig.17.Histograms of plain images and ciphered images:(a) Original image and histogram of bird (256× 256);(b)cipher image and histogram of bird (256× 256);(c) original image and histogram of pepper (256× 256);(d) cipher image and histogram of pepper(256× 256);(e) original image and histogram of Lena (512× 512);(f) cipher image and histogram of Lena (512× 512);(g) original image and histogram of splash (512× 512);(h) cipher image and histogram of splash (512× 512);(i) original image and histogram of airport (1024× 1024);(j) cipher image and histogram of airport (1024× 1024);(k) original image and histogram of airplane (1024× 1024);(l) cipher image and histogram of airplane (1024× 1024).
5.4.5 相關(guān)性分析
除上述直方圖分析外,統(tǒng)計(jì)分析中還有一種檢測(cè)指標(biāo),相鄰像素值的相關(guān)性,其包括水平相鄰像素相關(guān)性,垂直相鄰像素相關(guān)性,對(duì)角相鄰像素相關(guān)性.一個(gè)好的加密系統(tǒng),加密后得到的密文各個(gè)相鄰像素值的相關(guān)性越接近于0 代表加密效果越好,這樣攻擊者就不能從密文中得到有效地信息,很好的保護(hù)了加密算法.接下來,我們使用下面的公式來計(jì)算相鄰像素值的相關(guān)性[62]:
首先,本文在Lena 明文和密文中隨機(jī)選取5000 對(duì)像素點(diǎn)進(jìn)行測(cè)試,如圖18所示.從圖18可以看出,明文各個(gè)方向具有很強(qiáng)的相關(guān)性,而從密文的相關(guān)性具有很小的相關(guān)性.
圖18 Lena 圖相關(guān)性分析 (a)明文;(b)密圖Fig.18.Correlation coefficients of Lena:(a) Original image;(b) encrypted image.
接下來,對(duì)其他圖片進(jìn)行仿真,計(jì)算結(jié)果陳列在表6中,并與一些代表性的文獻(xiàn)[10,13,58,59]的密文相關(guān)性作對(duì)比,其結(jié)果展示在表7中.實(shí)驗(yàn)結(jié)果表明,本文的算法與一些代表性的文獻(xiàn)作對(duì)比,可以發(fā)現(xiàn),明文的3 個(gè)方向上相關(guān)性很高,經(jīng)過本文算法的加密,密文的3 個(gè)方向上相關(guān)性變得很低,與其他方法一樣都接近于0.因此本文具有更好的安全性,能夠抵抗統(tǒng)計(jì)攻擊.
表6 圖像相關(guān)系數(shù)Table 6.Correlation coefficients of images.
表7 密文圖像相關(guān)系數(shù)比較Table 7.Comparison of the correlation coefficients of images.
5.4.6 信息熵分析
信息熵代表信息混亂的程度,像素值越混亂信息熵越接近8,信息泄露的可能性越小,信息熵通過(6)式計(jì)算[63]:
在(6)式中,p(si)代表si發(fā)生概率.理論上信息熵的值越接近8,代表像素值分布越混亂,信息泄露的可能性就越小.采用灰度圖像房屋(house),攝影師 (cameraman),鳥(bird),辣椒 (pepper),Lena,水滴潑灑 (splash),飛機(jī)(airplane)(512×512),坦克(tank),卡車 (truck),機(jī)場(chǎng) (airport),飛機(jī)(airplane)(1024×1024)進(jìn)行檢測(cè).選取不同的差分攻擊位置,在表8中分別給出了明文的信息熵以及密文的信息熵,代表性文獻(xiàn)[10,13,58,59]中Lena(512×512)的信息熵分別為7.9993,7.9993,7.9993,7.999239.實(shí)驗(yàn)結(jié)果表明我們得到的密文信息熵7.9993和其他方法一樣都非常接近于8,表示信息泄露的可能性很小,攻擊者幾乎不能從密文中找到有效信息,因此本文提出的算法具有很好的安全性.
表8 信息熵Table 8.Information entropy of images.
5.4.7 魯棒性分析
魯棒性是檢驗(yàn)加密算法抗干擾能力的重要指標(biāo).在傳輸過程中信息有可能部分丟失或受到噪聲污染,因此需要設(shè)計(jì)一個(gè)加密算法,即使丟失一部分信息,也可以通過解密程序得到明文的一些主要信息.我們通過剪切攻擊和噪聲攻擊兩種方式來檢測(cè)本文加密算法的魯棒性.
圖19(a)—(c)展示了不同程度的剪切攻擊,圖19(d)—(f)展示了不同程度的高斯白噪聲攻擊,從圖中可以看出,盡管密文丟失一些信息或者一些信息被污染,還可以通過解密得到明文的一些主要信息,因此本文的加密算法具有較好的魯棒性.
圖19 抗攻擊性檢驗(yàn) (a) 10%剪切;(b) 30%剪切;(c) 80%剪切;(d) 0.001 高斯白噪聲攻擊;(e) 0.01 高斯白噪聲攻擊;(f) 0.1 高斯白噪聲攻擊Fig.19.Anti attack test:(a) 10% data missed;(b) 30% date missed;(c) 80% data missed;(d) attack of 0.001 Gaussian white noise;(e) attack of 0.01 Gaussian white noise;(f) attack of 0.1 Gaussian white noise.
5.4.8 已知明文和選擇明文攻擊的分析
全黑或全白圖像經(jīng)常被用來評(píng)估所提出的密碼系統(tǒng)對(duì)已知明文和選擇明文攻擊的抵抗力.對(duì)全黑圖像與全白圖像進(jìn)行加密解密,結(jié)果如圖20所示,可見我們的方法可以對(duì)這兩個(gè)圖進(jìn)行有效的加密和解密.接著對(duì)全黑圖像與全白圖像進(jìn)行統(tǒng)計(jì)分析,如表9所列.通過此表可以得出,各種指標(biāo)均接近理論值,因此本圖像加密算法對(duì)已知明文和選擇明文攻擊具有較好的抗攻擊性.
圖20 全黑全白圖加密解密圖像Fig.20.Encryption and decryption image of all black and all white image.
表9 全黑全白圖的統(tǒng)計(jì)分析Table 9.The statistical analysis of all-black image and all-white image.
本文提出了一種基于深度學(xué)習(xí)的圖像加密算法,利用LSTM 神經(jīng)網(wǎng)絡(luò)對(duì)混沌序列進(jìn)行深度學(xué)習(xí),生成了新的混沌信號(hào),將其用來進(jìn)行圖像加密.相對(duì)于其他神經(jīng)網(wǎng)絡(luò)模型,深度學(xué)習(xí)模型具有復(fù)雜的結(jié)構(gòu)和較多的參數(shù),這給破解帶來了很大的難度.通過對(duì)比實(shí)驗(yàn)結(jié)果表明,該算法具有更好的安全性,能抵抗常見的攻擊.但是由于設(shè)備條件限制,對(duì)于較大數(shù)據(jù)集,加密算法的效率有待提高.