董振華,李喜艷
(鄭州成功財經(jīng)學(xué)院,河南 鞏義 451200)
摘要:數(shù)字圖像信息隱藏算法要求高的魯棒性和透明性,通過分析矩陣運(yùn)算的特征,提出改進(jìn)的EMD-S算法。將秘密信息通過S盒的壓縮變換,嵌入到分解圖像的最大奇異值當(dāng)中。通過實驗表明,本文算法能夠較好地抵抗JPEG壓縮,具有較大的數(shù)據(jù)嵌入率和較好的魯棒性。
關(guān)鍵詞:信息隱藏;矩陣運(yùn)算;奇異值分解;魯棒性
0引言
數(shù)字圖像信息隱藏是信息隱藏的一個重要分支,數(shù)字圖像信息隱藏技術(shù)主要是通過分析圖像的本質(zhì)特征,嵌入秘密信息,使人類從視覺上感覺不到圖像的改變,從而解決數(shù)字圖像的隱蔽通信[1 2]。參考文獻(xiàn)[3]提出的EMDlike隱藏算法在像素塊的平均值上嵌入秘密信息,算法的魯棒性得到了一定的提高,但秘密信息直接嵌入在圖像空域的像素中,嵌入失真較大,而且魯棒性仍不能滿足實際需求。參考文獻(xiàn)[4]、[5]提出SVD和EMD結(jié)合的隱藏算法,通過在像素塊的奇異值上嵌入秘密信息,提高了載密圖像的質(zhì)量,并且提高了算法的魯棒性,但它是以嵌入容量為代價的。參考文獻(xiàn)[6]提出基于矩陣運(yùn)算的二維EMD算法,利用矩陣運(yùn)算將秘密信息編碼后分別嵌入在載體像素矩陣的列向量和行向量中,仿真實驗證明嵌入率較高,但是該方法也是以犧牲嵌入效率與PSNR值為代價的。
EMD編碼算法是一種數(shù)字圖像信息隱藏算法,當(dāng)在圖像的n個像素載體中嵌入秘密信息時,最多只需修改1 bit。EMD編碼方法的優(yōu)點在于能夠以比較小的修改量獲取較高的嵌入率,并且減小了嵌入引起的失真,但是EMD編碼方法的魯棒性較差,當(dāng)圖像發(fā)生微小改動時,有可能會造成秘密信息的不正確提取。圖像的奇異值具有很好的穩(wěn)定性,本文充分利用EMD編碼的較高嵌入率和奇異值分解的穩(wěn)定性,并且引入S盒的壓縮變換,進(jìn)一步提高了數(shù)據(jù)的嵌入率,提出了SVD和EMD-S結(jié)合的隱藏算法。
1EMD-S編碼算法
1.1S盒變換
在對稱秘密體制中,DES算法是一種經(jīng)典的對稱密碼算法,除了S盒是非線性變換外,其余都是線性變換。因此,S盒是DES算法的關(guān)鍵,任意改變S盒輸入中的幾位,其輸出至少有兩位發(fā)生變化。
每個S盒有4行16列,以某數(shù)據(jù)流的6 bit數(shù)據(jù)為例,假設(shè)Bj=b1b2b3b4b5b6,設(shè)b1b6和b2b3b4b5對應(yīng)的十進(jìn)制分別為r和c,則Sj盒中的r行c列對應(yīng)的十進(jìn)制整數(shù)就是Sj的輸出。例如B1=100111,從圖1所示的S1盒中查得,3行3列的十進(jìn)制整數(shù)為2,則S1的輸出為0010。也就是說,實際需要嵌入的信息量為6 bit,經(jīng)過S盒壓縮變換后信息量減少為4 bit,從而可以更好地保證圖像信息隱藏的魯棒性和不可感知性。
1.2EMD-S算法的實現(xiàn)
EMD編碼算法是一種數(shù)字圖像信息隱藏算法,當(dāng)在圖像的n個像素載體中嵌入秘密信息時,最多只需修改1 bit。EMD編碼方法的優(yōu)點在于能夠以比較小的修改量獲取較高的嵌入率,并且減小了嵌入引起的失真。本文進(jìn)一步提高數(shù)字圖像的信息嵌入率,提出EMDS編碼算法,在秘密信息嵌入前經(jīng)過S盒的壓縮變換,然后再嵌入數(shù)字圖像載體中。EMD-S算法的嵌入步驟如下:
(1)假設(shè)秘密信息d=(d1,d2,…,d8),其中di為6 bit的數(shù)據(jù)流。將di經(jīng)過Si盒壓縮變換為4 bit的數(shù)據(jù)流,因為EMD編碼嵌入的是2n+1進(jìn)制的數(shù),所以在這里將4 bit的數(shù)據(jù)流高位補(bǔ)0,生成5 bit的數(shù)據(jù)流。經(jīng)過S盒壓縮變換和高位補(bǔ)0操作,形成秘密信息d′=(d1′,d2′,…,d8′),由原來的48 bit變?yōu)?0 bit的秘密嵌入信息。
(2)把數(shù)字載體圖像分為連續(xù)的大小為2×2的像素組g1,g2,…,gn。
(3)計算權(quán)值函數(shù)f=f(g1,g2,…,gn)=×i(mod2n+1)(1)
(4)差值計算
若S的值為0,則像素值不進(jìn)行修改;若S的值不為圖2信息嵌入算法流程0,且k<=n(k代表第k個秘密比特值,可取0,1,…,n),像素組中g(shù)s=gs+1,否則像素組中g(shù)2n+1-k=g2n+1-k-1。
通過以上4個步驟的操作,將像素組修改為新的像素值g′1,g′2,…,g′n,由EMD-S編碼算法的嵌入原理可得嵌入后的像素組滿足公式(3):
因此通過公式(3)可以求出秘密信息d′,秘密信息d′通過查詢相應(yīng)S盒可以獲得擴(kuò)展之后的秘密信息d。通過S1盒可知,同一個十進(jìn)制數(shù)值對應(yīng)若干個行號和列號組,為了增加信息的嵌入量,選擇S1盒當(dāng)中最大的一位十進(jìn)制數(shù)。
2SVD和EMD-S結(jié)合的隱藏算法
在對矩陣進(jìn)行數(shù)值分解的眾多分析方法中奇異值分解是其中一個典型的方法,因為能夠很好地解決逆矩陣問題和矩陣的特征值問題,而被廣泛應(yīng)用于通信和圖像等領(lǐng)域。
2.1奇異值分解及特性分析
奇異值分解(SVD)是一種將矩陣進(jìn)行對角化的數(shù)值算法,從線性代數(shù)的角度,一幅灰度圖像可以看成是一個非負(fù)矩陣。若一幅圖像用A表示,定義為A∈RΜ×Ν,其中,R表示實數(shù)域,則矩陣A的奇異值分解定義為A=USVT式中,U∈RΜ×Ν與V∈RN×N都是正交矩陣,矩陣S是一個對角矩陣,對角線上的元素叫做A的奇異值且滿足:σ1≥σ2≥…≥σi≥…≥σM≥0,分解式USVT稱作A的奇異值分解。奇異值所表現(xiàn)的是圖像的內(nèi)蘊(yùn)特性,在對圖像做奇異值分解所得的奇異值序列σi中,第一個奇異值比其他奇異值大得多,圖像奇異值的穩(wěn)定性非常好,在圖像被施加小的擾動時,其奇異值不會有大的變化。塊奇異值分解會產(chǎn)生更多具有較大數(shù)值的奇異值,有利于水印嵌入。奇異值的這些特性,保證了水印嵌入的可行性、不可見性以及很好的魯棒性。本文充分利用奇異值的較好的魯棒性特征,結(jié)合了EMD-S算法,將兩個算法的優(yōu)點結(jié)合起來。在EMD-S編碼算法的基礎(chǔ)上使用奇異值分解來提取特征點,不僅保證了圖像可以嵌入較大容量的秘密信息,而且還保證了圖像良好的魯棒性。
2.2信息嵌入過程
使用矩陣A表示載體圖像,嵌入秘密信息d=(d1,d2,…,d8),其中di為6 bit的數(shù)據(jù)流。為保證算法具有較大的嵌入容量,將每一組數(shù)據(jù)流經(jīng)過對應(yīng)的S盒壓縮變換為4 bit的數(shù)據(jù)流。為了更好地應(yīng)用EMD算法,每組數(shù)據(jù)流的高位補(bǔ)0,形成5 bit的數(shù)據(jù)流。與此同時對圖像矩陣A進(jìn)行分塊,對每一個子塊進(jìn)行奇異值分解,提取出奇異值向量。將秘密信息d′=(d1′,d2′,…,d8′)嵌入到每個子塊的最大奇異值中。以兩個像素點為一個單位時算法的容量最大,因此本文算法選取兩個圖像塊的最大奇異值作為嵌入單位。信息嵌入算法流程圖如圖2所示。
具體的嵌入步驟如下:
(1)將載體圖像A進(jìn)行分塊,每塊為2×2,塊與塊之間相互不重疊;(2)對每個子塊進(jìn)行奇異值分解,獲取每個子塊的最大奇異值;(3)以相鄰兩個子塊的最大奇異值作為參數(shù),計算函數(shù)f
(4)秘密信息d′轉(zhuǎn)化為五進(jìn)制的比特流,并計算機(jī)差值Si=(di-fi)mod5,根據(jù)EMD-S編碼算法中的修改規(guī)則,一次修改每個奇異值數(shù)組。
(5)將修改后的奇異值向量(σ′i1,σ′i2)進(jìn)行奇異值逆變換得到新的2×2矩陣,各個子塊組合成新的載有秘密信息的圖像矩陣A′。
2.3信息提取過程
在這里使用矩陣A′表示載有秘密信息的圖像,具體的提取步驟如下:
(1) 將載體圖像A′進(jìn)行分塊,每塊為2×2,塊與塊之間相互不重疊;(2)對每個子塊進(jìn)行奇異值分解,獲取每個子塊的最大奇異值σ′i1;(3)根據(jù)EMD-S算法,以兩個奇異值為一個單位進(jìn)行計算,獲得權(quán)重函數(shù)f的取值。秘密信息的提取公式如:
(4)秘密信息d′=(d1′,d2′,…,d8′)分別經(jīng)過對應(yīng)S盒的變換,選擇矩陣中最大的二進(jìn)制數(shù)據(jù)分別得到6 bit的數(shù)據(jù)流d=(d1,d2,…,d8)。
3性能分析與比較
3.1性能分析
矩陣運(yùn)算方便、直觀,奇異值分解魯棒性較好,本文提出改進(jìn)的EMD-S編碼算法,不僅保證了數(shù)據(jù)的嵌入量的增加,而且為了保證秘密信息的正確提取,采用奇異值分解的方法對圖像進(jìn)行子塊分解,提高圖像的魯棒性。本文主要是在文獻(xiàn)[4]的基礎(chǔ)上做的改進(jìn),在秘密信息嵌入之前先經(jīng)過S盒的壓縮變換,增加了數(shù)據(jù)的嵌入率,使用奇異值分解,將秘密信息嵌入到圖像子塊當(dāng)中,同時也保證了圖像的魯棒性。通過上述理論的分析可得,本文算法的嵌入率是文獻(xiàn)[4]嵌入率的1.2倍左右。本文參照文獻(xiàn)[4]使用峰值信噪比PSNR來衡量嵌入秘密信息的失真度,采用位錯率來作為算法魯棒性的客觀評價標(biāo)準(zhǔn)。但是,每個S盒有連續(xù)的64個整數(shù),增加了空間復(fù)雜度。
3.2性能比較
對受到JPEG有損壓縮的圖像,比較本文算法與文獻(xiàn)[4]算法嵌入秘密信息后能反映其載密圖像失真度的PSNR值,如表1所示。
4結(jié)論
本文提出了SVD和EMD-S結(jié)合的隱藏編碼算法,充分利用了奇異值分解的穩(wěn)定性,將秘密信息通過S盒的壓縮變換嵌入到每個子塊的最大奇異值當(dāng)中,矩陣編碼方便直接,信息隱藏量可觀,既保證了載密圖像的質(zhì)量,也提高了算法的魯棒性。相關(guān)實驗數(shù)據(jù)表明,本文算法能夠較好地抵抗JPEG壓縮,在相同嵌入容量下具有更好的PSNR值。因為本文提出的算法使用了S盒,每個S盒占據(jù)了64個連續(xù)的存儲單元,所以算法的空間復(fù)雜度變大了,也就是說,犧牲了空間換取了時間,在以后的算法研究中應(yīng)進(jìn)一步降低空間復(fù)雜度。
參考文獻(xiàn)
?。?] 韓佳伶.基于隱藏容量的數(shù)字圖像信息隱藏算法研究[D].長春:吉林大學(xué),2015.
?。?] 劉粉林,劉九芬,羅向陽.數(shù)字圖像隱寫分析[M].北京:機(jī)械工業(yè)出版社,2010.
[3] Yao Xiaoming, Du Wencai, Wu Weihua. A robust EMD likestenographic schem[C].Third International Symposium on Intelligent Information Technology and Security Informatics,2010:134 137.
?。?] 姚楚茂,湯光明,辜剛林.基于奇異值的魯棒性圖像隱寫算法[J].計算機(jī)工程與設(shè)計,2015,36(7):1727 1732.
[5] 姚楚茂,湯光明,蔡鎮(zhèn).最大奇異值移位的魯棒性圖像信息隱藏[J].計算機(jī)應(yīng)用研究,2015,32(7):2172 2174.
?。?] 劉圓,潘峰.基于矩陣運(yùn)算的二維EMD算法[J].計算機(jī)工程,2011,37(20):111 113.