吳秀琪,張春玉,丁澤威,郭晨飛
(西藏民族大學信息工程學院,咸陽 712082)
信息隱藏技術的相關研究最早開始于上個世紀90年代中期,歷經多年的發展成為通訊信息安全領域的重要研究方向。傳統的信息隱藏方式大多是將秘密信息隱匿于普通的媒體介質中,信息竊取者發現秘密信息的難度增加,從而達到信息隱蔽傳輸的目的。縱觀信息隱藏技術的發展進程,出現了許多像數字水印技術、隱寫術、可視密碼技術等十分優秀的隱寫方法,為國家信息安全體系的完善以及信息安全水平的提升打下堅實的基礎。
鑒于當前信息隱藏的技術大多采用對常見的數字載體(視音頻、數字圖像等)進行適當的修改,而后嵌入秘密信息的方式,攻擊者不斷優化隱寫分析算法,通過分析秘密信息與媒體介質在統計特征上的差異,判別秘密信息在媒體介質中的隱藏位置,預測秘密信息的數據量,使得秘密信息暴露的可能性大大增加。此類基于載體修改式的信息隱藏只要修改則一定會留下痕跡,從而為隱寫分析者留下可乘之機。為了從根本上消除修改載體帶來的風險,零隱藏概念、無載體信息隱藏技術被提出。
無載體信息隱藏發展至今,大致可以分為編碼/映射式和生成式。其中生成式無載體信息隱藏也稱為構造式信息隱藏,是指在不預先指定原始載體的情況下,由秘密信息按照一定規則直接生成含密載體。該類方法又分為半構造式和完全構造式。半構造式信息隱藏由事先給出的載體構造預設條件,根據秘密信息并遵循一定的構造規則生成含密載體,含密載體屬于特定類型。Otrori和Kuriyama教授最先提出不提前指定數字載體,在紋理合成的過程中實現數據嵌入的基本思路。該方法在常規的紋理樣本圖像中選取多個彩色樣本點,然后將二值數據和彩色樣本點之間的關系用LBP碼進行映射,最終根據秘密信息的內容從紋理樣本圖像中選取恰當的紋理圖像,生成一副具有傳統美學工藝的含密紋理圖像。
上述基于紋理合成的半構造式信息隱藏方法,生成的紋理圖像類似加密數據,反而容易引起攻擊者懷疑。本文以藏傳佛教特有的紋飾符號為基礎,利用模擬水影畫(又稱濕拓畫,marbling)的方法來隱藏秘密信息,該方法需要先在一張白紙上寫出需要傳遞的秘密信息,利用模擬marbling的方法對該圖案進行形變,再用相似的背景圖案對其余的空白部分進行填充,最后生成具有藏文化特色的含密紋理圖像。該方法不僅具有一定的隱寫能力,并且生成的藏文化特色紋理不容易引起攻擊者懷疑,視覺隱蔽性更強。
本文提出的信息隱寫方法的總體方案如圖1所示。在信息隱藏階段,首先構建紋飾符號庫,其中包含多種單元,包括圖形的顏色、紋理等特征,按照其特征,選擇或構造特征值進行編碼。其次,確定紋飾符號與二進制數據之間的映射關系,從而形成秘密信息、二進制數據與紋飾符號之間的映射表。再次,將秘密信息分成兩部分,一部分從紋飾符號庫中選擇相應的單元,確定每個單元的圖形特征和背景顏色,同時根據另一部分秘密信息在畫布上選擇合適的坐標值,然后將選定的紋飾符號擺放到畫布相應的坐標值處形成一幅源含密圖像。最后,在填充過程中利用marbling(水影畫)方法對生成的圖像進行多次齒狀變換和正弦變換,隨機選擇干擾符號擺放到畫布上,剩余空白部分選擇與紋飾符號相近的顏色來填充,得到具有復雜紋理結構的含密紋理圖像。

圖1 總體方案流程圖
秘密信息的提取是信息隱藏的逆過程,信息提取者和信息隱寫者需要事先約定共享相同的紋飾符號庫,然后信息提取者對含密圖像去除背景顏色和干擾符號,并進行逆變換操作,進而根據特征解碼得到秘密信息。
根據秘密信息繪制源圖像前,選擇具有不同特征的紋飾符號來代表不同的二進制數據,本文將前期搜集的藏傳佛教紋飾符號進行整理分類,并將其特征種類記為={,,},其中E可表示為紋飾符號、顏色及坐標等。每種E可有多種取值,={,,…,S},其中,,…,S表示不同紋飾符號,={,,,},其中,,,分別表示紅、綠、藍、黃四種顏色。將二進制數據與E的取值空間相互對應,則E的每個取值可與多個比特相對應。
表1給出一個簡單的示例,此紋飾符號庫中包含兩個特征種類:紋飾符號和顏色。本實例所選的四個紋飾符號均為前期搜集整理的紋飾符號庫中隨機選取,每種紋飾符號對應2比特的二進制數據,顏色包含四種,分別是紅色、藍色、黃色和綠色,每種顏色也對應2比特的二進制數據。此處需要說明的是,由于信息隱藏者和信息提取者均需要利用該紋飾符號庫對秘密數據進行編碼,因此信息提取者和信息隱藏者需要事先約定共享相同的紋飾符號庫。

表1 紋飾符號庫及編碼示例
此外,該紋飾符號庫中應該還包括已定義完成的背景顏色,如本示例中的值,此值采用RGB顏色值。應注意的是,選擇的背景顏色應包含在紋飾符號庫的特征種類顏色中,同時應與選擇的紋飾符號的顏色相近,以便于紋飾符號的隱寫。
信息隱藏者根據紋飾符號庫中定義的各特征的取值空間決定每個紋飾符號攜帶秘密信息的數量,而在信息隱藏過程中,每個紋飾符號包括多種特征,因此僅需選擇部分特征來表示秘密數據。本文將秘密信息分為三部分,第一部分秘密信息為對應的藏傳佛教紋飾符號,本文選取典型的統計特征(如像素和等)作為紋飾符號的特征值;第二部分秘密信息為對應的不同顏色,可以采取2比特的二進制數據表示紋飾符號顏色;第三部分為對應符號在畫布上的坐標。在畫布上作一個×直角坐標系,隨機選取個點,并將這些點作為每個紋飾符號的形心坐標。
信息隱藏者需要將每個單元(紋飾符號和顏色確定后的圖形)擺放到畫布上,由于目前常見的信息隱藏單位通常是1個字節,因此可以選擇2比特的秘密數據來表示每個單元在畫布上的形心坐標位置。此外,由于每個單元的形狀、顏色及其擺放位置等特征均由秘密數據決定,為方便后續秘密信息的提取,一般將每個單元在畫布上的位置擺放得較為稀疏,同時在畫布上也會擺放多個干擾符號,使得信息竊取者難以確定秘密信息隱藏的位置,繼而提高信息隱藏的安全性。
在確定個單元紋飾符號的坐標及其特征值后,將確定的紋飾符號嵌入到畫布上,以畫布的最左上方為坐標原點,軸從左向右遞增,軸從上向下遞增。在嵌入紋飾符號前,需要預設好一定面積內可擺放的紋飾符號的最大數目。信息隱藏者一般通過對源含密圖像進行形變操作來達到具有水影畫效果的紋理圖,對圖像進行形變操作需要用到形變函數,常見的形變函數有齒狀變換、斜變換、正弦變換、正切變換、冪函數變換等。進行信息隱藏的過程中,為生成較為復雜的紋理圖,可選擇多種形變函數對源含密圖像進行形變操作,本文僅選取齒狀變換和正弦變換來進行形變操作。
正弦變換是進行形變操作的常用函數之一,假設源含密圖像中某一紋飾符號的擺放位置為(,),經過操作后得到(,),使用的操作為

以上各式中,為正弦變換的波長,為振幅,為相位,為形變的偏移量。
另一種齒狀變換在方向和方向分別進行形變操作,假設源含密圖像中某一紋飾符號的擺放位置為(,),經過齒狀變換后的映射點為(,),則變換過程為

以上各式中,表示最大位移量,控制齒形間距的大小,fmod(·)為求余函數。
對源含密圖像進行形變操作后,信息隱藏者在源含密圖像的背景空白處添加一些與已有符號的特征相似的背景圖形,即干擾符號,而干擾符號由紋飾符號庫中紋飾符號不規則變換產生,同時填充與選定的紋飾符號顏色相近的背景顏色,以增加隱秘性,達到視覺上較為協調的效果,如圖2所示。

圖2 初次繪制圖像
在添加干擾符號后,信息隱藏者對初步繪制完成的源含密圖像仍然可以進行多次形變操作,從而獲得更為復雜的紋理圖像。為了提高秘密信息的安全性,隱寫者通過對形變的順序和參數進行加密,生成讀取秘密信息所必須的密鑰,通過信任的安全通道將密鑰發送給提取者。
提取秘密信息時,提取者與隱寫者共享紋飾符號庫,根據紋飾符號庫中事先定義好的背景色除去圖像中填充的背景圖案,得到僅包含隱寫單元的圖像。在接收到發送者發送的密鑰后,根據密鑰對源含密圖像進行形變的反操作。然后,利用卷積濾波確定每個符號所處位置,讀取其形心坐標,進而提取其中部分的秘密信息。最后,根據紋飾符號庫不同特征對應的秘密數據,提取得到相應的秘密信息。
本文通過大量實驗來驗證此隱寫算法,在實驗中首先建立一個紋飾符號庫,庫中包含的特征有藏傳佛教紋飾符號和顏色,?代表“00”,?代表“01”,?代表“10”,?代表“11”;顏色特征包括四種:紅色、綠色、藍色和黃色,分別表示二進制數據“01”“10”“11”“00”,即每個單元可表示4比特的秘密信息;同時秘密信息在畫布上的擺放位置也代表2比特的秘密信息,也即每個單元可表示6比特的秘密數據。此外,紋飾符號庫中還定義了四種背景顏色,分別是[255,99,71]、[173,255,47]、[135,206,235]、[255,215,0]。
隨機產生一定比特的二進制數據作為秘密信息,將這些秘密信息劃分成每6比特作為一個秘密信息數據單元,根據每個秘密信息數據單元從紋飾符號庫中選取對應的紋飾符號,確定在畫布上的擺放位置。圖3是生成含密紋理圖像的實驗結果,其中圖3(a)是從紋飾符號庫中選取對應的紋飾符號擺放到畫布上,畫布大小為512×512;圖3(b)是在圖3(a)的基礎上進行正弦變換和齒狀變換,添加干擾符號,初步生成的含密紋理圖像;圖3(c)是在圖3(b)的基礎上添加背景顏色得到含密紋理圖像。其中使用的參數為:正弦變換中=50、=12、=π/3、=π/2,齒狀變換中=40、=84、=20。由圖3(c)可觀察到,此方法生成的含密紋理圖像具有良好的視覺美學效果。
信息提取者根據接收的具有傳統視覺美學效果的含密紋理圖像圖3(d),首先對其去除背景顏色和干擾符號,可以得到圖3(e);再進行正弦逆變換和齒狀逆變換,根據特征解碼獲取含密數據單元和位置坐標,如圖3(f),從紋飾符號庫中查找對應的紋飾符號的特征信息,最終得到秘密信息。

圖3 含密紋理圖像的生成與秘密信息的提取
通過添加不同的干擾符號和背景顏色或采取不同的形變操作,可以得到具有不同視覺效果的含密紋理圖像。圖4是添加不同的干擾符號的一組實驗結果,其中圖4(a)是在2048×2048畫布上擺放紋飾符號后的圖像;在圖4(a)的基礎上經過一次正弦變換,然后再進行兩次不同方向上的齒狀變換后可以得到圖4(b);在圖4(b)上添加與上一組實驗不同的干擾符號后可獲得圖4(c);添加上背景顏色后可獲得含密紋理圖像,如圖4(d)所示。

圖4 含密紋理圖像的生成
大量實驗表明,采用添加藏文化特征的干擾符號、背景色等方法,能成功地利于藏傳佛教紋飾符號進行形變的模擬marbling操作,進而生成具有藏文化特色的紋理圖。該含密紋理圖區別于其他同類方法生成的類似加密數據的紋理圖像,因為具有明顯的藏文化特色而接近自然圖像,不容易引起攻擊者的懷疑,因此具有更強的隱蔽性。
西藏在信息化建設方面取得了巨大成功,信息安全也成為當前研究重點。為了進行西藏特色的信息安全研究,本文通過模擬水影畫的方法實現基于藏傳佛教紋飾符號的半構造式信息隱藏。在隱藏過程中充分考慮藏文化特色的圖像語義特征,使含密紋理圖像的生成與秘密數據的隱藏同步進行。用藏傳佛教紋飾符號不同的紋理特征表征二進制數據,建立紋飾符號與二進制數據之間的映射關系,在初次繪制的原圖像上添加干擾符號和背景顏色,并進行一系列的可逆形變操作,最終生成一副具有藏文化特色的含密紋理圖像。實驗結果表明,該方法較同類方法生成的含密紋理圖像不僅具有更好的視覺美學效果,而且隱蔽性更強。