黎 學 軍, 苗 苗, 李 慶 宇, 劉 俊 俏
( 1.大連工業(yè)大學 信息科學與工程學院, 遼寧 大連 116034;2.陸裝沈陽軍代局駐大連地區(qū)軍代室, 遼寧 大連 116033 )
隨著多媒體技術(shù)的飛速發(fā)展和互聯(lián)網(wǎng)的普及,數(shù)字圖像在軍事、醫(yī)學、工業(yè)工程、公共安全、商標保護等領(lǐng)域得到了廣泛的應(yīng)用[1],數(shù)字圖像通過多種平臺或信道進行存儲和傳輸[2]。由于圖像往往帶有私人或敏感信息,因此圖像安全問題受到越來越多的關(guān)注[3]。
傳統(tǒng)的圖像加密方法通常是將數(shù)字圖像視為二進制數(shù)據(jù)序列,然后使用傳統(tǒng)的數(shù)據(jù)加密技術(shù)(如AES[4])對數(shù)據(jù)序列進行加密。由于,數(shù)字圖像中的每個像素通常使用至少8 bit來表示,并且相鄰像素之間存在較高的信息冗余[5],所以傳統(tǒng)的加密算法并不適合用于圖像加密。而混沌具有初值敏感性、不可預測性和遍歷性等特性,這些特性使得混沌系統(tǒng)產(chǎn)生的偽隨機序列非常適用于圖像加密[6]。目前,研究者利用憶阻器系統(tǒng)[7]、混沌理論[8-10]、量子理論[11-12]、壓縮感知[13-15]、DNA編碼[16-17]等技術(shù),設(shè)計了多種圖像加密算法。例如,Chen等[18]提出了一種基于改進混沌映射的自適應(yīng)醫(yī)學圖像加密算法,利用logistics混沌映射對平面圖像進行置亂處理,同時采用超混沌系統(tǒng)對子塊進行自適應(yīng)加密。文獻[19]中提出了一種基于混沌映射和動態(tài)模曲線的圖像加密解密算法,利用射影變換提高了算法的擴散性。Chai等[20]基于純圖像和拉丁方陣(PPILS)的置換和雙向自適應(yīng)擴散。提出了一種具有高自適應(yīng)性的醫(yī)學圖像加密方案,文獻[21]中提出了一種基于隱藏吸引子混沌系統(tǒng)、Knuth-Durstenfeld算法和DNA序列操作的圖像加密方案,利用隱藏吸引子混沌系統(tǒng)生成圖像加密所需的混沌序列。文獻[22]中提出了一種基于擴散過程和改進的Playfair密碼的圖像加密算法,利用混沌交叉映射對各圖像顏色通道的矩陣進行置換和擴散處理。Niu等[23]提出分數(shù)階混沌系統(tǒng)的反控制,并應(yīng)用于彩色圖像加密。文獻[24]中提出了一種基于混沌的并行圖像加密方案。文獻[25]中提出了一種基于左卡普托離散增量的三維分數(shù)階離散Hopfield神經(jīng)網(wǎng)絡(luò)(FODHNN),研究了該神經(jīng)網(wǎng)絡(luò)的動態(tài)特性和同步特性,并將其應(yīng)用于圖像加密。Zhang等[26]提出了一種基于整數(shù)域的類感知器網(wǎng)絡(luò)的圖像加密方案,以感知器網(wǎng)絡(luò)為核心,實現(xiàn)普通圖像的信息存儲和傳播。Liu等[27]基于菲涅爾域的雙隨機相位編碼,提出了一種基于超混沌系統(tǒng)和公鑰密碼理論的光學圖像加密算法。
與傳統(tǒng)的混沌系統(tǒng)相比,激光混沌系統(tǒng)不僅有各種各樣的耗散系統(tǒng)的復雜現(xiàn)象,同時具備雙穩(wěn)態(tài)、接近理想模型、容易設(shè)計等特性,使得激光混沌系統(tǒng)在混沌密碼學有很好的應(yīng)用潛力[8]。因此,本研究采用單模激光混沌系統(tǒng)生成像素置亂和擴散的偽隨機序列,與神經(jīng)網(wǎng)絡(luò)方法與Arnold置亂方法、加取模操作擴散方法結(jié)合,設(shè)計了一個新型的數(shù)字圖像加密方案。
單模激光Lorenz系統(tǒng)的動力方程為
(1)
式中:a,b,c是系統(tǒng)參數(shù)。令初值x0=1,y0=2,z0=3;參數(shù)a=10,b=8/3,c=30;步長h=0.01。計算得到系統(tǒng)的李雅普諾夫指數(shù)LEs=(1,0,-14.79),其中,有一個正的李雅普諾夫指數(shù),并且所有的李雅普諾夫指數(shù)和為負,所以單模激光Lorenz系統(tǒng)是混沌系統(tǒng),系統(tǒng)相圖如圖1所示。
(b) x-y-z空間相圖
令系統(tǒng)b=8/3,c=30,h=0.01;初始值x0=1,y0=2,z0=3。當a∈[4,23]時,系統(tǒng)的分岔圖、李雅普諾夫指數(shù)譜和SE復雜度如圖2所示。由圖2(a)、(b)可知,當a∈(4.0,5.2)∪(22.18,23.00]時,系統(tǒng)李雅普諾夫指數(shù)均小于0,系統(tǒng)處于穩(wěn)定狀態(tài);當a∈(5.20,22.17)時,有一個正的李雅普諾夫指數(shù),系統(tǒng)處于混沌狀態(tài)。圖2(c)表明系統(tǒng)處于混沌態(tài)時復雜度較大,當系統(tǒng)處于穩(wěn)定狀態(tài)時,SE復雜度很小,甚至接近于0。
(a) 分岔圖
(b) 李雅普諾夫指數(shù)譜
(c) SE復雜度圖2 系統(tǒng)在參數(shù)a∈[4,23]時的分岔圖、李雅普諾夫指數(shù)譜和SE復雜度Fig.2 Bifurcation diagrams, Lyapunov exponents spectra and SE complexity diagram of the systemwith parameter a∈[4,23]
令參數(shù)a=10,c=30,h=0.01,系統(tǒng)初始值x0=1,y0=2,z0=3;當b∈[0.5,3.5]時,系統(tǒng)的分岔圖、李雅普諾夫指數(shù)譜和SE復雜度如圖3所示。圖3(a)~(b)中,當b∈[0.50,0.58)∪(0.65,0.73)∪(0.96,0.98)時,最大李雅普諾夫指數(shù)為0,系統(tǒng)表現(xiàn)為周期運動形式,并且系統(tǒng)在b為0.54和0.73處出現(xiàn)倍周期分岔;當b∈(0.58,0.65)∪(0.73,0.96)∪(0.98,3.50)時,有一個正李雅普諾夫指數(shù),系統(tǒng)處于混沌狀態(tài)。圖3(c)表明在混沌狀態(tài)區(qū)間復雜度較大,與分岔圖和李雅普諾夫指數(shù)譜的狀態(tài)一致。
(a) 分岔圖
(b) 李雅普諾夫指數(shù)譜
(c) SE復雜度圖3 系統(tǒng)在b∈[0.5,3.5]時的分岔圖、李雅普諾夫指數(shù)譜和SE復雜度Fig.3 Bifurcation diagrams, Lyapunov exponents spectra and SE complexity diagram of the systemwith b∈[0.5,3.5]
Arnold變換也稱“貓變換”,是一種在有限區(qū)域內(nèi)進行反復折疊、拉伸變換的混沌映射方法[12]。數(shù)字圖像可看作一個二維矩陣,圖像中的像素位置可看作二維矩陣中對應(yīng)坐標的位置。經(jīng)過Arnold變換,圖像的像素位置會重新排列,實現(xiàn)對圖像的置亂加密效果。Arnold變換算法(正變換)由式(2)實現(xiàn)。
(2)
式中:αn和βn為變換前圖像像素的位置,αn+1和βn+1為變換后像素的位置,p和q為當前變換的次數(shù),N為圖像的長或?qū)?,mod為模運算。
Arnold變換的逆變換為
(3)
兩個變換矩陣為互逆矩陣,且逆矩陣仍然是整數(shù)矩陣。
BP神經(jīng)網(wǎng)絡(luò)模型主要由層(包括輸入層、隱含層和輸出層)、神經(jīng)元和神經(jīng)元之間的權(quán)值三部分組成。輸入層神經(jīng)元接收輸入信息,并傳輸給隱含層的各神經(jīng)元,隱含層神經(jīng)元負責對接收的信息進行處理變換,由輸出層輸出處理結(jié)果。各層神經(jīng)元僅與相鄰層神經(jīng)元全連接,同層神經(jīng)元無連接。圖4為BP神經(jīng)網(wǎng)絡(luò)方法中各神經(jīng)元的計算過程。輸出層的神經(jīng)元產(chǎn)生網(wǎng)絡(luò)的初始結(jié)果,輸入與輸出之間的計算過程可以表示為
(4)
式中:I和H為輸入層和隱含層神經(jīng)元數(shù)量,Xi為輸入信息,bj、bk分別為隱含層偏差和輸出層偏差,foutput和fhidden分別為隱含層神經(jīng)元和輸出神經(jīng)元的傳遞函數(shù),wji為連接輸入層和隱含層的權(quán)值,wkj為隱含層與輸出層之間的權(quán)值。
圖4 神經(jīng)元計算原理Fig.4 Principles of neurocomputing
通過式(5)測量輸出值與實際值之間的誤差,如果誤差超過公差,則通過梯度下降法修正權(quán)值和偏差。通過修改后的權(quán)值和偏差對輸出值進行再訓練,重復上述過程,直到輸出在公差范圍內(nèi)。
(5)
假設(shè)輸入的圖像大小為W×H,所提出的圖像加密流程如圖5所示。
具體的加密算法步驟:
步驟1輸入圖像IW×H,對輸入圖像的所有像素點進行分割,將W×H的圖像分割成N
圖5 加密流程Fig.5 Encryption process
個子圖像塊,每個圖像塊的大小為l×l。
步驟2對生成的子圖像塊矩陣進行歸一化處理,并采用均值分布預處理。待處理圖像的灰度范圍為[xmin,xmax],變換域為[ymin,ymax],假設(shè)要處理的像素為xvalue,yvalue可由式(6)得到。
(6)
原始圖像的像素值通過式(6)劃分為[0,1]的集合,構(gòu)成所有訓練樣本的預處理過程。
步驟3BP神經(jīng)網(wǎng)絡(luò)的輸入為圖像數(shù)據(jù)樣本,如果BP神經(jīng)網(wǎng)絡(luò)的壓縮率為k,則網(wǎng)絡(luò)的輸入層節(jié)點數(shù)為ni,隱藏層的節(jié)點數(shù)為nk,即k=ni/nk。當神經(jīng)網(wǎng)絡(luò)被訓練時,網(wǎng)絡(luò)的耦合權(quán)值在壓縮過程中保持不變。
步驟4利用newff函數(shù)進行訓練,可得到壓縮數(shù)據(jù),傳遞函數(shù)為
(7)
其中,logsig(n)函數(shù)的特點是(-∞,+∞)范圍的數(shù)據(jù)被映射到區(qū)間(0,1)內(nèi),且n為神經(jīng)元節(jié)點數(shù)的輸入。
(8)
其中在tansig(n)函數(shù)中,輸出將被限制在(-1,1)區(qū)間內(nèi)。為了使預測輸出和實際輸出相差不大,均方差的值應(yīng)足夠小,且考慮加密時間,本算法中設(shè)置均方差為0.000 35。
步驟5設(shè)置單模激光混沌系統(tǒng)的參數(shù)和初值,對混沌系統(tǒng)迭代(t+W×H)次。將前t個值舍去,以提高混沌系統(tǒng)參數(shù)和初值的靈敏度。結(jié)合得到3個混沌序列x1、x2、x3,得到浮點數(shù)類型的偽隨機序列S。
步驟6由浮點數(shù)類型的偽隨機序列K得到整數(shù)類型長度為2(W×H)的偽隨機數(shù)向量X,Xi∈{1,2,…,10(W×H)}。再由X得到兩個偽隨機序列S1、S2。
步驟7將神經(jīng)網(wǎng)絡(luò)壓縮后的圖像矩陣Q轉(zhuǎn)換為一維向量T,利用偽隨機序列S1、S2對T進行置亂。再將一維向量還原為W×H的像素矩陣。
步驟8同理根據(jù)第5步和第6步得到偽隨機序列S3、S4。
步驟9采用偽隨機序列S3、S4對像素值進行擴散操作,擴散算法為Bi=(Bi-1+Si+Pi)mod(256)。其中置亂圖像展開為P,S為密碼向量,對應(yīng)密文為B,i=1,2,3,…,W×H。
Bi=(Bi-1+Si+Pi)mod(256)展開為
Bn=(B0+S1+S2+…+Sn+P1+
P2+…+Pn)mod(256)
(9)
正向擴散為
Bi=(Bi-1+Si+Pi)mod(256)
(10)
逆向擴散為
Pi=(2×256+Bi-Bi-1-Si)mod(256)
(11)
步驟10根據(jù)式(9)~(11)可得到密文向量B,然后將其恢復為像素矩陣,最后得到加密圖像C。
圖像的解密過程是圖像加密的逆過程,解密流程如圖6所示。具體的解密步驟:
步驟1讀取加密圖像C,根據(jù)加密算法的第8步,得到逆過程的偽隨機序列S3和S4。
步驟2由式(12)和式(13)對像素值進行恢復,得到像素矩陣E。
正向擴散為
Bi=(Bi+1+Si+Pi)mod(256)
(12)
逆向擴散為
Pi=(2×256+Bi-Bi+1-Si)mod(256)
(13)
步驟3根據(jù)加密算法的第5和第6步,得到逆過程的偽隨機序列S1、S2,結(jié)合Arnold逆變換算法,對逆擴散后的像素矩陣進行像素位置的恢復,得到一維向量F。
步驟4將一維向量F的像素值從[0,1]恢復到[0,255],向量被恢復為l×l的子圖像塊。
步驟5將所有的子圖像組合成一個完整的圖像即可得到解密圖像。
選擇256×256的灰度圖像作為對象對算法性能進行分析。由本文算法得到的明文圖像、密文圖像和解密圖像如圖7所示。從圖像加密的結(jié)果可知,加密效果良好,可以有效掩蓋明文圖像中的信息。同時,解密算法可以完全正確解密密文。由于圖像加密安全性能的好壞直接決定算法能否有效抵御外部攻擊,因此加密效果需要使用密鑰敏感性、直方圖分析、相關(guān)分析、信息熵、NPCR、UACI、魯棒性分析等進行安全測試。
密鑰空間是指所有合法密鑰構(gòu)成的集合,圖像密碼系統(tǒng)的密鑰空間應(yīng)該足夠大,從而可以有效地對抗窮舉攻擊,密碼長度至少應(yīng)該為128 bit[29]。在本算法中,密鑰約為292 bit,所以密鑰空間大約是2292。從表1與其他加密算法比較可以看出,本文算法的密鑰空間大小足夠大,可以抵御所有類型的窮舉攻擊。
有效的圖像加密算法應(yīng)該對加密階段和解密階段密鑰的細微變化非常敏感,密鑰的細微變化,加密效果會有很大的不同。這種不同的程度可以通過計算兩幅不同的密文的差值來評價。本算法中,對密鑰a、b和c進行靈敏度分析,當參數(shù)產(chǎn)生了10-15的微小改變時,新的密文圖像和與原始密文圖像之間的差異如圖8所示。從圖8可以看出,當參數(shù)發(fā)生微小改變時,所得到的密文圖像與原始密文之間存在差異,表明本文加密算法的密鑰具有確定性和唯一性。
直方圖表示像素點的分布情況。相對于明文圖像的直方圖,理想加密圖像的像素分布應(yīng)該是均勻的、平坦的,它有效地隱藏了平面圖像的像素值,以防止攻擊者提取有效信息。從圖9的實驗結(jié)果可以看出,明文圖像的直方圖并不平坦,也就是說,圖像中包含像素的關(guān)鍵信息,不能有效地抵抗攻擊者提取圖像的關(guān)鍵信息。而使用本文算法加密的圖像直方圖分布比較平坦,較好地隱藏了圖像的關(guān)鍵信息,可以有效抵抗統(tǒng)計攻擊。
相關(guān)性反映了相鄰像素之間的相關(guān)程度。在加密算法中,常對相鄰像素的線性關(guān)系進行測試。一般情況下,明文圖像的相鄰像素具有較高的相關(guān)性,抗差分攻擊能力較弱;而密文圖像極大地消除了相鄰像素之間的相關(guān)性,大大提高了圖像的抗差分攻擊能力。利用式(14)可以計算出相鄰像素在水平、垂直和對角方向上的相關(guān)性。
原始密文圖像
密文圖像
密文差異
原始密文圖像
密文圖像
密文差異
原始密文圖像
密文圖像
密文差異
(a) 明文圖像
(b) 密文圖像
(14)
式中:x、y為相鄰兩個像素的灰度值。圖10為Lena明文圖像與密文圖像在水平方向、垂直方向和對角方向的相關(guān)系數(shù)。由圖10的實驗結(jié)果可知,密文圖像相鄰像素的相關(guān)系數(shù)大大降低。為了進一步展示相關(guān)系數(shù)的特征,相關(guān)系數(shù)的比較結(jié)果如表2所示。從表中可以看出,應(yīng)用本文算法加密圖像,密文圖像的相關(guān)性更低,具有更好的抗攻擊性能。
由于圖像加密算法的精度很高,使得平面圖像中像素的微小變化都會導致加密效果發(fā)生巨大變化。這種變化通常通過像素改變率(NPCR)和歸一化平均變化強度(UACI)來測量,體現(xiàn)了加密算法的抗差分攻擊能力。其定義為
表2 Lena相關(guān)系數(shù)的比較Tab.2 Comparison of Lena correlation coefficients
(15)
式中:c1,c2為兩幅大小為W×H圖像。當c1(i,j)≠c2(i,j)時,可得D(i,j)=1。如果c1(i,j)=c2(i,j),則D(i,j)=0。NPCR的期望值為99.6094%,UACI的期望值為33.4635%。通過表3與不同算法的對比可以看出,本文算法具有更好的抗差分攻擊性能。
信息熵反映了圖像信息的不確定性,是測試加密算法安全性的一種常用方法。具體算法為
表3 UACI和NPCR的平均值Tab.3 Average values of UACI and NPCR
式中:p(si)是si的概率。對于256階的灰度圖像,理想信息熵為8。信息熵值越接近8,圖像可視信息越少,像素點的分布越接近隨機。從表4中Lena圖像的對比結(jié)果可以看出,本文算法的信息熵接近理想值,具有很高的安全性。
表4 信息熵的比較Tab.4 Comparison of information entropy
在數(shù)字圖像的傳輸和存儲中,容易產(chǎn)生不同類型的噪聲和數(shù)據(jù)丟失,因此一個好的加密算法應(yīng)該能夠有效抵抗密文圖像的失真。數(shù)據(jù)丟失攻擊和噪聲攻擊常用于測試圖像加密算法的魯棒性。圖11(a)~(d)顯示了椒鹽噪聲攻擊(SPN)的Lena加密圖像和解密圖像,圖11(e)~(h)顯示出了數(shù)據(jù)丟失(DL)的Lena密文圖像及其解密圖像。當加密圖像丟失一些數(shù)據(jù)或被噪聲模糊時,解密過程仍能恢復原始圖像,且具有很高的視覺效果。實驗結(jié)果表明,該加密算法能夠有效抵抗噪聲和數(shù)據(jù)丟失攻擊,具有很好的魯棒性。
所提出的基于激光混沌系統(tǒng)與神經(jīng)網(wǎng)絡(luò)的圖像加密算法,利用激光混沌系統(tǒng)對初始條件的敏感性增加了秘鑰空間及其敏感性,并結(jié)合BP神經(jīng)網(wǎng)絡(luò)對加密圖像進行壓縮和Arnold變換有效降低圖像相鄰像素的相關(guān)性,提高了算法抵抗統(tǒng)計和敏感性攻擊的能力。通過與其他加密算法在安全性上的比較分析,可以看出所提出的算法具有很高的安全性。因此,該算法適合于圖像加密,以保護數(shù)字圖像信息在互聯(lián)網(wǎng)上的安全傳輸,具有較好的實用意義和應(yīng)用前景。
(a) 密文圖像(SPN=1%)
(b) 解密圖像(SPN=1%)
(d) 解密圖像(SPN=4%)
(e) 密文圖像(DL=3%)
(f) 解密圖像(DL=3%)
(g) 密文圖像(DL=10%)
(h) 解密圖像(DL=10%)