杜耀剛 王澤豪 趙 耿 張艷碩
1(西安電子科技大學(xué)通信工程學(xué)院 陜西 西安 710071)2(北京電子科技學(xué)院 北京 100070)
無載體信息隱藏是一種全新的概念,它是指不對載體本身進行修改而完成信息隱藏的各種技術(shù)的統(tǒng)稱[1],是當(dāng)前研究的熱點?;跇訄D的紋理生成技術(shù),是指根據(jù)小面積的樣本紋理特征,合成大面積的輸出紋理,并保證合成結(jié)果與輸入樣圖在視覺上的相似性[2-3]。將紋理合成技術(shù)和信息隱藏的結(jié)合,是一種新的無載體信息隱藏技術(shù)思路。該技術(shù)由Otori和Kuriyama采用逐像素生成紋理的方式首次提出[4-5]。但是,Otori等的方案存在計算量大和提取誤碼率等缺陷[6]。為此Wu等提出了一種基于塊拼貼的紋理合成信息隱藏方案[7]。該方案將每一個候選塊分為內(nèi)核和外圍兩部分,比較待拼接的重疊區(qū)域與所有候選塊對應(yīng)區(qū)域的均方誤差(MSE)并排序。秘密嵌入時,就取對應(yīng)MSE排名的候選塊進行紋理縫合。
文獻[7]方案相比文獻[5]方案的主要優(yōu)點是隱藏容量大,同時由于采用塊拼接而非逐像素合成,因此合成效率高,合成效果好。隨后,Zhou等提出一種針對文獻[7]方案的攻擊方法[8]。其中指出,由于該算法在生成小的拼貼塊時,進行了大量的鏡像操作,且在生成紋理中嵌入了原樣本紋理圖像,因此攻擊方可根據(jù)得到的大幅紋理圖像,從中恢復(fù)出樣本紋理圖像,然后再重新模擬文獻[7]方案過程,進而破解出秘密信息。鑒于此,為有效阻止Zhou等對文獻[7]方案的破解,本文提出一種安全的無載體紋理合成信息隱藏方案,主要通過在樣本紋理中利用有限整數(shù)網(wǎng)格上擬仿射變換(Quasi-Affine Transformation on Limited Integer Grids,QATLIG)添加干擾塊的方式來進行反破解。該方案使得即使攻擊方成功恢復(fù)出原樣本紋理,也無法具體得知究竟哪些塊隱藏了信息,從而無法得知真正的秘密信息。
當(dāng)c=0時,有:
(1)
當(dāng)c≠0時,有:
(2)
(3)
(4)
(5)
QATLIG常被應(yīng)用于圖像置亂領(lǐng)域。其置亂效果良好,經(jīng)過兩次迭代之后,即可將原圖像的各種灰度值均勻地分布到圖像各區(qū)域中。相比于傳統(tǒng)的圖像置亂算法,如Arnold[10]變換,其更突出的優(yōu)點在于其應(yīng)用于圖像置亂時置亂周期很大[11]。
表1顯示了不同圖像尺寸N下Arnold變換的周期TNA和QATLIG的周期TNQ對比,可以看出,QATLIG置亂周期要遠大于Arnold變換。隨著圖像尺寸的增加,QATILG的置亂周期可增加值十萬至億級不等,這使得置亂圖像被暴力破解所付代價巨大。這也說明QATLIG在置亂方面具有很好的安全性。
表1[9] 不同圖像尺寸N下Arnold變換的周期TNA和QATLIG的周期TNQ對比
因此,本文利用QATLIG這一優(yōu)點,對標(biāo)記有源補丁塊坐標(biāo)的索引表進行置亂變換,以此來確定干擾塊的位置。這使得干擾塊的具體位置坐標(biāo)更加隱蔽,難以被攻擊方破解。
本文采用基于樣圖的紋理生成技術(shù),選擇塊拼貼方式進行無載體信息隱藏。一張樣本紋理圖像的大小為Sw×Sh,被均等分為Kw×Kh的子塊的紋理圖像。樣本子紋理塊需要經(jīng)過擴張步驟來最終生成源補丁塊spn,對于處在樣本紋理塊邊緣的核心區(qū)域,需要經(jīng)過鏡像步驟來進行擴張, 四條邊的擴張深度均為Pd。這使得源補丁塊由核心區(qū)域和邊界區(qū)域組成,其中核心塊大小為Kw×Kh,邊界深度為Pd。設(shè)源補丁塊大小為Pw×Ph,則Pw=Kw+2Pd,Ph=Kh+2Pd。令SPn表示源補丁塊的個數(shù),則有:
(6)
候選塊(candidate patch),是指隱藏信息時要選取的紋理塊。所有的候選塊可以視作大小為Pw×Ph的滑動窗口,在樣本紋理圖像中按掃描線順序逐像素移動所截取的紋理塊的集合,令CPn為候選塊的個數(shù),則有:
CPn=(Sw-Pw+1)×(Sh-Ph+1)
(7)
信息的隱藏主要借助于塊與塊之間的重疊區(qū)域來進行。在本文方案中,假設(shè)要粘貼的位置不屬于干擾塊位置,則計算重疊區(qū)域已合成紋理部分,同每一個候選塊之間的均方誤差MSE(mean square error),然后排序。信息隱藏中,需要根據(jù)具體的秘密信息,選擇候選塊中MSE排名相同的特定候選塊進行粘貼,邊界利用Image Quilting技術(shù)[12]進行處理。即,若秘密信息為(1010)2,則取MSE排名為10的候選塊進行縫補,以實現(xiàn)無載體信息隱藏。因此,可以得到每一個重疊區(qū)域的隱藏容量BPP(bit per patch)的最大值計算公式為:
BPPmax=└log2[(Sw-Pw+1)(Sh-Ph+1)]┘
(8)
2.2.1方案思想
文獻[8]方案中,用wp表示圖像重疊區(qū)域的相似度,并通過對wp的收集分析,來恢復(fù)出樣本紋理塊,然后模擬紋理合成的過程,得到秘密信息[8]。為了抵御這種攻擊,我們在合成紋理的過程中縫補進一定數(shù)量的干擾塊,這些干擾塊不隱藏任何信息,具體位置的選取由源補丁塊的位置通過QATLIG來置亂生成。接收方只有通過密鑰才能求解出干擾塊的具體位置。而攻擊方由于沒有密鑰,即使恢復(fù)出了正確的大幅紋理圖像,但不知道具體哪些塊包含了信息,因而無法得出正確的秘密信息。
本文方案改進點主要在于密鑰生成、構(gòu)圖圖像生成和秘密嵌入與解密。下面依次進行介紹。
2.2.2密鑰生成
密鑰分為兩部分,一部分為索引表,一部分為選取的QATLIG變換系數(shù)(a,b,c,d,e,f)。索引表是一張標(biāo)記了樣本紋理圖的源補丁塊位置的矩陣。矩陣大小即為最終合成紋理圖的尺寸。索引表的生成過程,就是在該矩陣上隨機選取源補丁塊分布坐標(biāo)的過程。設(shè)樣本紋理圖被平均分為n×n個源補丁塊,空索引表可由M×N個紋理塊兒拼接而成,則有:
2n2 (9) 步驟一,在大小等同于最終合成紋理圖尺寸的空矩陣上利用隨機數(shù)生成子隨機選擇n×n個坐標(biāo)進行標(biāo)記。坐標(biāo)的選取首先不能處于邊界,其次需要保證其在經(jīng)過QATLIG變換之后,不與任何一個原坐標(biāo)重復(fù)。步驟一之后生成的矩陣即為索引表。圖1即為當(dāng)n=3、M=N=14,QATLIG系數(shù)為式(10)時,經(jīng)過步驟一之后的索引表,圖中標(biāo)記0到8的灰色位置,即為源補丁塊分布坐標(biāo)。 {a=9.484 911 375 854 560 4e+002, b=1.332 291 989 182 476 8e+004, c=5.781 391 478 243 333 9e+003, d=8.120 794 541 527 764 5e+004, e=1.615 675 500 285 716 2e+002, f=2.275 588 209 982 666 7e+003} (10) 圖1 索引表示意圖 步驟二,根據(jù)QATLIG變換系數(shù)(a,b,c,d,e,f),對步驟一中選擇的源補丁塊坐標(biāo)進行QATLIG變換,變換之后的坐標(biāo)作為干擾塊的位置。圖2顏色最深的位置即為圖1索引表在經(jīng)過QATLIG變換之后尋找到的干擾塊位置。如當(dāng)變換系數(shù)c≠0時,坐標(biāo)(9,12)即為坐標(biāo)(2,4)經(jīng)過式(2)變換之后得到的干擾塊坐標(biāo)。 圖2 干擾塊坐標(biāo)位置示意圖 上面兩個步驟完成之后,我們將索引表和QATLIG變換系數(shù)作為密鑰由信息接收方保存,留待解密使用。 2.2.3構(gòu)圖圖像生成 在經(jīng)過上一節(jié)密鑰生成階段之后,源補丁分塊位置已經(jīng)確定。本步驟就是將樣本紋理圖分割,然后按照索引表標(biāo)注,將源補丁塊SPn縫補在相同尺寸畫布上的對應(yīng)位置,干擾塊位置不做任何處理。圖3所示為源補丁塊個數(shù)SPn=9時的分布示例,方框標(biāo)記處為干擾塊位置。 圖3 構(gòu)圖圖像的生成示意圖 2.2.4秘密嵌入和解密 在經(jīng)過以上兩步之后,我們得到了粘貼有源補丁塊和標(biāo)記了干擾塊位置的構(gòu)圖圖像。接下來就是根據(jù)秘密信息,將空余部位用相應(yīng)候選塊進行縫補。 在秘密信息嵌入時,需要不斷地計算重疊區(qū)域和所有候選塊之間的MSE并排序,然后將秘密信息值和排序進行比對,選取有著與秘密信息值相等的排序順序的候選塊進行縫補拼接。拼接過程采用掃描線順序進行(從上到下,從左到右),遇到干擾塊,則隨機從候選塊中選擇一塊進行縫補拼接,直至整個畫布被縫補完畢。 在接收方一端,解密前需要首先利用密鑰計算出干擾塊的具體位置,然后忽略掉這些位置上的紋理塊,隨后的解密過程參考文獻[7]方案進行。 當(dāng)采用文獻[8]方案對本文改進方案進行破解時,只有成功破解出干擾塊的具體位置才意味著能解析出正確的秘密信息。而由于QATLIG變換的引入,使得攻擊一方在不掌握密鑰的前提下,只能通過暴力破解來試圖獲得干擾塊的位置坐標(biāo)。因此,在合成圖像的分塊個數(shù)為M×N,源補丁塊個數(shù)為n×n的前提下,干擾塊位置坐標(biāo)被成功暴力破解的概率為: (11) 表2為當(dāng)n=3時,不同M×N所對應(yīng)的概率。 表2 不同M×N對應(yīng)暴力破解概率 由表2可見,即使在滿足2n2 本文所述方案由于干擾塊的添加,導(dǎo)致隱藏容量有所減少,但減少量非常微小。表3所示為不同樣本紋理大小,不同源紋理塊,不同最大隱藏容量條件下的隱藏容量對比,其中EPn表示嵌入信息的塊(embeddable patch)的個數(shù),TC(total capacity)表示總的隱藏容量,即TC=EPn×BPP。表3中的容量占比即為本文TC占文獻[7]方案TC的百分比。 表3 本文方案對文獻[7]方案隱藏容量占比 由表3可知,本文方案相比文獻[7]方案,隱藏容量減少約1.46%~7.11%,處于可以接受的范圍之內(nèi)。 由于本文方案只是在原方案中添加了干擾塊,因此生成圖像質(zhì)量應(yīng)該不受影響。為更直觀地進行對比,本文選取三種紋理圖案:peanut、corn和brick wall來進行實驗,實驗結(jié)果分別對應(yīng)表4、表5和表6。其中每一種紋理塊又分別進行隱藏容量BPP=5 bit和BPP=10 bit的兩組對照實驗。對于BPP=5 bit實驗組,實驗樣本紋理大小為Pw×Ph=64×64;對于BPP=10 bit實驗組,實驗樣本紋理大小為Pw×Ph=96×96。兩組實驗的紋理重疊寬度均為Pd=8,生成的大幅紋理圖像尺寸均為1 008×1 008,選用的QATLIG系數(shù)如式(10)所示。 表4 peanut紋理兩種方案效果對比 表5 corn紋理兩種方案效果對比 表6 brick wall紋理兩種方案效果對比 為了進行圖像質(zhì)量的量化對比,我們用重疊區(qū)域的均方誤差(mean squared error of the overlapped area,MSEO)來衡量圖像質(zhì)量。MSEO值越低,就代表合成紋理在重疊區(qū)域有著越高的圖像質(zhì)量。MSEO的計算公式如下: (12) MSEO值可以在紋理合成的過程中逐步生成。上述實驗條件下,MSEO值的對比如表7所示。 表7 三種紋理不同BPP下的MSEO值對比 由表7可以看出,無論是何種紋理,何種隱藏容量,本文方案與文獻[7]方案最終的紋理合成質(zhì)量都幾乎沒有差別。 本文基于有限整數(shù)網(wǎng)格上的擬仿射變換(QATLIG),提出了一種安全的紋理合成無載體信息隱藏方案。該方案改進文獻[7]方案,通過增加新的密鑰,增加干擾塊來抵抗文獻[8]的攻擊方案,同時還能抵御暴力破解。由于QATLIG變換有著極大的置亂周期,因此攻擊方除非獲得密鑰,否則很難得出干擾塊的具體位置。實驗證明,該方案在損失極微小(約1.46%~7.11%)的隱藏容量的前提下,可以生成圖像質(zhì)量無差別的大幅合成紋理圖,隱藏的信息被暴力破解的概率極低(遠小于10-5)。本文在更安全,更具魯棒性的無載體信息隱藏方向上提出了一種新的技術(shù)思路。3 實驗及分析
3.1 破解概率分析
3.2 隱藏容量分析
3.3 生成圖像質(zhì)量對比
4 結(jié) 語