杜鑫昌 高瑜翔
(成都信息工程大學通信工程學院微電子學院,四川 成都 610225)
隨著數(shù)字化時代的快速發(fā)展,人們無時無刻不在進行著信息的交流傳遞,如何保證網(wǎng)絡信息傳遞的安全性是迫切需要解決的重要問題[1]。圖像作為一種重要的信息載體在日常信息交流中扮演重要角色,而圖像本身具有冗余度高、數(shù)據(jù)量大等屬性[2],在傳遞過程中占據(jù)了較大的帶寬。因此研究在圖像傳遞過程中如何保證信息傳遞的安全性,同時又減少帶寬的占用率是非常重要的。
壓縮感知[3-4]可以同時完成信號的采集和壓縮。如果將壓縮感知與加密算法相結合,就可以在數(shù)據(jù)的采樣、壓縮過程中對數(shù)據(jù)進行加密[5-7]。近年來利用混沌系統(tǒng)來構造密碼算法已成為國內(nèi)外的研究熱點[8]。傳統(tǒng)的加密算法大多只對單幅圖像進行加密處理且直接將具有紋理特征的密文圖像進行傳遞,傳遞過程中密文圖像不但占據(jù)了較大的帶寬且具有的紋理特征很容易被特定攔截并進行分析[9]。為此提出一種基于混沌壓縮感知的多圖像隱藏加密算法,將多幅需要加密的圖像信息處理嵌入到一幅載體圖像中,實現(xiàn)了一種視覺有意義加密算法[10-11],在視覺上減少密文信息傳遞的過程中被發(fā)現(xiàn)的概率并提高帶寬的利用率。
總體加密方案如圖1所示,首先將多幅加密圖像經(jīng)過稀疏基稀疏變換,得到各個密文圖像的小波圖像。截取每幅加密圖像小波圖的左上角部分拼接為一整幅小波圖。為減少稀疏圖像中非零元素點的相關性,使之分布更均勻,采用本文提出的組合置亂算法對稀疏圖像進行置亂。利用超混沌Lorenz混沌方程生成的偽隨機序列構建受控的測量矩陣進行壓縮感知測量,得到加密壓縮后的密文圖像,然后將壓縮后得到的密文圖像進行二次置亂與擴散操作來增加密文的安全性。為了增加密文傳遞過程中視覺上的安全性,通過圖像嵌入隱藏算法將密文圖像嵌入隱藏在明文載體圖像進行傳遞,從而達到視覺有意義的加密算法的整體設計。
2.1.1 信號的稀疏表示
一般而言,信號都是在時域或空域中來表示,也可以在其他變換域中通過少量元素的線性組合來很好地近似該信號。稀疏信號模型提供了一個可捕獲大多數(shù)高維信號中包含少量信號的數(shù)學框架。信號的稀疏表示是壓縮感知的先驗條件,即信號必須在某種變換下可以稀疏表示。常見的信號稀疏基包括:正(余)弦基、小波基、chirplet基以及curvelet基等。
本方案采用離散小波基對圖像做稀疏處理,加密測試圖像X“Lena”大小為256×256,離散小波基W的大小設置為256×256(WWT=I,WTW=I),稀疏處理可以得到
R為圖像在DWT域的表示,原始圖像經(jīng)過小波稀疏變換處理后被分解為高頻和低頻兩部分信息。圖2顯示了“Lena”在不同剪切率下離散小波基DWT變換的結果,其中圖2(a)~(c)分別為不同剪切率下裁剪的稀疏圖像;圖2(d)與圖2(e)顯示了在剪切率為0.5、0.75下合并壓縮2幅圖像與4幅圖像的圖像壓縮模型。經(jīng)過稀疏變換后的矩陣能量主要集中在左上角的低頻部分,其余黑色部分的高頻信息能量接近于零,因此圖像信號在DWT域中的表示是稀疏的。因為圖像的絕大數(shù)信息都分布在稀疏圖像的左上角部分,其余部分的像素值灰度值幾乎為零。通過不同剪切率下的稀疏圖像的重建圖像質(zhì)量實驗研究分析可得,選擇性地舍去黑色部分的區(qū)域對于信號重構的質(zhì)量影響不大(表1)。
表1 不同剪切率下重構圖像質(zhì)量分析
2.1.2 編碼測量(采樣過程)
與傳統(tǒng)采樣數(shù)據(jù)不同,壓縮感知采集的不是像素點,而是一組線性組合的測量值。下面公式表示每一個測量值的計算過程,f表示稀疏信號,Φ表示測量矩陣,大小為M×N維,兩者的內(nèi)積之和為yi。經(jīng)過M次的測量之后,即得到所需要的M個測量數(shù)據(jù)y。
為了重構信號,測量矩陣Φ的選擇尤其重要,矩陣需要滿足與信號的稀疏基不相關。測量矩陣分為確定性測量矩陣和隨機測量矩陣。由于隨機測量矩陣具有隨機性、在傳輸過程中占據(jù)較大帶寬以及不宜在硬件中實現(xiàn)等缺點,因此采用混沌系統(tǒng)產(chǎn)生的偽隨機序列來構造確定性測量矩陣以便在傳輸過程中節(jié)省帶寬和保證圖像的重建效果。
2.1.3 恢復算法(非線性)
壓縮感知的重構問題的求解是一個非凸優(yōu)化問題,屬于NP難問題。由低維M維的矢量求解高維N維的矢量,是一個欠定問題的求解。Candes等[4]和Donoho等[3]提出,可以將其轉化維凸優(yōu)化問題,求解l1最小范數(shù)。
常見的壓縮感知恢復算法包括:匹配追蹤算法、正交匹配追蹤算法、分段正交匹配追蹤算法、壓縮采樣匹配追蹤算法等來重構原始信號[12]。
圖像隱藏算法的的核心思想是通過將加密圖像的圖像塊進行酉相似變換處理得到對角化形式的特征向量嵌入到明文圖像中完成圖像的隱藏加密,而特征向量作為密鑰傳遞給對方[13-14]。加密圖像嵌入操作:
首先將加密圖像X,明文圖像Y(大小為M×N)劃分為特定大小的塊Xi,Yi(大小為m×n),
求出加密圖像的每個分塊的特征值與特征向量。特征向量可作為提取密文的密鑰。特征值的求取:
|Xi-λI|
特征值可以寫為λi,λ2,λ3…,λn。
特征向量的求取:
Xiqi=λqi
定義矩陣Q
Qi=[q1,q2,q3,…,qn]
酉相似變換:利用酉相似變換將每個分塊所表示的矩陣變換為對角矩陣。
嵌入操作:
Wi=Yi+Ai
(W為嵌入密文圖像之后的明文圖像)
提取圖像:
從接收到的嵌入密文的明文圖片減去明文圖像,就可以得到對角矩陣,通過求取特征向量的逆矩陣得到加密圖像。
超混沌Lorenz系統(tǒng)是Lorenz混沌系統(tǒng)的一種演變,主要定義如下:
當a=-10,b=8/3,c=28且-1.52≤r≤-0.06時,系統(tǒng)處于超混沌狀態(tài)。
為了使稀疏圖像中非零像素點的分布更加均勻減少之間的相關性,提高信號的重構質(zhì)量。本文提出了一種新的組合置亂算法。
(1)借助于混沌系統(tǒng)產(chǎn)生偽隨機向量,去除掉向量中重復出現(xiàn)的數(shù)值并將范圍內(nèi)沒有出現(xiàn)的數(shù)值排列在向量的尾部,即產(chǎn)生了無重復的隨機數(shù)向量。
(2)產(chǎn)生無重復隨機數(shù)向量Xi∈{1,2,…,M},對圖像進行行置亂。將圖像的第Xi行與第XM+1-i行進行交換。i=1,2,…,M/2。
(3)產(chǎn)生無重復隨機數(shù)向量Xj∈{1,2,…,N},對圖像進行列置亂。將圖像的第Xj行與第XN+1-j行進行交換。j=1,2,…,N/2。
(4)將進行完行置亂與列置亂的二維圖像展開為一維向量Z,借助產(chǎn)生無重復隨機數(shù)向量Xl∈{1,2,…,M×N}。l=1,2,…,M×N。將Z(Xl)與Z(XM×N-l+1)進行交換。
(1)將需要加密的多幅圖像稀疏變換之后,截取各自小波圖像的左上角非零信息部分將其拼接為一幅稀疏圖像。
(2)對稀疏圖像進行置亂操作,通過降低相鄰非零元素之間的相關性,使之分布更加均勻。
(3)對置亂后的稀疏圖像進行加權處理,通過提高稀疏信號系數(shù)的差異性,從而提升后續(xù)信號的重構性能。
(4)利用超混沌Lorenz混沌方程產(chǎn)生的無重復偽隨機混沌序列構建受控的測量矩陣,確保重構信號的質(zhì)量穩(wěn)定性。
(5)利用測量矩陣對稀疏信號進行壓縮感知測量得到觀測矩陣。
(6)對觀測矩陣進行量化操作得到元素值在[0.255]的整數(shù)矩陣。
(7)利用超混沌Lorenz混沌方程生成無重復的偽隨機序列,用于對整數(shù)密文矩陣的二次置亂和擴散操作。
(8)將密文圖像通過嵌入算法處理生成密文特征值矩陣與密鑰特征向量矩陣,并將密文特征值矩陣嵌入明文載體圖像中,特征向量矩陣作為密鑰單獨傳遞給對方。
解密過程是加密過程的逆過程
(1)通過特征值矩陣與特征向量生成密文矩陣W1。
(2)將生成的密文圖像W1分別進行擴散、置亂和量化操作的逆過程,得到觀測矩陣W2。
(3)通過重建算法對觀測矩陣W2進行信號重構獲得明文圖像W3。
(4)對明文圖像W3執(zhí)行反加權的操作得到小波圖像W4。
(5)對小波圖像W4進行分割,獲得各個加密圖像的小波圖像,并進行小波逆變換得到加密圖像。
為驗證提出的壓縮加密隱藏算法的性能,選取了多幅標準的灰度測試圖像作為實驗圖像。在壓縮率設置為0.75的情況下,通過比較PSNR(峰值信噪比)來衡量重構圖像的質(zhì)量。
4.1.1 壓縮隱藏加密2幅圖像
(1)第一組測試(圖3)。選取測試圖像“couple”與“camera”作為實驗加密圖像經(jīng)過合并加密后隱藏嵌入到明文覆蓋圖像“Lena”中。
(2)第二組測試(圖4)。選取測試圖像“peppers”與“plane”作為實驗加密圖像經(jīng)過合并加密后隱藏嵌入到明文覆蓋圖像“Lena”中。
4.1.2 壓縮隱藏加密4幅圖像
(1)第三組測試(圖5)。選取測試圖像“Lena”“camera”“peppers”以及“plane”作為實驗加密圖像經(jīng)過合并加密后隱藏嵌入到明文覆蓋圖像“couple”中。
(2)第四組測試(圖6)。選取測試圖像“Lena”“couple”“peppers”以及“boat”作為實驗加密圖像經(jīng)過合并加密后隱藏嵌入到明文覆蓋圖像“couple”中。
由表2、表3、表4可知,經(jīng)過多次多組實驗仿真分析,本文提出的壓縮加密隱藏算法具有良好的性能,在合并壓縮2張圖像時,復原圖像與原圖像相比,圖像的質(zhì)量基本不受影響,存儲空間節(jié)省率達到62.5%。在合并壓縮4張圖像時,復原圖像與原圖像相比,復原圖像雖然在重構質(zhì)量上有一定影響,但是在視覺上影響不大,還是可以清晰地觀察到圖像的細節(jié),存儲空間節(jié)省率達到81.3%。
表2 合并壓縮2張圖像下重構圖像質(zhì)量分析
表3 合并壓縮4張圖像下重構圖像質(zhì)量分析
表4 與其他加密壓縮算法性能對比
與其他加密壓縮算法進行性能對比(表4),可見本文提出的圖像隱藏算法在在性能上要優(yōu)于文獻[12],由于本文在算法中引入了圖像隱藏算法,在減小了密文在傳遞過程中被發(fā)現(xiàn)的概率,同時增大了密文的嵌入量,節(jié)省了帶寬的占用率。故本文提出的壓縮加密隱藏算法,在隱藏加密的前提下,極大地節(jié)省了壓縮空間,具有良好的壓縮性能。
對于本文提出的壓縮加密隱藏系統(tǒng)而言,密鑰為超混沌Lorenz系統(tǒng)的初始值,即K1={x1,y1,z1,w1},K2={x2,y2,z2,w2}和K3={x3,y3,z3,w3},以及充當密鑰的特征向量矩陣。其中混沌方程中,x∈(-40,40),y∈(-40,40),z∈(1,81),w∈(-250,250),x、y和z的步長為10-13,w的步長為10-12,因此混沌方程的密鑰空間大小約為7.68×1059。圖像加密算法的密鑰空間大于2100就能抵御蠻力攻擊,本文提出的壓縮加密隱藏算法只是混沌方程的密鑰空間就遠遠大于2100[15-16]。所以該方案的密鑰空間足夠抵御蠻力攻擊。
直方圖反映了圖像中每一個像素灰度值的統(tǒng)計特性。明文圖像的像素灰度值的直方圖具有明顯的統(tǒng)計特性,為避免針對于統(tǒng)計特性的統(tǒng)計分析攻擊,加密圖像的像素分布的直方圖需要是均勻的。以聯(lián)合合并隱藏加密4幅圖像為例。
如圖7所示,直方圖的橫軸表示圖像的像素值,縱軸表示像素值的分布情況。由此可看出,密文圖像的直方圖較為均勻,從密文中很難提取任一明文圖像的像素統(tǒng)計特征,因此可以抵御統(tǒng)計攻擊。
在一般圖像中,每個像素點都與相鄰像素點呈很高的相關性。一個理想的圖像加密系統(tǒng)加密后圖像的相鄰像素點越趨近于零說明性能越好,因此相鄰像素點的相關系數(shù)作為評價一個圖像加密系統(tǒng)優(yōu)劣的重要指標[17]。
相關性的計算表達式如下:
從水平、垂直、對角線方向進行相關性分析,結果如表5所示。
表5 相關性分析
由表5可以看出,經(jīng)過壓縮加密處理得到的密文圖像,像素間的相關性顯著下降,密文圖像各個方向的相關性接近于零,因此可以抵抗基于相關性的統(tǒng)計攻擊能力。密文圖像的加密效果較好。
信息熵反映了圖像信息的不確定性,信息熵的值越大說明信息的不可預測性越好。就以256級灰度圖像而言,信息熵理論最大值為8[18-19]。因此對加密前后的密文與各個明文圖像的信息熵進行計算,具體結果見表6。
表6 信息熵分析
信息熵的計算公式如下:
由表6知,原圖像的信息熵值均要小于加密圖像的信息熵值。而加密后的圖像信息熵的值接近于理論最大值8,由此可見該加密算法對圖像處理的有效性。
NPCR(像素變化率)指2幅圖像中不同的像素點的個數(shù)占全部像素點的比例,UACI(像素的統(tǒng)一變化強度)指計算全部相應位置的像素點的差值與最大差值的比值的平均值[20]。如果2幅圖像的所有相應位置的像素值均不相同,則NPCR為100%,兩個隨機圖像的UACI理論期望值約為33.4635%。
計算公式如下:
由表7可知,本文方法在NPCR與UACI上表現(xiàn)較好,接近于理論值,可有效抵抗差分攻擊。
表7 敏感性分析 單位:%
魯棒性分析是檢驗算法在非理想狀態(tài)下抗干擾能力的重要分析方法,為檢驗所提出算法的抗干擾能力,以隱藏加密4幅圖像為例,密文圖像壓縮率設置為0.75,對嵌入密文圖像的明文覆蓋圖像進行不同強度高斯隨機噪聲的干擾,通過檢驗噪聲環(huán)境下圖像的重構質(zhì)量來驗證算法的抗噪聲干擾能力。圖8、表8分別給出了在3種不同噪聲強度干擾下4幅隱藏加密圖像的復原情況以及復原圖像的峰值信噪比。由實驗數(shù)據(jù)可得,當噪聲強度σ=0.00001時,圖像的重構質(zhì)量接近于無噪聲干擾下圖像的重構質(zhì)量,圖像信息基本不受噪聲干擾影響。在噪聲強度σ=0.001時,雖然復原圖像受噪聲干擾影響較大,但仍能提取主要信息。
表8 不同噪聲強度干擾下的重構圖像PSNR 單位:dB
提出的基于混沌壓縮感知的多圖像加密方法,利用壓縮感知技術與加密算法相結合,在保證密文圖像傳遞安全性的同時實現(xiàn)了多圖像的壓縮,極大地減少了傳遞過程中的帶寬占用率以及節(jié)省了存儲空間。為降低傳遞過程中密文圖像被特定識別攔截,在算法模型內(nèi)引入了圖像隱藏算法,將密文圖像隱藏嵌入到明文載體圖像中,實現(xiàn)了視覺有意義的多圖像壓縮加密算法。由于為提高圖像的重構質(zhì)量在壓縮感知框架內(nèi)加入了加權操作,在提高信號重構質(zhì)量的同時也影響了噪聲情況下的信號重構質(zhì)量,因此下一步將對這方面進行優(yōu)化。