陳 勝 王興眾
隨著信息社會(huì)的到來,在信息傳輸中圖像所占的比例越來越大,傳統(tǒng)的加密手段由于存在諸多限制,致使某些場(chǎng)景不能得到很好的應(yīng)用[1]。信息隱藏技術(shù)主要是利用載體中的冗余信息,將所要傳遞的秘密信息嵌入到載體中,使其不易被發(fā)現(xiàn),從而達(dá)到秘密通信的目的。在實(shí)際應(yīng)用中,我們可以先對(duì)信息進(jìn)行加密處理,再將加密后的信息隱藏到載體中,從而保證通信的安全性[2]。
信息隱藏在多個(gè)領(lǐng)域受到廣泛的關(guān)注,在現(xiàn)代的各種指揮系統(tǒng)和通信系統(tǒng)中,很多地方用到信息隱藏技術(shù),由于圖像的信息量較大,選其作為載體可以得到更大的嵌入量[3]。本文介紹了一種以圖像為載體,基于離散余弦變換處理、Arnold置亂和圖像融合相結(jié)合方法,用于圖像的信息隱藏。通過選取礁石和島嶼圖像作為載體,多種常見水面目標(biāo)作為待隱藏圖像信息,在Matlab2014環(huán)境下進(jìn)行仿真實(shí)驗(yàn),驗(yàn)證了該方法的有效性。
2.1 信息隱藏
信息隱藏技術(shù)主要包括空域隱藏算法和變換域隱藏算法兩大類??沼螂[藏算法是在圖像的空間域進(jìn)行信息的嵌入,主要方法是通過對(duì)圖像的像素值直接進(jìn)行修改,從而達(dá)到隱藏秘密信息的目的[4]。
具有代表性的空域信息隱藏算法主要包括LSB算法,位平面算法以及基于直方圖調(diào)整的算法等。最常用的是最低有效位算法,是通過改變?cè)驾d體圖像的最低位或者最低幾位的實(shí)現(xiàn)信息的嵌入,因?yàn)閳D像的最低幾位所含的信息特別少,改變其內(nèi)容在視覺上不容易被察覺,能夠有效實(shí)現(xiàn)對(duì)數(shù)據(jù)的信息隱藏[5]。
變換域信息隱藏算法是通過某種變換將載體圖像變換到頻域,通常是通過離散余弦變換(DCT)或離散傅里葉變換(DFT),然后通過對(duì)其頻域系數(shù)進(jìn)行調(diào)整來達(dá)到嵌入信息的目的[6]。
和空域的信息隱藏算法相比,變換域算法的優(yōu)點(diǎn)在于所嵌入秘密信息的能量可以比較均勻的分布在所有像素上,隱藏效果更加理想,另外如果只對(duì)中頻系數(shù)進(jìn)行修改,對(duì)于一般的噪聲攻擊和壓縮攻擊有著很強(qiáng)的魯棒性[7]。
2.2 離散余弦變換
離散余弦變換是可分離的變換,其變換核為余弦函數(shù),除了一般的正交特性之外,其變換矩陣的基向量有著近似于Toeplitz矩陣的特征向量,在對(duì)圖像、語音等信號(hào)的處理中,離散余弦變換被認(rèn)為是一種準(zhǔn)最佳變換[8]。
二維DCT變換的變換核為
式中,x,u=0,1,2,…,M-1;y,v=0,1,2,…,N-1。
二維DCT變換的定義如下,設(shè)f(x,y)為M×N的數(shù)字圖像矩陣,則:
式中,x,u=0,1,2,…,M-1;y,v=0,1,2,…,N-1。
二維逆DCT變換的定義為
2.3 置亂融合算法
1)Arnold置亂
置亂技術(shù)是信息安全領(lǐng)域一種常用的手段,因?yàn)閷?duì)于信息隱藏來說,首先要注意的是其不可感知性,在保證良好不可感知性的基礎(chǔ)上再考慮嵌入量大小和魯棒性。置亂作為一種將秘密信息進(jìn)行隱藏之前的預(yù)處理手段,能夠有效提升其不可感知性[9]。
置亂操作的目的是通過特定的算法將要嵌入的圖像變成雜亂無章的圖像,所采用的置亂算法要滿足兩個(gè)基本條件,一是這種置亂變換是到其自身的一一映射,二是這種變換是到自身的滿映射,即變換是可逆的。在經(jīng)過置亂操作之后,圖像看起來像隨機(jī)分布的白噪聲,無法從中提取任何有效的信息,從而將其嵌入到載體圖像時(shí),不會(huì)引起色彩和紋理的太大變化,提升嵌入后圖像的視覺效果【10】。同時(shí),置亂的過程相當(dāng)于對(duì)圖像進(jìn)行加密,不知道所用置亂方法和密鑰的攔截者對(duì)獲取的信息解密需要耗費(fèi)極大的計(jì)算量,因此,在提高不可感知性的同時(shí)能有效提高傳輸?shù)陌踩浴?/p>
可以用于信息隱藏的置亂方法有很多種,其中比較常用的有仿射置亂,Hash置亂,幻方置亂,Arnold置亂等。由于Arnold置亂具有良好的周期性,在置亂矩陣選定之后,對(duì)于不同大小的圖像,其置亂周期也隨之確定。假設(shè)待處理的圖像大小為M×M,其置亂周期如表1所示。
二維Arnold置亂所用的表達(dá)式為
在上式中,x,y是原圖像的像素坐標(biāo),x′,y′是變換后的像素坐標(biāo),保證 | ad-bc|=1。在進(jìn)行置亂處理的過程中,可將參數(shù)a,b,c,d以及置亂次數(shù)n作為密鑰key,在提取信息并解密時(shí),根據(jù)不同的置亂周期和密鑰提取信息[11]。
表1 不同大小圖像的二維Arnold置亂周期
2)置亂融合算法結(jié)構(gòu)
置亂融合算法包括秘密信息的嵌入和提取兩部分,嵌入前首先將待嵌入秘密信息進(jìn)行Arnold置亂,得到圖像并進(jìn)行分塊DCT變換,將之與載體圖像進(jìn)行分塊DCT變換后的系數(shù)進(jìn)行融合,融合所用的公式為 S′=Round[aM′+(1-a)N′],融合后信息進(jìn)行逆DCT變換即可得到載密圖像,其流程如圖1所示。
秘密信息的提取流程如圖2所示,對(duì)秘密信息的提取過程為分別將載密圖像和載體圖像進(jìn)行分塊DCT變換,將得到的系數(shù)按照公式N′=Round[(S′-aM′)/(1-a)]進(jìn)行提取,得到恢復(fù)后的系數(shù)并對(duì)其進(jìn)行逆DCT變換并且參考置亂加密時(shí)所使用密鑰進(jìn)行處理后解密即可得到所嵌入的信息。
2.4 算法評(píng)價(jià)指標(biāo)
信息隱藏算法的基本評(píng)價(jià)指標(biāo)包括不可感知性,信息提取質(zhì)量和魯棒性等幾個(gè)方面【12】。其中不可感知性和提取質(zhì)量均可以用均方根誤差(RMSE)和峰值信噪比(PSNR)進(jìn)行客觀評(píng)價(jià),魯棒性是指通信過程中對(duì)一些如椒鹽噪聲、任意涂畫或者JPEG壓縮等常見攻擊的抵抗能力[13]。
1)均方根誤差
均方根誤差又叫做標(biāo)準(zhǔn)誤差,它是觀測(cè)值與真值偏差的平方和觀測(cè)次數(shù)n比值的平方根,其定義為
其中,式中的g(x,y)和f(x,y)分別代表待比較的兩幅圖像,如果評(píng)價(jià)不可感知性,g(x,y)和f(x,y)表示載體圖像和載密圖像,而如果評(píng)價(jià)圖像的恢復(fù)質(zhì)量,則g(x,y)和f(x,y)表示原始嵌入圖像和恢復(fù)后的圖像,M和N分別表示圖像的長(zhǎng)和寬。均方根誤差越小,表示兩幅圖像的相似度越高[14]。
2)峰值信噪比
峰值信噪比是一種最常見的評(píng)價(jià)圖像質(zhì)量的客觀標(biāo)準(zhǔn),其值為原圖像和處理后圖像之間的均方誤差相對(duì)于(2n-1)^2的對(duì)數(shù)值,單位是dB,計(jì)算公式為
結(jié)合式(5),可以得出:
PSNR越大,表示圖像的保真度越好,用在信息隱藏的評(píng)價(jià)中,即不可感知性更好或者圖像提取質(zhì)量更高[15]。
為了驗(yàn)證算法的有效性,本文選取了幾種常見的水面目標(biāo),包括海警船、油船、兩棲攻擊艦、驅(qū)逐艦、航空母艦、豪華游艇、漁船、散貨船和潛艇9種目標(biāo)的圖像作為待傳輸?shù)男畔?,以礁石和島嶼兩種圖像作為載體圖像進(jìn)行實(shí)驗(yàn)。
3.1 算法實(shí)現(xiàn)步驟
置亂融合算法的實(shí)現(xiàn)主要包括信息的嵌入和提取兩個(gè)部分,為了方便處理,本文所采用的嵌入信息和載體均為512×512的灰度圖像,具體的實(shí)驗(yàn)設(shè)計(jì)步驟如下。
1)秘密信息嵌入過程
(1)將大小為512×512的載體圖像和待嵌入圖像分別記為M和N;
(2)對(duì)N用Arnold置亂變換進(jìn)行加密處理,得到置亂后的圖像并記為P,并將所用到的置亂矩陣參數(shù)a,b,c,d和置亂次數(shù)n作為密鑰key保存;
(3)將M和P分成大小為8×8的塊,對(duì)每個(gè)塊分別進(jìn)行DCT變換,得到其DCT系數(shù)矩陣,分別記為M′和P′;
(4)根據(jù)融合公式 S′=Round[aM′+(1-a)P′]對(duì)M′和P′的DCT系數(shù)進(jìn)行融合,式中的a為融合系數(shù),且滿足0<a<1,Round為向上取整的操作,S′為融合后的DCT系數(shù),對(duì)其進(jìn)行分塊IDCT變換就可以得到嵌入后的載密圖像S。通過改變?nèi)诤舷禂?shù)a的值,可以得到不同的融合結(jié)果。由融合公式就可以看出,當(dāng)系數(shù)a越接近1時(shí),所得到的結(jié)果S越接近原始載體圖像M,但所嵌入的信息量越少,因此,通過選擇合適的系數(shù),可以將待嵌入信息較好地隱藏于載體中。
2)秘密信息提取過程
(1)對(duì)接收到的載密信息圖像S和原始載體圖像M分別進(jìn)行分塊DCT變換,得到其DCT系數(shù)矩陣S′和M′;
(2)利用提取公式 P′=Round[(S′-aM′)/(1-a)],取嵌入時(shí)的融合系數(shù)代入,對(duì)其進(jìn)行IDCT變換可以得到嵌入的秘密信息P;
(3)根據(jù)密鑰key對(duì)P進(jìn)行解密操作,即可得到原始要嵌入的秘密信息N。
3.2 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)得到海警船、油船、兩棲攻擊艦、驅(qū)逐艦、航空母艦、豪華游艇、漁船、散貨船和潛艇9種目標(biāo)在礁石和島嶼兩種圖像載體下的信息嵌入和提取結(jié)果,圖3和圖4分別給出了海警船和兩棲攻擊艦的實(shí)驗(yàn)結(jié)果,圖中從(a)到(f)分別是待嵌入圖像,載體圖像,待嵌入圖像經(jīng)過置亂加密后的結(jié)果,嵌入后的載密圖像,提取的信息和經(jīng)過解密得到的嵌入信息。
從圖中可以看出,置亂加密后的待嵌入信息近似白噪聲,且嵌入后的載密圖像在肉眼上無法看出和載體圖像區(qū)別,信道中傳輸?shù)氖禽d密圖像d,圖像(e)為提取的嵌入信息,即使被人截獲并提取,當(dāng)不知道加密所用的key時(shí),也無法獲取到有用信息。表2給出了9種實(shí)驗(yàn)圖像嵌入礁石和島嶼兩種不同載體圖像中時(shí)載密圖像的均方根誤差和峰值信噪比,表3給出了提取圖像均方根誤差和峰值信噪比??梢钥闯觯ㄟ^選取合適的置亂次數(shù)和融合系數(shù),基本上可以使載密圖像和提取圖像的峰值信噪比均達(dá)到34dB以上,從而保證具有良好的不可見性和提取質(zhì)量,達(dá)到信息隱藏和有效傳輸?shù)哪康摹?/p>
與文獻(xiàn)[16]中采用的直接融合的方法進(jìn)行比較,結(jié)果在表4中給出,可以看出經(jīng)過置亂加密再進(jìn)行頻域系數(shù)融合,除了保證更高的安全性之外,得到的嵌入質(zhì)量也有一定的提高,即嵌入的不可感知性更好,信息的提取質(zhì)量和直接融合的方法差距不大。
文章在傳統(tǒng)的信息融合思路的基礎(chǔ)上,結(jié)合DCT變換并且先將待嵌入信息進(jìn)行置亂加密,使得信息隱藏的不可感知性得到一定提高,并且增加了傳輸過程的安全性,通過9種目標(biāo)圖像在2種不同載體中的實(shí)驗(yàn),驗(yàn)證了該方法的有效性。受嵌入的信息量所限,其提取的圖像質(zhì)量與直接融合的方法相比并沒有明顯的提高,這是下一步改進(jìn)優(yōu)化的目標(biāo)和方向。
表2 載密圖像均方根誤差和峰值信噪比
表3 提取信息均方根誤差和峰值信噪比
表4 與直接融合算法峰值信噪比對(duì)比
[1]鈕心忻,楊義先,吳志軍.信息隱藏理論與關(guān)鍵技術(shù)研究.電信科學(xué),2004,12:28-30.
[2]Z.Zhao,H.Luo,Z.M.Lu,and J.S.Pan,Reversible data hiding based on multilevel reversiblehistogram modification and sequential recovery[J].Int.J.Electron.Commun,2011,65(10):814-826.
[3]崔忠立,王嘉禎.一種替換類隱寫術(shù)算法的統(tǒng)一模型[J].計(jì)算機(jī)工程與應(yīng)用,2006,13:127-129
[4]Rafael C.Gonzalez,Richard E.Wood.數(shù)字圖像處理(第三版)[M].電子工業(yè)出版社,2017:352-354.
[5]沈昌祥,張煥國(guó),馮登國(guó)等.信息安全綜述[J].中國(guó)科學(xué)E輯,2007,37(2):129-150.
[6]劉志軍.基于小波域塊分類的的信息隱藏算法[J].計(jì)算機(jī)工程,2008,34(12):144-146.
[7]謝健全,陽春華.大容量的信息隱藏算法[J].計(jì)算機(jī)工程,2008,34(8):167-169.
[8]W.L.Tai,C.M.Yeh,and C.C.Chang.Reversible data hiding based on histogram modification of pixel differences[J].IEEE Trans.Circuits Syst.Video Technol.,2009,19(6):906-910.
[9]顎煒,康寶生.基于置亂與融合的數(shù)字圖象隱藏技術(shù)及其應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2008,5(25):216-217.
[10]朱桂斌,曹長(zhǎng)修,胡中豫等.基于仿射變換的數(shù)字圖像置亂加密算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2003,15(06):711-715.
[11]H.W.Tseng and C.P.Hsieh,Prediction-based reversible data hiding,Informat.Sci.,2009,179(14):2460-2469.
[12]陳明奇,鈕心忻,楊義先.基于小波變換及矢量量化的隱像術(shù)[J].計(jì)算機(jī)研究與發(fā)展,2001,38(2):199-203.[13]陳銘,平西建.基于Arnold變換的圖像信息偽裝算法[J].計(jì)算機(jī)應(yīng)用研究,2006,01:235-238.
[14]H.C.Huang and W.C.Fang.Authenticity preservation with histogram based reversible data hiding and quadtree concepts[J].Sensors,2011,11(10):9717-9731.
[15]C.Y.Yang,C.H.Lin,and W.C.Hu.Reversible data hiding by adaptive IWT-coefficient adjustment[J].J.Informat.Hiding Multimedia Signal Process.,2011,2(1):24-32.
[16]張貴倉(cāng),王讓定,章毓晉.基于迭代混合的數(shù)字圖像隱藏技術(shù)[J].計(jì)算機(jī)學(xué)報(bào),2003,26(5):569-574.