董振華,李喜艷
(鄭州成功財(cái)經(jīng)學(xué)院,河南 鞏義 451200)
?
基于SVD和EMD-S編碼的隱藏算法
董振華,李喜艷
(鄭州成功財(cái)經(jīng)學(xué)院,河南 鞏義 451200)
數(shù)字圖像信息隱藏算法要求高的魯棒性和透明性,通過分析矩陣運(yùn)算的特征,提出改進(jìn)的EMD-S算法。將秘密信息通過S盒的壓縮變換,嵌入到分解圖像的最大奇異值當(dāng)中。通過實(shí)驗(yàn)表明,本文算法能夠較好地抵抗JPEG壓縮,具有較大的數(shù)據(jù)嵌入率和較好的魯棒性。
信息隱藏;矩陣運(yùn)算;奇異值分解;魯棒性
引用格式:董振華,李喜艷. 基于SVD和EMD-S編碼的隱藏算法[J].微型機(jī)與應(yīng)用,2016,35(18):42-44.
數(shù)字圖像信息隱藏是信息隱藏的一個(gè)重要分支,數(shù)字圖像信息隱藏技術(shù)主要是通過分析圖像的本質(zhì)特征,嵌入秘密信息,使人類從視覺上感覺不到圖像的改變,從而解決數(shù)字圖像的隱蔽通信[1-2]。參考文獻(xiàn)[3]提出的EMD-like隱藏算法在像素塊的平均值上嵌入秘密信息,算法的魯棒性得到了一定的提高,但秘密信息直接嵌入在圖像空域的像素中,嵌入失真較大,而且魯棒性仍不能滿足實(shí)際需求。參考文獻(xiàn)[4]、[5]提出SVD和EMD結(jié)合的隱藏算法,通過在像素塊的奇異值上嵌入秘密信息,提高了載密圖像的質(zhì)量,并且提高了算法的魯棒性,但它是以嵌入容量為代價(jià)的。參考文獻(xiàn)[6]提出基于矩陣運(yùn)算的二維EMD算法,利用矩陣運(yùn)算將秘密信息編碼后分別嵌入在載體像素矩陣的列向量和行向量中,仿真實(shí)驗(yàn)證明嵌入率較高,但是該方法也是以犧牲嵌入效率與PSNR值為代價(jià)的。
EMD編碼算法是一種數(shù)字圖像信息隱藏算法,當(dāng)在圖像的n個(gè)像素載體中嵌入秘密信息時(shí),最多只需修改1 bit。EMD編碼方法的優(yōu)點(diǎn)在于能夠以比較小的修改量獲取較高的嵌入率,并且減小了嵌入引起的失真,但是EMD編碼方法的魯棒性較差,當(dāng)圖像發(fā)生微小改動(dòng)時(shí),有可能會(huì)造成秘密信息的不正確提取。圖像的奇異值具有很好的穩(wěn)定性,本文充分利用EMD編碼的較高嵌入率和奇異值分解的穩(wěn)定性,并且引入S盒的壓縮變換,進(jìn)一步提高了數(shù)據(jù)的嵌入率,提出了SVD和EMD-S結(jié)合的隱藏算法。
1.1S盒變換
在對(duì)稱秘密體制中,DES算法是一種經(jīng)典的對(duì)稱密碼算法,除了S盒是非線性變換外,其余都是線性變換。因此,S盒是DES算法的關(guān)鍵,任意改變S盒輸入中的幾位,其輸出至少有兩位發(fā)生變化。
每個(gè)S盒有4行16列,以某數(shù)據(jù)流的6 bit數(shù)據(jù)為例,假設(shè)Bj=b1b2b3b4b5b6,設(shè)b1b6和b2b3b4b5對(duì)應(yīng)的十進(jìn)制分別為r和c,則Sj盒中的r行c列對(duì)應(yīng)的十進(jìn)制整數(shù)就是Sj的輸出。例如B1=100111,從圖1所示的S1盒中查得,3行3列的十進(jìn)制整數(shù)為2,則S1的輸出為0010。也就是說,實(shí)際需要嵌入的信息量為6 bit,經(jīng)過S盒壓縮變換后信息量減少為4 bit,從而可以更好地保證圖像信息隱藏的魯棒性和不可感知性。
圖1 S1盒
1.2EMD-S算法的實(shí)現(xiàn)
EMD編碼算法是一種數(shù)字圖像信息隱藏算法,當(dāng)在圖像的n個(gè)像素載體中嵌入秘密信息時(shí),最多只需修改1 bit。EMD編碼方法的優(yōu)點(diǎn)在于能夠以比較小的修改量獲取較高的嵌入率,并且減小了嵌入引起的失真。本文進(jìn)一步提高數(shù)字圖像的信息嵌入率,提出EMD-S編碼算法,在秘密信息嵌入前經(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ù)流,因?yàn)镋MD編碼嵌入的是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。
(1)
(4)差值計(jì)算
S=(d′-f)mod(2n+1)
(2)
若S的值為0,則像素值不進(jìn)行修改;若S的值不為
圖2 信息嵌入算法流程
0,且k<=n(k代表第k個(gè)秘密比特值,可取0,1,…,n),像素組中g(shù)s=gs+1,否則像素組中g(shù)2n+1-k=g2n+1-k-1。
(3)
因此通過公式(3)可以求出秘密信息d′,秘密信息d′通過查詢相應(yīng)S盒可以獲得擴(kuò)展之后的秘密信息d。通過S1盒可知,同一個(gè)十進(jìn)制數(shù)值對(duì)應(yīng)若干個(gè)行號(hào)和列號(hào)組,為了增加信息的嵌入量,選擇S1盒當(dāng)中最大的一位十進(jìn)制數(shù)。
在對(duì)矩陣進(jìn)行數(shù)值分解的眾多分析方法中奇異值分解是其中一個(gè)典型的方法,因?yàn)槟軌蚝芎玫亟鉀Q逆矩陣問題和矩陣的特征值問題,而被廣泛應(yīng)用于通信和圖像等領(lǐng)域。
2.1奇異值分解及特性分析
奇異值分解(SVD)是一種將矩陣進(jìn)行對(duì)角化的數(shù)值算法,從線性代數(shù)的角度,一幅灰度圖像可以看成是一個(gè)非負(fù)矩陣。若一幅圖像用A表示,定義為A∈RΜ×Ν,其中,R表示實(shí)數(shù)域,則矩陣A的奇異值分解定義為A=USVT式中,U∈RΜ×Ν與V∈RN×N都是正交矩陣,矩陣S是一個(gè)對(duì)角矩陣,對(duì)角線上的元素叫做A的奇異值且滿足:σ1≥σ2≥…≥σi≥…≥σM≥0,分解式USVT稱作A的奇異值分解。奇異值所表現(xiàn)的是圖像的內(nèi)蘊(yùn)特性,在對(duì)圖像做奇異值分解所得的奇異值序列σi中,第一個(gè)奇異值比其他奇異值大得多,圖像奇異值的穩(wěn)定性非常好,在圖像被施加小的擾動(dòng)時(shí),其奇異值不會(huì)有大的變化。塊奇異值分解會(huì)產(chǎn)生更多具有較大數(shù)值的奇異值,有利于水印嵌入。奇異值的這些特性,保證了水印嵌入的可行性、不可見性以及很好的魯棒性。本文充分利用奇異值的較好的魯棒性特征,結(jié)合了EMD-S算法,將兩個(gè)算法的優(yōu)點(diǎn)結(jié)合起來。在EMD-S編碼算法的基礎(chǔ)上使用奇異值分解來提取特征點(diǎn),不僅保證了圖像可以嵌入較大容量的秘密信息,而且還保證了圖像良好的魯棒性。
2.2信息嵌入過程
使用矩陣A表示載體圖像,嵌入秘密信息d=(d1,d2,…,d8),其中di為6 bit的數(shù)據(jù)流。為保證算法具有較大的嵌入容量,將每一組數(shù)據(jù)流經(jīng)過對(duì)應(yīng)的S盒壓縮變換為4 bit的數(shù)據(jù)流。為了更好地應(yīng)用EMD算法,每組數(shù)據(jù)流的高位補(bǔ)0,形成5 bit的數(shù)據(jù)流。與此同時(shí)對(duì)圖像矩陣A進(jìn)行分塊,對(duì)每一個(gè)子塊進(jìn)行奇異值分解,提取出奇異值向量。將秘密信息d′=(d1′,d2′,…,d8′)嵌入到每個(gè)子塊的最大奇異值中。以兩個(gè)像素點(diǎn)為一個(gè)單位時(shí)算法的容量最大,因此本文算法選取兩個(gè)圖像塊的最大奇異值作為嵌入單位。信息嵌入算法流程圖如圖2所示。
具體的嵌入步驟如下:
(1)將載體圖像A進(jìn)行分塊,每塊為2×2,塊與塊之間相互不重疊;
(2)對(duì)每個(gè)子塊進(jìn)行奇異值分解,獲取每個(gè)子塊的最大奇異值σi1;
(3)以相鄰兩個(gè)子塊的最大奇異值作為參數(shù),計(jì)算函數(shù)f
……
(4)秘密信息d′轉(zhuǎn)化為五進(jìn)制的比特流,并計(jì)算機(jī)差值Si=(di-fi)mod5,根據(jù)EMD-S編碼算法中的修改規(guī)則,一次修改每個(gè)奇異值數(shù)組。
2.3信息提取過程
在這里使用矩陣A′表示載有秘密信息的圖像,具體的提取步驟如下:
(1) 將載體圖像A′進(jìn)行分塊,每塊為2×2,塊與塊之間相互不重疊;
(3)根據(jù)EMD-S算法,以兩個(gè)奇異值為一個(gè)單位進(jìn)行計(jì)算,獲得權(quán)重函數(shù)f的取值。秘密信息的提取公式如:
……
(4)秘密信息d′=(d1′,d2′,…,d8′)分別經(jīng)過對(duì)應(yīng)S盒的變換,選擇矩陣中最大的二進(jìn)制數(shù)據(jù)分別得到6 bit的數(shù)據(jù)流d=(d1,d2,…,d8)。
3.1性能分析
矩陣運(yùn)算方便、直觀,奇異值分解魯棒性較好,本文提出改進(jìn)的EMD-S編碼算法,不僅保證了數(shù)據(jù)的嵌入量的增加,而且為了保證秘密信息的正確提取,采用奇異值分解的方法對(duì)圖像進(jìn)行子塊分解,提高圖像的魯棒性。本文主要是在文獻(xiàn)[4]的基礎(chǔ)上做的改進(jìn),在秘密信息嵌入之前先經(jīng)過S盒的壓縮變換,增加了數(shù)據(jù)的嵌入率,使用奇異值分解,將秘密信息嵌入到圖像子塊當(dāng)中,同時(shí)也保證了圖像的魯棒性。通過上述理論的分析可得,本文算法的嵌入率是文獻(xiàn)[4]嵌入率的1.2倍左右。本文參照文獻(xiàn)[4]使用峰值信噪比PSNR來衡量嵌入秘密信息的失真度,采用位錯(cuò)率來作為算法魯棒性的客觀評(píng)價(jià)標(biāo)準(zhǔn)。但是,每個(gè)S盒有連續(xù)的64個(gè)整數(shù),增加了空間復(fù)雜度。
3.2性能比較
對(duì)受到JPEG有損壓縮的圖像,比較本文算法與文獻(xiàn)[4]算法嵌入秘密信息后能反映其載密圖像失真度的PSNR值,如表1所示。
本文提出了SVD和EMD-S結(jié)合的隱藏編碼算法,充分利用了奇異值分解的穩(wěn)定性,將秘密信息通過S盒的壓縮變換嵌入到每個(gè)子塊的最大奇異值當(dāng)中,矩陣編碼方便直接,信息隱藏量可觀,既保證了載密圖像的質(zhì)量,也提高了算法的魯棒性。相關(guān)實(shí)驗(yàn)數(shù)據(jù)表明,本文算法能夠較好地抵抗JPEG壓縮,在相同嵌入容量下具有更好的PSNR值。因?yàn)楸疚奶岢龅乃惴ㄊ褂昧薙盒,每個(gè)S盒占據(jù)了64個(gè)連續(xù)的存儲(chǔ)單元,所以算法的空間復(fù)雜度變大了,也就是說,犧牲了空間換取了時(shí)間,在以后的算法研究中應(yīng)進(jìn)一步降低空間復(fù)雜度。
表1 嵌入秘密信息后反映載密圖像失真度的PSNR值
[1] 韓佳伶.基于隱藏容量的數(shù)字圖像信息隱藏算法研究[D].長(zhǎng)春:吉林大學(xué),2015.
[2] 劉粉林,劉九芬,羅向陽(yáng).數(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.
[4] 姚楚茂,湯光明,辜剛林.基于奇異值的魯棒性圖像隱寫算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(7):1727-1732.
[5] 姚楚茂,湯光明,蔡鎮(zhèn).最大奇異值移位的魯棒性圖像信息隱藏[J].計(jì)算機(jī)應(yīng)用研究,2015,32(7):2172-2174.
[6] 劉圓,潘峰.基于矩陣運(yùn)算的二維EMD算法[J].計(jì)算機(jī)工程,2011,37(20):111-113.
Hiding algorithm based on SVD and EMD-S
Dong Zhenhua, Li Xiyan
(Zhengzhou Chenggong University of Finance and Economics, Gongyi 451200, China)
Digital image information hiding algorithms require high robustness and transparency.By analyzing the characteristic of the matrix, the paper puts forward the improved EMD-S algorithm. The secret information is embedded into the largest singular value decomposition of the image by means of compression transformation of S box. Experiments show that the algorithm can better resist JPEG compression, and has larger data embedding rate and good robustness.
information hiding; matrix operations; SVD; robustness
TP391
ADOI: 10.19358/j.issn.1674- 7720.2016.18.012
2016-06-23)
董振華(1980-),女,本科,講師,主要研究方向:數(shù)據(jù)庫(kù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。
李喜艷(1983-),通信作者,女,碩士研究生,講師,主要研究方向:信息安全研究。E-mail:xiyanli2006@163.com。