夏婷婷
(武夷學(xué)院數(shù)學(xué)與計(jì)算機(jī)學(xué)院,福建 武夷山 354300)
由于網(wǎng)絡(luò)技術(shù)的發(fā)展和傳播,目前互聯(lián)網(wǎng)已經(jīng)成為最為重要的通訊方式之一,然而在互聯(lián)網(wǎng)中傳輸數(shù)據(jù)時(shí),卻存在一定的網(wǎng)絡(luò)安全問題,如:偽造、侵犯版權(quán)、欺詐等。因此,為了保護(hù)數(shù)據(jù)安全,尤其是敏感數(shù)據(jù),有幾種技術(shù)被設(shè)計(jì)出來,其中數(shù)據(jù)隱藏技術(shù)(又稱信息隱藏技術(shù))就是其中之一,近年來數(shù)據(jù)隱藏技術(shù)受到了學(xué)者們的廣泛關(guān)注。
數(shù)據(jù)隱藏技術(shù)依據(jù)封面圖像是否可以被恢復(fù)分為可逆和不可逆兩大方向[1-2]。前者指接收方收到隱寫圖像后,在提取出秘密信息后,可以完全恢復(fù)出原始圖像。而后者,在提取出秘密信息后,卻無法恢復(fù)原始圖像。
數(shù)據(jù)隱藏技術(shù)被廣泛地應(yīng)用于空間域、頻域和壓縮域這3個(gè)領(lǐng)域。空間域是通過修改原始圖像的像素值來嵌入秘密信息,最低有效位LSB算法是空間域經(jīng)典算法之一[3]。頻域是通過頻域變換后的系數(shù)將秘密信息進(jìn)行隱藏,典型方法有離散小波變換(DWT) 、離散余弦變換(DTC)。壓縮域是利用壓縮算法的特征進(jìn)行秘密信息嵌入,典型方法有向量量化VQ,聯(lián)合圖像專家組JPEG,塊截?cái)嗑幋aBTC,自適應(yīng)塊截?cái)嗑幋aAMBTC等[4-5]。 其中AMBTC具有壓縮后圖像視覺品質(zhì)高、方法簡單、傳輸效率高等優(yōu)點(diǎn)[6-7]。
本文提出的算法是基于AMBTC壓縮領(lǐng)域的信息隱藏,這一領(lǐng)域中,利用(7,4)漢明碼進(jìn)行信息隱藏算法,在秘密信息提取后,原始圖像通常是無法被恢復(fù)的,但是本文采取的算法是將峰值位圖和(7,4)漢明碼有機(jī)結(jié)合,從而達(dá)到數(shù)據(jù)完全可逆的目的。為了進(jìn)一步提升圖像品質(zhì)和信息隱藏能力,文章將采取兩類峰值位圖進(jìn)行信息隱藏。
圖1 (7,4)漢明碼Fig.1 (7,4)Hamming coding
1950年,理查德·衛(wèi)斯里·漢明提出一種線性分組碼,并命名為(7,4)漢明碼,之后被廣泛的應(yīng)用于信息隱藏領(lǐng)域,來達(dá)到滿意的隱寫圖像視覺效果[8-10]。(7,4)漢明碼的碼長為7比特,4位信息位d1,d2,d3,d4,3位監(jiān)督位p1,p2,p3,因此,構(gòu)成的碼字為[p1p2d1p3d2d3d4],其中,信息位元與監(jiān)督位元的關(guān)系,如圖1所示。
接收方可以通過監(jiān)督矩陣H糾正(7,4)漢明碼的一位錯(cuò)誤,具體如式(1)、式(2)所示。Z表明了收到的碼字RCW,發(fā)生錯(cuò)誤的位置。假設(shè)發(fā)送碼字CW =(0100101),收到碼字RCW=(0110101),則校驗(yàn)子Z=(011)T與監(jiān)督矩陣第三列一樣,這意味著接收到的碼字第三位發(fā)生了錯(cuò)誤,具體如圖2所示。
(7,4)漢明碼的監(jiān)督矩陣:
(1)
Z=(H×RCWT)T
(2)
圖2 基于(7,4)漢明碼檢錯(cuò)的案例Fig.2 The error detection example based on (7,4)Hamming code
本文提出的可逆信息隱藏,主要基于AMBTC壓縮技術(shù)和(7,4)漢明碼。信息隱藏方式采取兩種,一類將秘密信息隱藏于高、低量化值相等的位圖中,采取的方式為直接提取16比特秘密信息,然后替換相應(yīng)的全“1”位圖;一類通過(7,4)漢明碼“改一藏三”的方式,將6比特信息隱藏于峰值位圖中。為了方便后續(xù)的信息提取,要將峰值位圖的高、低量化值的前后順序進(jìn)行前后對(duì)調(diào),起到標(biāo)識(shí)的作用。具體如圖3所示。
圖3 整體方案的流程框圖Fig.3 Flow diagram of the overall scheme
Z=(H×BMT)T⊕S
(3)
圖4 (7,4)漢明碼藏秘策略Fig.4 (7,4) Hamming code hiding secret strategy
1)將512×512像素的灰度圖像Q,按4×4大小分割成圖像塊。
2)對(duì)每個(gè)圖像塊經(jīng)過AMBTC壓縮后,得到一組(h,l,B),其中h為高量化值、l為低量化值,B為位圖。
3)取出每個(gè)圖像塊的位圖中16比特的“0”和“1”位元值,形成二進(jìn)制數(shù)值,并將其轉(zhuǎn)換成十進(jìn)制數(shù)值,統(tǒng)計(jì)每個(gè)十進(jìn)制數(shù)值出現(xiàn)的頻數(shù)ai,其中頻數(shù)最大的十進(jìn)制數(shù)對(duì)應(yīng)的位圖稱為第一類峰值位圖,頻數(shù)第二大的十進(jìn)制數(shù)對(duì)應(yīng)的位圖稱為第二類峰值位圖。
4)搜索到所有第一類峰值和第二類峰值,然后對(duì)第一類峰值和第二類峰值進(jìn)行標(biāo)記區(qū)別,做法如下:
將第一類峰值位圖的高量化值的最低位LSB,用“0”代替,將第二類峰值位圖的高量化值得最低位LSB,用“1”代替,然后將兩類峰值位圖對(duì)應(yīng)的原高量化值的最低位數(shù)值記錄到標(biāo)記圖(location map)里,為了后續(xù)原始圖像的恢復(fù)。
5)將兩類峰值位圖的其高、低量值進(jìn)行前后對(duì)調(diào)。其中有一種特殊情況,當(dāng)?shù)谝活惙逯滴粓D的高量化值的最低位,用“0”代替后,替換后的高量化值恰巧跟低量化值相等,如圖5所示,這個(gè)峰值位圖的高低量化值將不進(jìn)行對(duì)調(diào),保持原樣,意味著該峰值位圖被舍棄,不做任何信息隱藏。
圖5 特殊情況的一個(gè)例子Fig.5 An example of exceptional cases
6)將標(biāo)記圖里的信息流接在真正秘密信息流前端,將一同作為需嵌入的秘密信息。
7)搜索到第一個(gè)高、低量化值相等的位圖塊,從秘密信息流中提取16比特信息直接嵌入到相應(yīng)位圖中。重復(fù)這個(gè)過程,直到所有的高、低量化值相等的位圖塊都完成秘密信息的嵌入。
8)搜索到第一類峰值里的第二個(gè)峰值位圖,根據(jù)(7,4)漢明碼的信息隱藏原理,如2.2所述,提取秘密信息中6比特信息,然后修改其峰值位圖里的2比特,將秘密信息嵌入其中。重復(fù)這個(gè)步驟,直到最后第一類峰值的最后一個(gè)峰值位圖都完成了秘密信息嵌入。同理,將第二類峰值位圖也進(jìn)行秘密信息嵌入。
9)對(duì)AMBTC壓縮碼進(jìn)行重構(gòu),可得到藏有秘密信息的AMBTC壓縮圖像。
1)對(duì)隱寫圖像進(jìn)行AMBTC壓縮,得到每一塊圖像的壓縮碼。
2)搜索高低量化值前后順序?qū)φ{(diào)的塊個(gè)數(shù)P。
3)檢索高、低量化值相等的壓縮塊時(shí),直接從相應(yīng)位圖中提取出秘密信息,并將全“1”位圖覆蓋。檢索出高、低量化值前后順序?qū)φ{(diào)的位圖,通過高量化值的最低位標(biāo)記“1”或“0”可以區(qū)分出第一類峰值和第二類峰值,根據(jù)(7,4)漢明碼的嵌入原理,可以提取出第一類峰值里所藏的秘密信息,接著同理提取出第二類峰值位圖里的秘密信息。此時(shí),完成了所有秘密信息的提取。
4)檢索到兩類峰值位圖的各自第一個(gè)位圖,并恢復(fù)其類對(duì)應(yīng)的其他峰值位圖。然后,將所有提取的秘密信息的前P個(gè)比特信息用來恢復(fù)原始兩類峰值位圖高量化值的最低位信息。最后,利用此時(shí)的AMBTC壓縮碼,完全恢復(fù)出原始的灰度圖像。
為了進(jìn)一步觀察提出方案的實(shí)驗(yàn)效果,進(jìn)行了實(shí)驗(yàn)測(cè)試和分析。所有實(shí)驗(yàn)運(yùn)行在Matlab 2015a下,并從USC-SIPI數(shù)據(jù)庫中選取了6張經(jīng)典的灰度圖進(jìn)行數(shù)據(jù)測(cè)試,其灰度圖像素大小為512×512,具體圖像如圖6所示。
圖6 6張灰度圖Fig.6 Six grayscale images
采用3種評(píng)估指標(biāo):信息隱藏能力HC、信息嵌入率ER、峰值信噪比(PSNR)、參數(shù)。
信息隱藏能力是指嵌入到封面圖像中的秘密信息總比特?cái)?shù),較高的信息隱藏能力表明有更多的秘密信息被進(jìn)行了信息傳輸。
信息嵌入率指而被嵌入到AMBTC壓縮碼中的秘密信息所占的百分比,具體公式如下:
(4)
其中,‖CF‖ 是AMBTC壓縮碼的總比特?cái)?shù)。
圖像的視覺品質(zhì)是通過PSNR來測(cè)量,PSNR越大意味著被測(cè)量的圖像視覺質(zhì)量越接近原始圖像,PSNR的公式如式(5)、式(6)所示,其中,xi、yi分別原始像素值、隱寫圖像的像素值,MSE表示平均誤差,M、N分別是封面圖像的長、寬。
(5)
(6)
通過表1可知,原始圖像經(jīng)過AMBTC壓縮后,圖像的品質(zhì)PSNR平均值為32.23 dB,而隱寫圖像的PSNR平均為32.00 dB,總體平均下降了0.23 dB,這表明在本方案下的隱寫圖像具有較高的圖像品質(zhì)。第一類峰值位圖平均個(gè)數(shù)為297,第二類峰值位圖平均個(gè)數(shù)為241,可見前兩類峰值位圖個(gè)數(shù)比較接近,具有較明顯的峰值現(xiàn)象。本方案下的信息隱藏能力平均值為3 248 bits,其主要依賴于矩陣嵌入策略。
表1 方案的實(shí)驗(yàn)效果
為了進(jìn)一步評(píng)估本方案的實(shí)驗(yàn)效果,將本方案與采用一類峰值位圖的信息隱藏方案進(jìn)行數(shù)據(jù)對(duì)比。由表2觀察6張測(cè)試圖的隱寫圖像PSNR值可以發(fā)現(xiàn),本文提出可逆信息的隱寫方案,與采用一類峰值位圖的隱寫方案,具有同樣高的圖像視頻品質(zhì)。采用第一類峰值位圖信息隱藏方案,平均信息隱藏能力和平均嵌入率分別為1 808比特、0.003 4,本方案的平均信息隱藏能力和平均嵌入率,分別為3 248比特、0.006 2,可見本方案是前者的1.82倍。
表2 采用不同峰值位圖的信息隱藏方案的數(shù)據(jù)對(duì)比
本文提出的方法是對(duì)一類峰值位圖信息隱藏方案進(jìn)行方法改良,利用AMBTC技術(shù)壓縮原始圖像,通過高量化值的最低位LSB對(duì)兩類峰值位圖進(jìn)行標(biāo)記,并采用將標(biāo)記圖信息作為秘密信息回藏入位圖的方式,為后續(xù)圖像信息的完全可逆提供保障。與一類峰值位圖信息隱藏方法比,該方法在保障了較高的圖像品質(zhì)的前提下,信息隱藏力得到了大幅度提升。