宦立鑫
(安徽理工大學(xué) 計算機科學(xué)與工程學(xué)院,安徽 淮南 232001)
隨著網(wǎng)絡(luò)技術(shù)及互聯(lián)網(wǎng)的蓬勃發(fā)展,數(shù)字圖像作為一種可視化的交流方式在網(wǎng)絡(luò)中的傳輸越來越頻繁,這些圖像經(jīng)常不經(jīng)意地記錄著人們的日常生活,可能會導(dǎo)致敏感信息的泄露,圖像加密可以有效地保護圖像隱么內(nèi)容的安全。傳統(tǒng)的加密技術(shù)(如AES、DES)是針對文本信息加密設(shè)計的,在應(yīng)用于圖像加密時會由于圖像信息的高冗余度以及相鄰像素的強相關(guān)性而導(dǎo)致加密效率較低,因此不適用于圖像加密;混沌對其初始值的敏感性、偽隨機性以及混沌序列的遍歷性符合圖像加密的基本要求,因此混沌圖像加密得到越來越廣泛的關(guān)注?;煦缦到y(tǒng)通過產(chǎn)生偽隨機序列來驅(qū)動置亂、擴散操作。置亂操作會改變像素的位置,使圖像變得毫無意義;擴散操作使得像素之間相互作用,并盡可能地將一個像素的信息傳播到所有像素。
現(xiàn)有的混沌圖像加密算法大多是對完整的圖像數(shù)據(jù)進行加密,然而在一幅圖像中可能只有一部分數(shù)據(jù)是重要的,對于不重要的數(shù)據(jù)往往沒有加密的必要,對整體圖像進行加密不僅復(fù)雜度高,效率低,而且不能滿足快速增長的圖像數(shù)據(jù)要求。針對上述問題,本文提出一種選擇性混沌圖像加密算法,使用顯著性目標檢測算法識別出圖像中的重要區(qū)域后僅對重要區(qū)域進行加密,這不僅保證了圖像數(shù)據(jù)的安全性,而且提高了圖像加密的效率。
選擇性混沌圖像加密算法包括兩部分,即明文圖像重要區(qū)域的選擇以及重要區(qū)域的加密。如何選擇明文圖像的重要區(qū)域是圖像加密算法應(yīng)用的一個關(guān)鍵問題,這決定了圖像加密算法的加密對象是否正確,如果加密對象不正確則失去了加密的意義。顯著性目標檢測可以模擬人的視覺感知定位圖像中最引人注目即視覺上最顯著的目標區(qū)域,并將其從背景中分割出來,這也是計算機視覺任務(wù)中常用的預(yù)處理步驟。
本文使用顯著性目標檢測對圖像加密系統(tǒng)中的輸入圖像Lena、Cameraman進行預(yù)處理,識別出輸入圖像的重要區(qū)域,輸出結(jié)果如圖1所示,輸出的顯著圖都準確地識別出輸入圖像的重要區(qū)域,并將其與背景進行了分割,這保證了圖像加密算法的加密對象是準確的,使我們能夠有效地對圖像重要區(qū)域進行加密,為加密圖像的安全性提供了保障。
圖1 顯著性目標檢測輸出結(jié)果
Logistic映射是圖像加密算法中常用的混沌映射之一,其數(shù)學(xué)定義為:
其中,∈[0,4]為該混沌映射的控制參數(shù),x為混沌輸出值,其取值范圍為[0,1]。圖2顯示了Logistic映射的分岔圖與Lyapunov指數(shù),分岔圖直觀地描述了隨著控制參數(shù)的變化,動力系統(tǒng)軌跡上點的分布變化情況,Lyapunov指數(shù)可以檢驗動力系統(tǒng)對初始條件微小變化的敏感性。由圖2可知,3.569 945 67<≤4時,Logistic映射處于混沌狀態(tài),控制參數(shù)接近4時,其混沌性能最佳。
圖2 Logistic映射混沌性能分析
選擇明文攻擊通過觀察明文圖像的微小變化對密文的影響來破解加密算法,當一個圖像加密算法對所有的明文圖像都采用相同的密鑰時,該圖像加密算法將使用相同的密鑰序列對這些圖像進行加密,這導(dǎo)致加密后的圖像很容易遭受選擇明文攻擊。一個安全的圖像加密算法應(yīng)該使用與明文圖像相關(guān)的密鑰,對每一幅明文圖像都應(yīng)該生成獨屬于這幅圖像的密鑰。本文圖像加密算法的密鑰包括Logistic映射的控制參數(shù),初始值x以及預(yù)迭代次數(shù)NP。密鑰生成方式如式(2)所示,其中sum表示對明文圖像的所有像素值進行求和,由明文圖像的所有像素值按位異或得到。由式(2)可知,本文圖像加密算法的密鑰與明文圖像的像素值密切相關(guān),即使明文圖像的像素值發(fā)生細微的改變,圖像加密算法的密鑰也將完全不同,因此本文圖像加密算法能夠有效地抵抗選擇明文攻擊。
在通過顯著性目標檢測找出明文圖像的重要區(qū)域后,使用混沌圖像加密算法對該重要區(qū)域進行加密。具體加密步驟為:
步驟1:輸入明文圖像P,其中和分別為圖像的寬度和高度。
步驟2:使用顯著性目標檢測識別出明文圖像的重要區(qū)域,并將其從明文圖像中分割出來,輸出如圖1所示的顯著圖。
步驟3:記錄顯著圖中像素值大于250像素點的坐標,并記錄這些坐標點的個數(shù)。明文圖像中的這些坐標點即為圖像加密算法需要加密的對象,將這些坐標點的橫坐標存儲于數(shù)組Rindex中,縱坐標存儲于數(shù)組Cindex中。
步驟4:根據(jù)式(2)計算出加密過程所需的密鑰,并將密鑰輸入Logistic混沌映射中。
步驟5:迭代Logistic映射+次,舍棄前次的迭代值以消除暫態(tài)效應(yīng)帶來的不良影響,得到長度為2的混沌序列={,,…,x}。取前個迭代值記為序列,后個迭代值記為。
步驟6:將混沌序列按從小到大的順序排序得到′,并使用數(shù)組記錄′中的元素在原序列中的位置。
步驟7:使用式(3)將混沌序列中的值轉(zhuǎn)化為[0,255]之間的整數(shù)。
步驟8:使用以下公式對明文圖像的重要區(qū)域進行置亂操作得到中間密文′。
步驟9:使用以下公式對中間密文′進行擴散操作得到最終密文。
當=1時
當1<≤時
解密過程為加密過程的逆過程,按相反的順序執(zhí)行各加密步驟即可將密文還原為明文圖像。
本文采用經(jīng)典測試圖像Lena、Cameraman作為加密對象,圖像分辨率為512×512,加密效果如圖3所示,顯然這兩幅圖像中的人物為圖像的重要區(qū)域,本文圖像加密算法準確地識別出了這兩幅圖像中的重要區(qū)域,并對其進行了加密,經(jīng)過加密處理后,明文圖像中的重要區(qū)域信息得到了隱藏。
圖3 加密效果
為了驗證本文選擇性圖像加密算法在加密效率上的優(yōu)勢,使用同樣的置亂、擴散算法分別對明文圖像進行選擇性加密與整體加密,對比兩種加密方式的加密時間,對比結(jié)果如表1所示,對Lena和Cameraman圖像進行整體加密所需的時間為1.5秒左右,而對這兩副圖像進行選擇性加密只需不到1秒的時間即可完成對圖像中重要區(qū)域的加密,與對整體圖像進行加密相比節(jié)省了很多時間,提高了圖像加密的效率。
表1 加密時間對比
圖像直方圖表示圖像中像素強度值的分布。一個安全的圖像加密算法可以使加密后的圖像具有均勻的直方圖,以抵抗統(tǒng)計攻擊。明文圖像的重要區(qū)域加密前與加密后的直方圖如圖4所示,加密前的明文圖像重要區(qū)域像素值分布十分不均勻,具有明顯的統(tǒng)計特性,經(jīng)過加密處理后,其灰度值在區(qū)間[0,255]上呈現(xiàn)均勻分布,這表明本文選擇性圖像加密算法打破了加密區(qū)域的統(tǒng)計特性,能夠有效地抵抗統(tǒng)計攻擊。
圖4 直方圖分析
原始圖像的相鄰像素在水平、垂直和對角線方向上具有很高的相關(guān)性。一個理想的加密算法應(yīng)該使加密圖像中相鄰像素的相關(guān)系數(shù)足夠低,為了分析和比較明文圖像和加密圖像重要區(qū)域中相鄰像素的相關(guān)性,從明文圖像和加密圖像的重要區(qū)域中隨機選擇每個方向上的1 000對相鄰像素,使用式(7)計算他們的相關(guān)系數(shù)γ,其中x和y為圖像重要區(qū)域中的兩個相鄰像素。計算結(jié)果如表2所示,明文圖像重要區(qū)域中相鄰像素的相關(guān)系數(shù)均接近1,而加密圖像重要區(qū)域中相鄰像素的相關(guān)系數(shù)均接近0,這表明本文圖像加密算法打破了明文圖像重要區(qū)域中相鄰像素的強相關(guān)性。
表2 相鄰像素相關(guān)性分析
密鑰敏感度是指使用差別很小的兩個密鑰對同一幅圖像進行加密,然后通過分析得到的兩個密文圖像之間的差異來確定算法的密鑰敏感度。差異越大,表明密鑰的敏感度越高。將原密鑰的值更改10,分別使用原密鑰和更改后的密鑰對明文圖像進行加密,計算兩幅密文圖像像素值的差異,對圖像加密算法的密鑰敏感度進行分析,如圖5所示,由圖5(c)可知,由于并沒有對非重要區(qū)域進行加密,所以該區(qū)域不受密鑰改變的影響,兩幅密文圖像非重要區(qū)域像素值的差異為0;對于重要區(qū)域,在對密鑰進行改變后,兩幅密文圖像重要區(qū)域的像素值發(fā)生了很大的改變,這表明本文加密算法具有很高的密鑰敏感度。
圖5 密鑰敏感性分析
信息熵是衡量信息隨機性的重要指標,其計算方式為:
其中,表示圖像,x表示圖像中的像素,(x)表示像素x出現(xiàn)的概率。八位灰度圖像的最大信息熵為8,本文測試圖像的加密區(qū)域信息熵如表3所示,未進行加密時,測試圖像重要區(qū)域的信息熵較低,隨機性較弱;經(jīng)過加密處理后,明文圖像重要區(qū)域的信息熵都接近8,具有很強的隨機性。
表3 加密區(qū)域信息熵分析
本文提出了一種選擇性混沌圖像加密算法,使用顯著性目標檢測識別出明文圖像的重要區(qū)域后僅對圖像的重要區(qū)域進行加密,以提高圖像加密的效率。在密鑰生成階段根據(jù)明文圖像的像素值生成加密密鑰以抵抗選擇明文攻擊,在擴散階段引入前一密文與中間密文,實現(xiàn)密文反饋機制提高圖像加密算法的安全性。通過加密時間分析、直方圖分析、相關(guān)性分析、密鑰敏感性分析以及信息熵分析,驗證了本文圖像加密算法的可靠性與安全性,在圖像保密通信領(lǐng)域中具有廣闊的應(yīng)用前景。