李兆同+張夢(mèng)+何瑩
摘 要:根據(jù)圖像區(qū)域內(nèi)像素等值的現(xiàn)象,提出一種基于“連連看”的圖像隱寫算法。將圖像中相等的像素灰度值看作游戲中的相同圖案,通過定義相等像素值的位置關(guān)系,確定標(biāo)志像素的最低有效位并嵌入信息,從而可以很好地將游戲規(guī)則應(yīng)用于圖像信息隱藏之中。利用游戲規(guī)則,將圖像作為秘密信息的包裝容器,從而達(dá)到隱藏秘密信息的功能。實(shí)驗(yàn)結(jié)果較為理想,并且在與數(shù)獨(dú)算法作比較時(shí),發(fā)現(xiàn)該算法在隱寫性能上的優(yōu)勢(shì)。最后通過對(duì)算法實(shí)驗(yàn)結(jié)論的可行性分析,總結(jié)了該隱寫算法的優(yōu)點(diǎn)并提出了今后的研究方向。
關(guān)鍵詞:隱寫;像素等值;連連看;0、1像素組;最低有效位
DOIDOI:10.11907/rjdk.171452
中圖分類號(hào):TP312
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):1672-7800(2017)008-0059-04
0 引言
隱寫術(shù)是一項(xiàng)熱門的秘密通信技術(shù),它是將秘密信息嵌入在數(shù)字媒介中,并在公共信息通道中傳輸?shù)囊豁?xiàng)通信技術(shù),并逐漸成為信息安全研究的焦點(diǎn)之一?;ヂ?lián)網(wǎng)的繁榮也為隱寫術(shù)的發(fā)展提供了可能,多媒體如音頻、視頻和圖像等都可以作為秘密信息傳輸?shù)拿浇椤T诓粨p壞載體媒介質(zhì)量的前提下,將秘密信息嵌入到傳輸媒介中,在第三方察覺不到秘密信息存在的情況下,使秘密信息在公共環(huán)境下得以安全傳輸。其中,圖像因其簡(jiǎn)單易懂、可操作性強(qiáng)的特點(diǎn)成為眾多隱寫媒介中應(yīng)用最多的傳輸載體。數(shù)字水印技術(shù)即是一種應(yīng)用于圖像等數(shù)字媒體的特殊隱寫技術(shù)[1]。而LSB作為一種應(yīng)用普遍的傳統(tǒng)隱寫算法,因其隱藏?cái)?shù)據(jù)量大,且算法簡(jiǎn)單、容易操作而被廣泛使用,受到了很多學(xué)者重視。LSB嵌入算法作為一種信息包裝技術(shù),是空域法中的常見算法,即將圖像像素灰度值的最低有效位作為包裝的載體嵌入秘密信息,總體上分為L(zhǎng)SB替換和LSB匹配兩種算法。作為一種經(jīng)典的數(shù)據(jù)隱藏算法,近年來,在LSB算法基礎(chǔ)上出現(xiàn)了很多改進(jìn)算法。Jarno Mielikainen[2]在LSB替換基礎(chǔ)上提出并完善了LSB匹配算法;李恒武等[3]提出了一種將秘密信息進(jìn)行編碼并嵌入圖片像素值的最低有效位中的算法;張春玉等[4]將LSB替換和LSB匹配的思想相結(jié)合,利用混沌序列對(duì)含密圖像進(jìn)行置亂處理,有效克服了含密圖像統(tǒng)計(jì)不對(duì)稱性、直方圖異常等現(xiàn)象;Agham等[5]將LSB算法應(yīng)用到RGB圖像隱寫領(lǐng)域中,提高了嵌入質(zhì)量;Jois 等[6]對(duì)近年來的LSB隱寫算法進(jìn)行了實(shí)驗(yàn)對(duì)比,并總結(jié)了LSB算法的優(yōu)缺點(diǎn)和以后的發(fā)展方向;廖鑫[7]提出了一種基于四像素差值的數(shù)字圖像隱寫算法,具有較高的隱寫容量和較低的嵌入失真度。而本文則是一種利用相關(guān)區(qū)域內(nèi)若干像素等值特征來實(shí)現(xiàn)的改進(jìn)LSB算法。
近年來,游戲在隱秘通信領(lǐng)域的應(yīng)用引起了一些學(xué)者關(guān)注,他們利用游戲規(guī)則實(shí)現(xiàn)包裝算法來隱藏信息,從而達(dá)到秘密通信的作用。Zhan He等[8]提出一種基于“俄羅斯方塊”游戲的信息隱藏算法,將游戲中的7種不同板塊抽象為數(shù)字0~6,采用了基于七進(jìn)制而非廣泛應(yīng)用的二進(jìn)制編碼秘密信息;溫濤等[9]在此基礎(chǔ)上進(jìn)一步改進(jìn)“俄羅斯方塊”在信息隱藏中的應(yīng)用,他們根據(jù)板塊的變化數(shù)量將其分類,然后通過板塊的移動(dòng)、旋轉(zhuǎn)等方式,在板塊的落下過程中攜帶信息;Lee等[10]提出在《迷宮》游戲中的隱藏方法,利用迷宮的產(chǎn)生算法將秘密信息隱藏在迷宮的路徑之中。但是這些方法并沒有將算法很好地應(yīng)用到圖像隱寫之中,或者隱寫算法過于復(fù)雜,或?qū)d體圖像要求苛刻,不利于圖像的秘密傳輸。Chin Chen等[11]采用數(shù)獨(dú)作為密鑰進(jìn)行圖像隱寫處理,但密鑰數(shù)獨(dú)在公共空間的傳輸同時(shí)也加劇了傳輸?shù)娜唠s性和不安全性;Nguyen等[12]同樣是將數(shù)獨(dú)應(yīng)用到圖像隱寫當(dāng)中,并在文獻(xiàn)[11]的基礎(chǔ)上改進(jìn)了數(shù)獨(dú)算法。文獻(xiàn)[13]、[14]提出的矩陣隱寫算法大大提高了隱寫嵌入效率,本文也是受矩陣提示,將3×3的像素組看作一個(gè)矩陣單元進(jìn)行信息嵌入處理。
本文提出基于“連連看”游戲規(guī)則的改進(jìn)LSB算法,受到相同圖案可以通過連線消除的啟發(fā),其包裝也即嵌入秘密信息的過程為:將圖像中相同像素看作游戲中的相同圖案,通過特定連線將其找出,并將這些不同連線看作各自對(duì)應(yīng)的嵌入信息,從而可以很好地利用游戲規(guī)則設(shè)計(jì)包裝算法,并將秘密信息嵌入到載體圖像中。此算法在小嵌入率上得到了很好的應(yīng)用,數(shù)字圖像的隱藏效果較好,肉眼識(shí)別不出變化,達(dá)到了隱藏信息的預(yù)期目標(biāo)。
1 游戲規(guī)則介紹
“連連看”是一款休閑益智類游戲,它由幾種圖案隨機(jī)排列組成,每種圖案都有若干偶數(shù)個(gè),只要將相同的兩張圖案用特定直線連在一起即可消除,按這些規(guī)則操作直至全部圖案消除為止。擴(kuò)展此規(guī)則,如圖1所示,如果n張相同圖案可以用直線連接起來,則可大大提高圖案的消除效率。根據(jù)該思想,如果將圖像中相等灰度值的像素看作相同圖案,并利用相似的游戲規(guī)則,則可以得出一種新的隱寫算法。
2 算法原理
將原圖像按3×3為一組分成若干像素組,并將其編號(hào)為①~⑨,如圖2所示。
現(xiàn)定義如下變量: M:①②③⑥⑨中像素值相同的最大個(gè)數(shù);
N:①④⑦⑧⑨中像素值相同的最大個(gè)數(shù);
S:定義⑤為標(biāo)志像素,其值為Si;
密鑰K:一串與嵌入信息相同比特?cái)?shù)的隨機(jī)數(shù)Ki,Ki=0或者Ki=1。
0或1像素組:根據(jù)M與N的關(guān)系確定該像素組的值,當(dāng)嵌入信息與像素組的值相等時(shí),標(biāo)志像素Si不變,相反,標(biāo)志像素加1或減1。
3 算法過程
3.1 嵌入過程
當(dāng)LSB(Si)=Ki時(shí), 若M≤N,為1像素組。嵌入0時(shí),標(biāo)志像素+1;嵌入1時(shí),標(biāo)志像素不變。若M>N,為0像素組。嵌入0時(shí),標(biāo)志像素不變;嵌入1時(shí),標(biāo)志像素-1。
當(dāng)LSB(Si)≠Ki時(shí), 若M≤N,為0像素組。嵌入0時(shí),標(biāo)志像素不變;嵌入1時(shí),標(biāo)志像素-1。若M>N,為1像素組。嵌入0時(shí),標(biāo)志像素+1;嵌入1時(shí),標(biāo)志像素不變。endprint
嵌入流程如圖3所示,以下用一個(gè)例子來說明算法過程,該例子涵蓋了算法所能遇到的各種情況。
例如,圖4為載體圖像的一部分,現(xiàn)要將一串秘密信息嵌入其中,假如密鑰K=011 011。
對(duì)于第1個(gè)像素塊,如圖5所示。
LSB(S1)=0,K1=0,滿足條件 LSB(Si)=Ki;M=2,N=4,滿足條件M≤N,為1像素組。
此時(shí)若嵌入比特0,標(biāo)志像素加1;相反,若嵌入比特1,標(biāo)志像素不變,如圖6所示。
對(duì)于第2個(gè)像素塊,如圖7所示。
LSB(S2)=0,K2=1,滿足條件 LSB(Si)≠Ki;M=2,N=4,滿足條件M≤N,為0像素組。
此時(shí)若嵌入比特0,標(biāo)志像素不變;相反,若嵌入比特1,標(biāo)志像素減1,如圖8所示。
對(duì)于第3個(gè)像素塊,如圖9所示。
LSB(S3)=1,K3=1,滿足條件 LSB(Si)=Ki;M=4,N=2,滿足條件M≥N,為0像素組。
此時(shí)若嵌入比特0,標(biāo)志像素不變;相反,若嵌入比特1,標(biāo)志像素減1,如圖10所示。
對(duì)于第4個(gè)像素塊,如圖11所示。
LSB(S4)=1,K4=0,滿足條件 LSB(Si)≠Ki;M=3,N=2,滿足條件M≥N,為1像素組。此時(shí)若嵌入比特0,標(biāo)志像素加1;相反,若嵌入比特1,標(biāo)志像素不變,如圖12所示。
3.2 提取過程
具體提取過程如下:若LSB=K,M>N,提取0;M≤N,提取1;若LSB≠K,M≤N,提取0;M>N,提取1。提取算法比較簡(jiǎn)單,以下以一個(gè)例子進(jìn)行簡(jiǎn)要說明:對(duì)于圖6左邊的像素組,K1=0,LSB(S1)=1,LSB(Si)≠Ki;M=2,N=4,M≤N,提取0。對(duì)于圖6右邊的像素組,K1=0,LSB(S1)=0,LSB(Si)=Ki;M=2,N=4,M≤N,提取1。同理可以對(duì)其它圖例提取信息,提取流程如圖13所示。
4 實(shí)驗(yàn)結(jié)果與分析
當(dāng)隱寫圖像在公共信道上傳輸時(shí),以Lena圖片為例,分別嵌入10 000bit、15 000bit、25 000bit后的圖像如圖14所示,肉眼觀察圖像質(zhì)量的下降狀況。隨著嵌入信息增加,PSNR隨之下降,圖像質(zhì)量也開始下降。但從圖14看出,從肉眼角度觀察并無太大變化。所以本文算法對(duì)于觀察者而言不易察覺到圖像進(jìn)行過信息嵌入處理,因而在隱寫嵌入方面是可行的。
PSNR是最普遍使用的評(píng)價(jià)隱寫質(zhì)量的客觀標(biāo)準(zhǔn),其值越大,代表隱寫質(zhì)量越高。不過許多實(shí)驗(yàn)結(jié)果顯示,PSNR分?jǐn)?shù)無法與人眼看到的視覺品質(zhì)完全一致,有可能PSNR較高者看起來反而比PSNR較低者差。這是因?yàn)槿搜垡曈X對(duì)于誤差的敏感度并不是絕對(duì)的,其感知結(jié)果會(huì)受到許多因素的影響而產(chǎn)生變化。因此,本文引入了SSIM,即結(jié)構(gòu)相似性[15]作為另一個(gè)衡量隱寫質(zhì)量的指標(biāo),其值在[0,1]之間,越接近于1,代表隱寫圖像的質(zhì)量越好。下面從這兩個(gè)方面對(duì)該算法進(jìn)行模擬和分析。
與根據(jù)像素差值嵌入信息[7]相反,本文是根據(jù)圖像中的像素等值來包裝秘密信息的隱寫技術(shù)。同樣是將游戲應(yīng)用到隱寫領(lǐng)域中,Nguyen等[12]是將游戲中的數(shù)獨(dú)應(yīng)用到圖像隱寫之中。采用尺寸為512×512的Lena、Perppers和Baboon圖像為實(shí)驗(yàn)對(duì)象,在嵌入25 000bit信息的相同條件下,與傳統(tǒng)的LSB算法和Four PVD (Pixel Value Differencing)、Sudoku算法進(jìn)行比較。為了使計(jì)算更加準(zhǔn)確,取10次實(shí)驗(yàn)結(jié)果的平均值,并得出嵌入信息后圖像的質(zhì)量變化情況,如表1所示。
本文算法是利用標(biāo)志像素的周圍等值像素關(guān)系,在傳統(tǒng)LSB算法基礎(chǔ)上進(jìn)行的改進(jìn)。同樣作為游戲圖像隱寫算法和基于像素差值的隱寫算法,本文無論是在PSNR還是SSIM上,總體上處于明顯優(yōu)勢(shì),而且?guī)缀跖c高效的LSB算法性能持平甚至略優(yōu)于LSB算法。另外,為了證明本文算法相對(duì)于LSB算法的優(yōu)越性,實(shí)驗(yàn)中對(duì)隱寫圖像中的像素改動(dòng)個(gè)數(shù)進(jìn)行統(tǒng)計(jì)并制作直方圖,如圖15所示。從圖中可明顯看出,本文算法的像素改動(dòng)個(gè)數(shù)明顯低于LSB算法,說明本文算法在此方面有一定優(yōu)勢(shì)。
通過對(duì)表1的觀察,發(fā)現(xiàn)嵌入質(zhì)量在一個(gè)穩(wěn)定值的附近上下波動(dòng),需要探究造成這種波動(dòng)的原因,以便更好地理解和改進(jìn)算法。由于載體圖像的0、1像素組是根據(jù)密鑰和標(biāo)志像素的關(guān)系確定的,而密鑰K的值是隨機(jī)產(chǎn)生的。勢(shì)必造成載體圖像的0、1像素組也是隨機(jī)的,此時(shí)如果嵌入信息的0、1序列與載體圖像的0、1像素組不對(duì)應(yīng),算法則會(huì)將標(biāo)志像素的值加1,從而使嵌入信息的0、1序列與載體圖像0、1像素組的值一一對(duì)應(yīng)。所以最后隱寫圖像0、1像素組的個(gè)數(shù)與秘密信息0、1序列的個(gè)數(shù)應(yīng)該是分別相等的,實(shí)驗(yàn)結(jié)果如表2所示。在表2的3次實(shí)驗(yàn)結(jié)果中,理論與預(yù)期結(jié)果相符。
5 結(jié)語(yǔ)
本文基于相鄰像素等值的特性提出了一種新穎的
LSB圖像隱寫算法,這種算法主要來源于“連連看”游戲中相同圖案和灰度圖像中的等值像素聯(lián)系的啟發(fā),將圖像作為一個(gè)載體,成功地將秘密信息嵌入到載體中。在實(shí)驗(yàn)結(jié)果的分析中,嵌入信息前后的圖像變化肉眼難以區(qū)別,因此不易引起第三方察覺,并且本文算法在PSNR和SSIM的隱寫性能方面優(yōu)于最近提出的數(shù)獨(dú)游戲算法。該算法的不足在于對(duì)載體圖像像素灰度值的修改是永久性的,因此提取隱秘信息后,無法還原圖像。下一步的研究方向主要集中在兩個(gè)方面,一是如何提高圖像嵌入率,從而提升嵌入的信息容量;二是如何在提取隱秘信息后恢復(fù)出原圖像。
參考文獻(xiàn):
[1] 李曦焱.隱寫術(shù)與數(shù)字水印研究[J].甘肅科技,2005,21(8):80-81.
[2] JARNO MIELIKAINEN.LSB matching revisited[J].IEEE Signal Processing Letters,2006.endprint
[3] 李恒武,王辰陽(yáng),高勇.基于LSB的圖像信息隱藏技術(shù)的研究與設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016(6):47-48.
[4] 張春玉,姚七棟.基于混沌序列的改進(jìn)LSB隱寫算法[J].科技通報(bào),2014(5):116-120.
[5] AGHAM V,PATTEWAR T.Data hiding technique by using RGB-LSB mechanism[C].International Conference on Information Communication and Embedded Systems,2015:1-5.
[6] JOIS A,TEJASWINI L.Survey on LSB data hiding techniques[C].International Conference on Wireless Communications,Signal Processing and Networking,2016:656-660.
[7] 廖鑫.高效隱寫算法的設(shè)計(jì)研究[D].北京:北京郵電大學(xué),2012.
[8] OU Z H,CHEN L H.A steganographic method based on tetris games[J].Information Sciences,2014.
[9] 溫濤,陳夠喜,李瑞林.互動(dòng)式《俄羅斯方塊》游戲安全隱寫[J].電子技術(shù)應(yīng)用,2016,42(4):120-123.
[10] LEE H L,LEE C F,CHEN L H.A perfect maze based steganographic method[J].Journal of Systems & Software,2010,83(12):2528-2535.
[11] CHANG C C,CHOU Y C,KIEU T D.An information hiding scheme using sudoku[C].International Conference on IEEE Innovative Computing Information and Control,2008:17.
[12] NGUYEN T S,CHANG C C.A reversible data hiding scheme based on the Sudoku technique[J].Displays,2015(39):109-116.
[13] 李曉雷,王成.矩陣嵌入的快速算法[J].信息技術(shù),2013(5):121-124.
[14] KUMAR S,MUTTOO S K.Robust and secure image steganographic algorithm based on matrix embedding[J].International Journal of Electronic Security & Digital Forensics,2014,6(3):219-240.
[15] Z WANG,A C BOVIK,H R SHEIKH,et al.Image quality assessment: from error visibility to structural similarity[J].IEEE Transactions on Image Processing,2004,13(4):600-612.endprint