曹敏 ,陳夠喜
(中北大學(xué) 電子與計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,山西 太原 030051)
目前已有多種以彩色圖像或灰度圖像為宿主的信息隱藏方法,而二值圖像的信息隱藏方法則相對(duì)較少。二值圖像即黑白圖像,在日常生活中的應(yīng)用很廣泛,隨著全球信息數(shù)字化進(jìn)程的日益加快,個(gè)人檔案、醫(yī)療記錄、學(xué)歷證書、專利證件、手寫簽名、設(shè)計(jì)圖樣、館藏圖書、機(jī)要文件等大批的重要資料,已掃描成數(shù)字化文檔以二值圖像的方式備存。顯然,與一般的灰度、彩色圖像或音、視頻相比,這些二值圖像的價(jià)值要昂貴得多。因此,在其中隱藏保護(hù)性信息也就顯得尤為重要[1]。
本文提出的信息隱藏基本思想是:首先將一級(jí)秘密信息通過MATLAB仿真成圖像,將圖像置亂并作為載體,將二級(jí)秘密信息通過特定的算法嵌入到載體中得到載密圖像,秘密信息的提取即是嵌入過程的逆反過程。
具體流程圖如圖1所示。
圖1 算法流程圖
將實(shí)驗(yàn)得到的二進(jìn)制數(shù)據(jù)(一級(jí)秘密信息)排列成M×N的矩陣A,使用MATLAB將矩陣A仿真成圖像并顯示出來,將圖像A經(jīng)過Arnold置亂得到圖像B,此時(shí)的B即為本實(shí)驗(yàn)的載體圖像。
Arnold置亂是俄國(guó)數(shù)學(xué)家Vladimir I.Arnold提出的一種變換,一幅N×N的數(shù)字圖像的二維Arnold變換定義為:
其中x,y∈{0,1,2,…,N-1}表示變換前像素的位置,x',y'表示變換后的像素位置,mod為模運(yùn)算。數(shù)字圖像可以看為一個(gè)二維矩陣,經(jīng)過Arnold變換之后圖像的像素位置會(huì)重新排列,這樣圖像會(huì)顯得雜亂無章,從而實(shí)現(xiàn)了對(duì)圖像的置亂加密效果【3】。
經(jīng)過一定次數(shù)的置亂后圖像變得雜亂無章,和原始圖像已經(jīng)完全不同,然而對(duì)于合法的用戶,需要還原出原始圖像。Arnold變換之所以成為一種得到廣泛應(yīng)用的置亂算法,是因?yàn)锳rnold變換具有周期性,如果重復(fù)地進(jìn)行Arnold變換,經(jīng)過一定的次數(shù)之后必然會(huì)還原出原始圖像。如本文中所使用的Lena圖像是256×256的二值圖像,根據(jù)文獻(xiàn)中計(jì)算Arnold變換周期的方法可得該圖像的周期是192次,實(shí)驗(yàn)結(jié)果如圖2所示。
將一級(jí)秘密信息經(jīng)過置亂后的圖像作為載體,向載體內(nèi)嵌入二級(jí)秘密信息。將載體圖像分成3×3的小模塊,每塊單獨(dú)進(jìn)行信息的嵌入與提取。如圖3所示,中心像素記為a,其八鄰域像素分別記為b1,b2,b3,b4,b5,b6,b7,b8;由于全“1”或全“0”的圖像塊為全白或全黑的平滑圖像塊,修改這類圖像塊中的像素容易被人眼察覺,所以不能用來隱藏信息,圖像塊在嵌入信息之后也不能變成全“1”或全“0”。在信息提取時(shí)也認(rèn)為全“1”或全“0”的圖像塊內(nèi)無隱藏信息。其他塊要分情況看是否能嵌入信息,具體嵌入策略如下:
(1)將二進(jìn)制秘密數(shù)據(jù)(一級(jí)秘密信息)用MATLAB仿真成二值圖像A,并對(duì)該圖像在密鑰T1的控制下進(jìn)行置亂處理,得到新的宿主圖像B,這樣便可以提高嵌入系統(tǒng)的抗檢測(cè)性,使得系統(tǒng)更加穩(wěn)定、安全。
(2)令二級(jí)秘密信息序列為M(k),k=1,2,3,…對(duì)圖像進(jìn)行分塊處理,按照密鑰T2,將二值圖像B按順序分割成M×N個(gè)3×3的互不相交的圖像塊Bi,j:
(3)對(duì)數(shù)據(jù)塊進(jìn)行嵌入分析,根據(jù)本文的嵌入規(guī)則,有兩種非法情況是不能嵌入信息的:
若模塊Bu,v中X1+X2=0或8,則塊內(nèi)不能嵌入信息,不對(duì)塊Bu,v做任何操作。
(4)當(dāng) :
(a) X1=X2,Y1=Y2;
(b) X1+X2≠8或0;
(c)Cu,v≠ 0 或 9時(shí),G(l)=B(i,j)(2,2),l=1,2,3…;B(i,j)(2,2)=M(k),完成對(duì)單個(gè)模塊的嵌入操作。然后掃描剩下的模塊,并按照此方法完成其他二級(jí)秘密信息的嵌入。
圖3 3×3圖像塊像素位置標(biāo)記
接收端提取秘密信息時(shí)按照如下步驟進(jìn)行:
(1)按照嵌入時(shí)的分塊方法,將圖像分成3×3的數(shù)據(jù)塊。
(2)在密鑰的控制下按順序找到可能嵌入信息的數(shù)據(jù)塊。
此時(shí),成功提取二級(jí)秘密信息,并得到完整的宿主圖像。
(3)在密鑰T1的指引下,將宿主圖像恢復(fù)置亂,得到由一級(jí)秘密信息組成的矩陣圖像,從而成功提取一級(jí)秘密信息。
本文分別選取了非文本型二值圖像、中文文本型二值圖像、英文文本型二值圖像為宿主圖像,并使用本文算法和文獻(xiàn)[2]中的算法做對(duì)比,嵌入前后的效果如圖4-圖6所示:圖4是用非文本型二值圖像嵌入信息前后對(duì)比,圖5是中文文本型二值圖像嵌入信息前后的對(duì)比,圖6是英文文本型二值圖像嵌入信息前后的對(duì)比。
圖4 本文非文本型二值圖像數(shù)據(jù)隱藏結(jié)果
圖5 中文文本型二值圖像數(shù)據(jù)隱藏結(jié)果
圖6 英文文本型二值圖像數(shù)據(jù)隱藏結(jié)果
PSNR是最普遍,最廣泛使用的評(píng)鑒畫質(zhì)的客觀量測(cè)法,psnr值越高,表明圖像嵌入質(zhì)量越高。計(jì)算公式如下:
所得實(shí)驗(yàn)數(shù)據(jù)如表1所示。
表1 幾組實(shí)驗(yàn)數(shù)據(jù)比較
本文根據(jù)二值圖像的性質(zhì),提出了將一個(gè)秘密信息嵌入到由另 一個(gè)秘密信息構(gòu)成的二值圖像中的信息隱藏方法。該方法將置亂后的秘密信息圖像進(jìn)行分塊處理,再按照一定的密鑰嵌入信息,完全符合Kerckhoffs準(zhǔn)則。實(shí)驗(yàn)表明,按照本方法得到的載密圖像失真小,質(zhì)量高,安全性強(qiáng),信息提取率高達(dá)100%。本文主要討論了低失真的信息隱藏方法,嵌入容量問題尚待進(jìn)一步提高。
[1]孟妍妍,高寶健,強(qiáng)媛,等.信息隱藏技術(shù)及其在網(wǎng)絡(luò)安全中的應(yīng)用[J].計(jì)算機(jī)工程,2009,35(15):146-148.
[2]錢振興,程義民,謝春輝,等.基于嵌入矩陣的二值圖像隱藏方法[J].電路與系統(tǒng),2008,23(6):128-133.
[3]謝建全,陽(yáng)春華.一種大容量的二值圖像信息隱藏[J].小型微型計(jì)算機(jī)系統(tǒng),2008,29(10):1874-1877.
[4]劉培培,朱中梁,王宏霞,等.基于混沌映射和視覺模型的信息隱藏算法[J].鐵道學(xué)報(bào),2009,31(2):29-63.
[5]黃仿元.基于Arnold變換的圖像置亂算法及實(shí)現(xiàn)[J],貴州大學(xué)學(xué)報(bào),2008,25(3):276-279.
[6]王麗娜,郭遲,李鵬,等.信息隱藏技術(shù)實(shí)驗(yàn)教程 [M].武昌:武漢大學(xué)出版社,2004:284-287.
[7]Kuang T L.Binary encoding method to encrypt Fourier-transformed information of digital images [J].Optics Communications,2008,28(15) :527-534.
[8]Younho L ,Heeyoul K.A new data hiding scheme for binary image authentication [J].Information Sciences,2009,07(14):3866-3884.
[9]Yu-An Ho,Yung-Kuan Chan.High-capacity reversible data hiding in binary images using pattern substitution[J].Computer Standards & Interfaces,2009,35(3):787-794.