摘要:基于元素映射的構(gòu)造式信息隱藏算法存在因圖案庫泄露而導(dǎo)致的安全性問題,鑒于此,提出了一種新的通過含密輪廓繪制及顏色填充生成平鋪圖像的構(gòu)造式信息隱藏算法。運用B 樣條曲線為多個圖案輪廓建立標(biāo)準(zhǔn)結(jié)構(gòu)化表示,并創(chuàng)建收發(fā)雙方共享的標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫和顏色庫,根據(jù)秘密信息進(jìn)行標(biāo)準(zhǔn)結(jié)構(gòu)化表示選取、圖案輪廓繪制及顏色填充操作,獲得含密圖案。多個離散分布的含密圖案共同構(gòu)成一幅含密平鋪圖像。實驗證明,該算法對JPEG 壓縮、中值濾波、高斯濾波等常見圖像攻擊具有較強的魯棒性,且與類似算法相比,能夠抵抗更多種圖像攻擊。
關(guān)鍵詞:構(gòu)造式信息隱藏;結(jié)構(gòu)化表示;B 樣條曲線;輪廓曲線;平鋪圖像
中圖分類號:TP 309 文獻(xiàn)標(biāo)志碼:A
信息隱藏將秘密信息隱藏于公開載體中,使收發(fā)雙方秘密通信時不被第三方察覺,是信息安全領(lǐng)域的一個重要組成部分。傳統(tǒng)的信息隱藏技術(shù)通常通過修改已有載體實現(xiàn)信息隱藏,如以LSB 算法[1] 和JSteg 算法[2] 為代表的利用載體圖像冗余隱藏信息的算法,又如濕紙碼[3]、F5 算法[4]、ZZW 算法[5] 等編碼隱寫算法。然而,傳統(tǒng)的信息隱藏算法往往會在載體中留下痕跡,導(dǎo)致它們易受到隱寫分析技術(shù)的攻擊和威脅。為從根本上抵抗隱寫分析技術(shù)檢測,有學(xué)者提出了無載體信息隱藏技術(shù)[6]。與傳統(tǒng)信息隱藏相比,該技術(shù)強調(diào)不修改載體,以秘密信息為驅(qū)動去選擇或生成用于傳輸秘密信息的載體。按含密載體的獲得方式可將其分為選擇式和構(gòu)造式兩類,構(gòu)造式信息隱藏由于其靈活性和更高的隱藏容量,逐漸被越來越多的研究者所關(guān)注。
Otori 等[7] 首先提出了一種基于像素紋理合成的構(gòu)造式信息隱藏算法,該算法利用局部二值模式(LBP)建立紋理圖像中的像素點與二進(jìn)制序列的映射關(guān)系,隨后根據(jù)此關(guān)系將秘密信息編碼為彩色像素點,并繪制在空白畫布上,從而構(gòu)造出一幅含密紋理圖像。但該算法隱藏容量較低,誤碼率較高。Wu 等[8] 提出了另一種基于紋理合成的構(gòu)造式信息隱藏算法,通過建立紋理圖像子塊庫,并根據(jù)與紋理塊邊緣區(qū)域的匹配程度實現(xiàn)秘密信息與紋理塊的映射,有效提高了隱藏容量。Zhou 等[9] 通過在合成圖像的外圍填充不攜帶信息的冗余區(qū)域以提高安全性,并通過生成額外的候選塊提高隱藏容量?;谝陨涎芯?,Qian 等[10-13]提出了更多基于紋理合成或生成的信息隱藏算法,文獻(xiàn)[10] 建立候選紋理塊的復(fù)雜度與秘密信息的映射關(guān)系,根據(jù)密鑰繪制代表秘密信息的紋理塊并根據(jù)紋理合成技術(shù)填充圖像,此算法對JPEG 壓縮具有較強的魯棒性;文獻(xiàn)[11] 通過建立二進(jìn)制數(shù)據(jù)與圖形庫的映射規(guī)則,并為圖形的旋轉(zhuǎn)和放縮操作編碼,根據(jù)秘密信息從圖形庫中選擇圖形并進(jìn)行相應(yīng)變換操作繪制于空白畫布中,經(jīng)背景填充和模擬大理石紋理的形變操作構(gòu)造出類似大理石紋理的含密紋理圖像。文獻(xiàn)[12] 同樣建立與數(shù)據(jù)相映射的形狀庫,并為其旋轉(zhuǎn)和放縮變換編碼,選擇與秘密信息對應(yīng)的形狀并進(jìn)行相應(yīng)操作后,將它們散布于簡易的圖案輪廓內(nèi)部構(gòu)造含密圖像。文獻(xiàn)[13] 首先在空白畫布中繪制簡單圖形,再根據(jù)秘密信息改變形狀的拐點位置,為圖像填充顏色并進(jìn)行模擬水影畫的形變操作,構(gòu)造出類似水影畫的含密紋理圖像。類似地,Xu 等[14]直接將秘密信息繪制于空白畫布上,在不含信息的空白部分填充背景圖案,利用模擬大理石花紋的形變算法生成具有復(fù)雜紋理結(jié)構(gòu)的紋理圖像。司廣文等[15] 采用空間金字塔算法提取紋理圖像特征,并通過監(jiān)督分類訓(xùn)練得到分類模型構(gòu)造圖像特征與數(shù)據(jù)的映射字典隱藏信息,利用形變函數(shù)生成紋理圖像。但上述文獻(xiàn)所提算法在生成內(nèi)容上具有約束性,它們往往生成不具有語義信息的紋理圖像,或直接利用圖案庫中的元素繪制圖像,故當(dāng)共享庫被破解時,秘密信息將很容易通過圖案匹配算法直接提取出來,對此類信息隱藏算法的安全性造成威脅。為解決這些問題,本文提出了一種基于輪廓繪制及填色的構(gòu)造式信息隱藏算法,可以生成由有意義圖案構(gòu)成的含密平鋪圖像。
1 算法框架
本文提出一種基于輪廓繪制及填色的構(gòu)造式信息隱藏算法,算法總框架如圖1 所示。此算法需事先建立標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫和顏色庫,并在收發(fā)雙方之間共享存儲。在信息隱藏階段,發(fā)送方首先利用密鑰確定待生成含密圖案在圖像中的位置,然后根據(jù)秘密信息結(jié)合共享庫通過輪廓繪制及顏色填充構(gòu)造出多個含密彩色圖案,最后將圖案繪制在所選位置上即生成了一幅含密平鋪圖像,同時密鑰以隱蔽的方式傳輸至接收方。在信息提取階段,接收方根據(jù)密鑰從平鋪圖像中獲取含密圖案,再結(jié)合共享庫及相關(guān)操作逐一提取含密圖案中的秘密信息,將它們拼接起來即提取出含密圖像中隱藏的所有信息。
2 圖案輪廓的標(biāo)準(zhǔn)結(jié)構(gòu)化表示
本文提出一種為圖案輪廓構(gòu)建標(biāo)準(zhǔn)結(jié)構(gòu)化表示的方法,以一組能夠重構(gòu)圖案輪廓的標(biāo)準(zhǔn)化后的點集代表圖案輪廓,主要實現(xiàn)以下目的:首先,使圖案輪廓獨立于柵格圖像,實現(xiàn)在不同分辨率下對輪廓的處理;其次,以一組點集代替原始柵格圖像,可有效降低收發(fā)雙方共享庫的存儲容量;最后,在本算法中可通過對數(shù)據(jù)點的置亂加密操作提高信息隱藏算法的安全性。將標(biāo)準(zhǔn)結(jié)構(gòu)化表示的構(gòu)造具體分為兩步,即獲取圖案輪廓的結(jié)構(gòu)化表示和對結(jié)構(gòu)化表示進(jìn)行標(biāo)準(zhǔn)化處理。
2.1 圖案輪廓的結(jié)構(gòu)化表示
對柵格圖像中的圖案通過輪廓提取、輪廓分段和逐段重構(gòu)進(jìn)行結(jié)構(gòu)化表示,構(gòu)建過程如圖2所示,圖2(a) 為所選取的原始圖案。
首先對圖像進(jìn)行輪廓跟蹤[16]獲取圖案的輪廓 像素,再利用Harris特征點檢測算法提取輪廓角 點,將這些角點作為圖案輪廓的主要視覺感知特 征為輪廓像素分段,并建立輪廓的最小外接圓[17]。 若存在位于外接圓上的角點,則將此角點作為整 體輪廓的起始點,否則取外接圓上的任一輪廓點 作為整體輪廓的起始點,并以此為輪廓分段。以 輪廓起始點為首將圖案輪廓段重新排序,排序后 的輪廓記為L= {Li|i=1,…,l},其中,l為圖案輪廓 的總段數(shù),Li表示第i個輪廓段的所有像素。圖2(a) 中圖案的輪廓像素及分段結(jié)果如圖2(b)所示,其 中紅色圓點為輪廓段端點。對任意輪廓段Li,利 用3次B樣條曲線擬合并記錄擬合曲線的ni+1個 控制點co i,j(co xi,j,coyi,j)(i=1,…,l;j j = 0,…,ni),故此輪 廓段可由點集矩陣Coi=[co i,0,co i,1,…co i,ni]T表示。對 所有的輪廓段均進(jìn)行此操作即可獲得整體輪廓的 結(jié)構(gòu)化表示C0 ={Coi|i=1,…,l}。圖案輪廓的結(jié)構(gòu)化表 示點集如圖2(c)中的黑色圓圈所示,黑色輪廓即為由結(jié)構(gòu)化表示重構(gòu)的圖案輪廓,紅色圓點為分段點。
對結(jié)構(gòu)化表示Co進(jìn)行標(biāo)準(zhǔn)化以便于尺度歸一化和角度的自適應(yīng)調(diào)整。由于B 樣條曲線具有凸包性,且圖案輪廓的結(jié)構(gòu)化表示由B 樣條曲線的控制點組成,故繪制的圖案輪廓應(yīng)包含在由其結(jié)構(gòu)化表示點集所組成的封閉多邊形內(nèi)。同時,由于B 樣條曲線具有仿射不變性,對樣條曲線的仿射變換可以通過對其控制點構(gòu)建仿射像得到,因此,對結(jié)構(gòu)化表示點集的標(biāo)準(zhǔn)化操作即為對圖案輪廓的標(biāo)準(zhǔn)化操作。
對結(jié)構(gòu)化表示Co,首先計算該點集在直角坐 標(biāo)系下的最小外接圓,并以最小外接圓圓心為原 點,以原點到輪廓起始點co 1,0的向量為極軸構(gòu)建極 坐標(biāo)系。Co中的點co i,j(i= 1,…,l; j = 0,…,ni)在極坐 標(biāo)系中的位置由極坐標(biāo)(ρo i,j,θo i,j)表示,并以輪廓起 始點極徑ρo 1,0將各點極徑ρo i,j歸一化為ρi,j。同時, 為消除對輪廓起始點判別的干擾,預(yù)設(shè)參數(shù)閾值δ∈ (0,1),使標(biāo)準(zhǔn)化后除輪廓起始點外的點的極徑 均不大于1-δ,如式(1)所示,故有標(biāo)準(zhǔn)結(jié)構(gòu)化表 示C= [Cl,C2,…,Cl],由式(2)獲得Ci內(nèi)各點坐標(biāo)
結(jié)構(gòu)化表示的標(biāo)準(zhǔn)化過程如圖3 所示,圖3(a)為圖案輪廓的結(jié)構(gòu)化表示點集及重構(gòu)的圖案輪廓,標(biāo)準(zhǔn)化后的表示如圖3(b) 中黑色圓圈所示,由其繪制的圖案輪廓位于單位圓內(nèi),起始點位于極軸上且極徑為1。
3 秘密信息隱藏
發(fā)送方在生成平鋪圖像的過程中隱藏秘密信息,首先通過密鑰確定待生成圖像中含密圖案的數(shù)量及位置,然后根據(jù)秘密信息生成含密彩色圖案并繪制在空白畫布的所選位置處,最后在圖像的空白區(qū)域中隨機繪制一些標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫中的圖案或形狀,即完成了含密平鋪圖像的構(gòu)造,信息隱藏過程如圖4 所示。
平鋪圖像中的各含密圖案由秘密信息分步驅(qū) 動構(gòu)造而成,即圖案構(gòu)造的每步均由秘密信息參 與,各含密圖案有輪廓選取、輪廓調(diào)整和顏色填 充3步構(gòu)造,因此將秘密信息序列記為B =[Bshape, Bcontour,Bcolor],其中:信息序列Bshape用于選取圖案輪廓對應(yīng)的標(biāo)準(zhǔn)結(jié)構(gòu)化表示;Bcontour用于調(diào)整 生成圖案的輪廓;Bcolor用于選取圖案的填充顏色。
3.1 輪廓選取
發(fā)送方將根據(jù)信息序列Bshape從標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫中選取標(biāo)準(zhǔn)結(jié)構(gòu)化表示用于生成含密圖案輪廓,因此需為標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫中的各元素與信息序列Bshape可能出現(xiàn)的每一種形式構(gòu)建一一對應(yīng)的關(guān)系。
對含有個標(biāo)準(zhǔn)結(jié)構(gòu)化表示的標(biāo)準(zhǔn)結(jié)構(gòu)化表 示庫,為其中的每一個元素分配一個十進(jìn)制索引,即索引1?2q1,因此,每個元素可對應(yīng)一個 仍bit的二進(jìn)制序列。故對于含有q1bit二進(jìn)制數(shù)的 信息序列Bshape,其對應(yīng)標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫中的元 素索引為(Bshape)10 +1,其中(·)10為二進(jìn)制序列的十 進(jìn)制形式。由此可根據(jù)信息序列Bshape選取待繪制 圖案的標(biāo)準(zhǔn)結(jié)構(gòu)化表示,并隱藏71bit信息。
3.2 輪廓調(diào)整
標(biāo)準(zhǔn)結(jié)構(gòu)化表示是一組可以用于表示并重構(gòu)圖案輪廓的點集,改變其中部分點的位置或?qū)ζ溥M(jìn)行整體仿射變換,可導(dǎo)致圖案輪廓的局部微調(diào)或整體形變。故可利用序列Bcontour移動標(biāo)準(zhǔn)結(jié)構(gòu)化表示中的點,對圖案輪廓局部進(jìn)行調(diào)整或整體形變,將用于局部調(diào)整的信息序列記為,整體放縮和旋轉(zhuǎn)的信息序列記為Bρ和Bθ,故有Bcontour =[Bs,Bρ,Bθ]。為使局部調(diào)整后的圖案滿足人眼不可感知性,需選取標(biāo)準(zhǔn)結(jié)構(gòu)化表示中移動后對視覺感知影響較小的點作為用于隱藏信息的候選點,故不同圖案輪廓中隱藏Bcontour的二進(jìn)制信息數(shù)q2同。由于對小曲率曲線進(jìn)行微調(diào)易引起人眼察覺,且角點位置的改變可能導(dǎo)致輪廓結(jié)構(gòu)的改變,因此,用于隱藏秘密信息的候選點的選取需滿足不可感知約束,即候選點與其前后兩控制點不應(yīng)在同一條直線上,且候選點不可為輪廓的分段點。同時,為減小含密候選點之間的相互干擾,同一條3 次B 樣條曲線上不應(yīng)存在兩個連續(xù)的候選點, 且兩候選點之間的距離應(yīng)不小于0.06,由此獲得圖案輪廓的所有候選點。
圖5展示了隱藏單位序列后的結(jié)果,圖5(a) 為由標(biāo)準(zhǔn)結(jié)構(gòu)化表示繪制的圖案輪廓,其中黑色 圓圈為標(biāo)準(zhǔn)結(jié)構(gòu)化表示點集,紅色標(biāo)記為候選 點,在各候選點中隱藏單位二進(jìn)制信息后如圖5(b) 中的圓圈所示,紅色輪廓為含密圖案輪廓,可見 信息隱藏后圖案輪廓連續(xù)且平滑,對視覺感知影 響較小。
分別根據(jù)二進(jìn)制序列Bρ和Bθ調(diào)整輪廓的大小 和旋轉(zhuǎn)角度。CS中的任意點CSz的極坐標(biāo)為(ρsj,θsj), 經(jīng)價和的驅(qū)動后其坐標(biāo)變?yōu)樽儞Q過程 如式(9)所示。
式中,Δρ和Δθ分別為放縮及旋轉(zhuǎn)單位尺度。預(yù)設(shè) 通過放縮變換隱藏qρ2bit信息,且放縮變換后的標(biāo) 準(zhǔn)結(jié)構(gòu)化表示的極徑范圍ρ' sj∈[1,ρmax],則單位放縮尺度Δd=ρmax-1、/2qρ2;預(yù)設(shè)通過旋轉(zhuǎn)變換隱藏qθ2bit信息,且旋轉(zhuǎn)后結(jié)構(gòu)化表示的極角范圍為 θ'sj∈[0,2π),則單位旋轉(zhuǎn)尺度Δθ=2π/2qθ3。對CS中的所有點均進(jìn)行相同的放縮及旋轉(zhuǎn)操作,利用結(jié)構(gòu)化表示C'S繪制出含密圖案輪廓。
3.3 顏色選取及圖案繪制
本算法中,收發(fā)雙方具有相同的顏色庫,其 中共含有2%種顏色,為每種顏色分配一個 1?2q3內(nèi)的唯一索引,故每個索引可對應(yīng)一個
q3bit的二進(jìn)制序列,即在該顏色庫中各顏色可用 于隱藏q3bit信息。因此,可通過顏色特征隱藏 奶bit信息,即Bcolor內(nèi)應(yīng)包含q3bit二進(jìn)制數(shù),其對 應(yīng)的顏色索引為(Bcolor)10+1。
發(fā)送方將含有秘密信息的結(jié)構(gòu)化表示C'S繪制 為圖案輪廓,根據(jù)信息序列Bcolor從顏色庫中選取 索引(Bcolor)10 + 1對應(yīng)的顏色并進(jìn)行填充,即完成 了含密彩色圖案的構(gòu)造。
4 秘密信息提取
本算法中秘密信息的提取采用非盲檢測,即接收方擁有與發(fā)送方相同的標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫。首先,根據(jù)標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫重構(gòu)各圖案輪廓生成輪廓模板;然后,根據(jù)密鑰定位含密圖案,以分步提取的方式解析圖案生成步驟,通過對圖案進(jìn)行顏色映射、輪廓匹配和輪廓對比操作,逐步提取由顏色和輪廓所隱藏的秘密信息;最后,將從各圖案中提取的秘密信息拼接起來,即完成圖像信息提取,信息提取過程如圖6 所示。
對接收到的平鋪圖像,接收方根據(jù)密鑰獲取各含密圖案位置,并分割提取含密圖案,通過圖案顏色與顏色庫的相似度對比獲得信息序列Bcolor。利用模板匹配算法將含密圖案的輪廓與圖案輪廓模板相匹配,根據(jù)含密圖案對應(yīng)的標(biāo)準(zhǔn)結(jié)構(gòu)化表示索引獲得信息序列Bshape。為提取信息序列Bcontour,接收方為圖案輪廓建立最小外接圓,以圓心為原點, 直角坐標(biāo)系下的x 軸方向為極軸,建立極坐標(biāo)系。記最小外接圓上的輪廓點為cg1,0,極坐標(biāo)為(ρg1,0,θg1,0),由式(10) 提取信息Bρ和Bθ。式中,?·?"表示向下取整,(·)2表示十進(jìn)制的二進(jìn)制轉(zhuǎn)換。
將含密輪廓像素整體旋轉(zhuǎn)-θg1,0后進(jìn)行歸一化 操作,提取通過移動候選點隱藏的信息BS提取 過程如圖7所示。圖7(a)為含密圖案輪廓,利用 Harris特征點檢測算法提取輪廓角點,獲得含密圖 案的輪廓段Lg=[Lg1,Lg2,…,Lgl],如圖7(b)所示。記由標(biāo)準(zhǔn)結(jié)構(gòu)化表示C重構(gòu)的圖案輪廓段為 LC =[LC1,LC2,…,LCl],由于從柵格圖像中提取的含 密輪廓是連續(xù)曲線離散化的結(jié)果,與原始的連續(xù) 輪廓存在一定的位置偏差,故結(jié)合普氏分析[18]及 輪廓角點,將含密段Lgi與其對應(yīng)的原始段LCi進(jìn)行配準(zhǔn)。配準(zhǔn)結(jié)果如圖7(c)所示,其中:黑色曲線 為含密輪廓{Lgi}(i=1,2,…,l);藍(lán)色曲線為原始輪 廓{LCi}(i=1,2,…,l);紅色曲線為配準(zhǔn)后的輪廓{L'gi}(i=1,2,…,l)。最后,對輪廓段L'gi(i=1,2,…,l)內(nèi)的離散點進(jìn)行弦長參數(shù)化后均勻采樣,獲得一 組采樣點集P。取各采樣點與輪廓段Lci內(nèi)最近點 的參數(shù)作為該采樣點的對應(yīng)參數(shù),由此獲得與該 采樣點對應(yīng)的基函數(shù),并利用基于迭代最近點的 B樣條曲線擬合方法[19]根據(jù)采樣點及其對應(yīng)基函數(shù)求解出含密輪廓段的控制點集矩陣 Cg。求解 B樣條曲線的控制點,即找到一組控制點使生成 的B樣條曲線與原曲線的逼近誤差最小化,可以 將此過程看作一個最小二乘問題,最小二乘的解可由 式(11)表示。
式中:N為采樣點對應(yīng)的基函數(shù);y表示矩陣的偽逆運算。
將求解出的控制點集矩陣Cg中的候選點Cgi,j(i=1,…,l;j=0,…,ni)與標(biāo)準(zhǔn)結(jié)構(gòu)化表示C中的候選點ci,j(i=1,…,l;j=0,…,ni)進(jìn)行距離比對, 提取出秘密信息bi,j(i=1,…,l;j=0,…,ni),計算公 式如式(12)所示。
式中:E(·)為歐式距離的計算公式;ri,j=α(E(ci,j-1,ci,j)+E(ci,j+1,ci,j))為候選點的移動距離。
提取結(jié)果如圖7(d) 所示,黑色和藍(lán)色圓圈共同構(gòu)成標(biāo)準(zhǔn)結(jié)構(gòu)化表示點集,其中藍(lán)色圓圈為候選點,紅色星型為求解出的含密候選點。當(dāng)紅色星型與藍(lán)色圓圈位置近乎重疊時,即隱藏二進(jìn)制信息“0”,當(dāng)紅色星型與藍(lán)色圓圈距離較遠(yuǎn)時,即隱藏二進(jìn)制信息“1”,故本例中隱藏的信息序列為[1,1,0,0,1,1,1,1,0,1,1,1,1,1]。
將含密圖案經(jīng)輪廓局部微調(diào)及整體形變所隱 藏的信息拼接即獲得Bcontour = [BS,Bρ,Bθ]。將分步 提取的信息序列拼接起來即獲得含密圖案中隱藏 的全部信息B= [Bshape,Bcontour,Bcolor]。鋪圖像中的所有含密圖案所隱藏的信息,即完成 了對平鋪圖像的秘密信息提取操作。
5 實驗結(jié)果與分析
5.1 實驗環(huán)境
本實驗在Windows 10 操作系統(tǒng)下使用仿真軟件Matlab2020a 完成,顏色庫中顏色取自優(yōu)設(shè)網(wǎng)站,標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫由從網(wǎng)站pngtree 中選取的圖像構(gòu)建,實驗所用秘密信息為隨機生成的二進(jìn)制數(shù)據(jù),位置選擇密鑰為隨機產(chǎn)生的數(shù)據(jù)。
5.2 實驗結(jié)果展示及算法復(fù)雜度分析
為檢驗此算法的可行性,實驗選取圖8(a)~(d) 所示的4 個圖案,它們的標(biāo)準(zhǔn)結(jié)構(gòu)化表示如圖8(e)~(h) 所示,可通過輪廓形狀隱藏2 bit 信息。選取[175, 215, 230],[116, 143, 154],[66, 80,83] 和[90, 170, 200] 這4 種顏色構(gòu)建顏色庫,可通過顏色隱藏2 bit 信息,平鋪圖像背景用顏色[255,255, 255] 填充。對標(biāo)準(zhǔn)結(jié)構(gòu)化表示的形變操作選擇4 種放縮倍數(shù) [1,1.25,1.5,1.75] 和8 個旋轉(zhuǎn)角度[0,1/4π,1/2π,3/4π,π,5/4π,2/3π,7/4π],故各圖案可通過整體形變隱藏5 bit 信息,同時候選點移動距離的預(yù)設(shè)參數(shù)設(shè)置為α= 0:08,生成圖像大小為 800×800 像素。
圖9 展示了含密平鋪圖像的生成及秘密信息的提取過程。圖9(a) 展示了空白畫布中由密鑰選取的含密圖案擺放位置,根據(jù)秘密信息經(jīng)輪廓選取、輪廓調(diào)整、顏色選取并填充后的結(jié)果如圖9(b)所示。為提高生成平鋪圖像的質(zhì)量及其中含密圖案的隱秘性,將隨機選取標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫中的形狀并進(jìn)行隨機形變后繪制在畫布的空白位置中,再繪制與含密圖案互不重疊的離散點美化圖像,即完成了含密平鋪圖像的構(gòu)造。圖9(c) 中含9 個含密圖案,共隱藏166 bit 信息。
在信息提取過程中,接收方以密鑰的定位坐 標(biāo)為中心分割出所有含密圖案。如圖9(d)所示, 對某含密圖案,接收方通過顏色映射和輪廓匹配 提取信息Bshape= [1,0]和Bcolor = [1,1],然后如圖9(e) 構(gòu)建極坐標(biāo)系,提取由放縮及旋轉(zhuǎn)所隱藏的信息Bρ= [1,1]和Bθ= [1,0,0],最后求解出含密圖案輪廓 的候選點,如圖9(f)中紅色星號所示。將其與標(biāo)準(zhǔn)結(jié)構(gòu)化表示的候選點(圖中由藍(lán)色圓圈表示)進(jìn) 行比較,獲得BS=[1,1,1,1,1,0,0,0,0,0,1,1,0]。故 此圖案所隱藏的秘密信息為[1,0,1,1,1,1,1,0,0,0,0,0, 1,1,0,1,1,1,0,0,1,1]。經(jīng)實驗驗證,此算法可完全 準(zhǔn)確地提取出含密平鋪圖像中隱藏的秘密信息。
本算法可通過對標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫及顏色庫進(jìn)行擴展,生成更多樣式的平鋪圖像,以增多生成圖像樣式,提高含密圖像的隱秘性。實驗選取8 種花朵圖案構(gòu)建新的結(jié)構(gòu)化表示庫,生成的含密平鋪圖像如圖10 所示。圖10(a) ~(c) 的信息隱藏容量分別為143,167,192 bit。
由于本算法中使用的標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫和顏色庫均屬于預(yù)生成,故主要分析本算法中信息隱藏及提取算法的復(fù)雜度。信息隱藏算法主要包括含密圖案位置選取、標(biāo)準(zhǔn)結(jié)構(gòu)化表示的選擇及調(diào)整、圖案顏色的選擇及填充3 部分操作。其中,含密圖案位置選取操作需滿足各位置間互不重疊,故各新選位置均需與已選位置逐一進(jìn)行距離比較, 因此, 選取個位置的計算復(fù)雜度是O( )。標(biāo)準(zhǔn)結(jié)構(gòu)化表示的選擇及調(diào)整操作僅通過秘密信息找到與之對應(yīng)的標(biāo)準(zhǔn)結(jié)構(gòu)化表示,再對其中的點集進(jìn)行位置移動,故其復(fù)雜度為O(1);圖案顏色的選取及填充操作根據(jù)秘密信息選取對應(yīng)顏色編號并填充圖案,其時間復(fù)雜度為O(1)。綜上所述,本算法的復(fù)雜度為O( )+ O( ×(1+1)),因此,信息隱藏算法的總體時間復(fù)雜度為O(n2),n為控制點數(shù)。
信息提取算法主要包括含密圖案位置選取、圖案顏色匹配、圖案輪廓匹配和輪廓對比4 部分操作。含密圖案位置選取操作與信息隱藏算法相同,計算復(fù)雜度為O(m2 )。圖案顏色匹配操作將含密圖案顏色與顏色庫中的顏色逐一比較,時間復(fù)雜度為O(N ),N為顏色庫中顏色總數(shù)。圖案輪廓匹配操作采用模板匹配算法,計算模板圖像與子圖像中各像素間的歸一化相關(guān)性,時間復(fù)雜度為O(M×Msub),M為模板圖像像素數(shù),Msub為子圖像像素數(shù)。輪廓對比操作中,先利用普氏分析對圖案輪廓進(jìn)行配準(zhǔn),其復(fù)雜度為O(p3),p為輪廓素點數(shù);再通過迭代擬合求解含密候選點坐標(biāo),其時間復(fù)雜度為O(q× n2),q為迭代次數(shù)。綜上,從m個含密圖案中提取秘密信息的總體時間復(fù)雜度為O(m2)+O(m×(N+M×Msub+p3+q×n2)),故信息提取算法的時間復(fù)雜度為O(n4)。
同時,在信息隱藏及提取算法中,均通過建立四維數(shù)組對標(biāo)準(zhǔn)結(jié)構(gòu)化表示中的元素進(jìn)行存儲、標(biāo)記及運算,其空間復(fù)雜度為O(n4)。
5.3 魯棒性分析與比較
實驗選取了一些常見的圖像攻擊方法對20 張大小為1 000×1 000像素、隱藏容量為100~200 bit的含密平鋪圖像模擬攻擊,具體的攻擊類型及參數(shù)選取如表1 所示,并通過信息提取的誤比特率PBER來評估算法魯棒性,誤比特率為
式中:D 為提取的錯誤二進(jìn)制信息數(shù);L 為秘密信息的全部長度。
圖11 展示了含密平鋪圖像受到不同攻擊后的結(jié)果圖像。其中:圖11(a) 為未經(jīng)攻擊的隱藏有176 bit 信息的含密平鋪圖像;圖11(b)~(f) 分別為對其進(jìn)行JPEG 壓縮(質(zhì)量因子是50)、放縮變換(比例是0.8)、均值濾波(窗口大小是5×5)、中值濾波(窗口大小是5×5)和高斯濾波(窗口大小是5×5)攻擊后的圖像。
實驗結(jié)果如表2 所示,本算法對選取參數(shù)的JPEG 壓縮和中值濾波、高斯濾波均具有較好的魯棒性,提取信息的誤比特率為0。由于均值濾波將圖案的邊緣像素用窗口內(nèi)的像素均值代替,故當(dāng)濾波器窗口選取較大時,將造成輪廓邊緣模糊,影響信息提取過程中對圖案輪廓的準(zhǔn)確提取,進(jìn)而影響秘密信息的提取準(zhǔn)確率。由于圖案輪廓邊緣的繪制及秘密信息的提取均利用連續(xù)的B 樣條參數(shù)曲線完成,在生成柵格圖像時,圖案輪廓的離散化將導(dǎo)致圖案輪廓曲線與原始連續(xù)函數(shù)曲線之間存在誤差,而對圖像的縮放將導(dǎo)致圖像的分辨率降低,從而擴大由連續(xù)曲線離散化帶來的誤差。因此,較小的縮放比較將影響含密候選點的準(zhǔn)確計算,進(jìn)而導(dǎo)致秘密信息難以準(zhǔn)確提取。
為進(jìn)一步檢驗本算法較以往無載體信息隱藏算法于常見圖像攻擊魯棒性能的提升,將本算法與基于圖像映射的選擇式信息隱藏算法[20-21] 與本算法類似的基于圖像生成的構(gòu)造式信息隱藏算法[12,15] 進(jìn)行比較,結(jié)果如表2 所示。其中,符號“—”表示對比文獻(xiàn)中未包含此實驗結(jié)果。本算法對JPEG 壓縮較其他算法具有更好的魯棒性,實驗表明:本算法生成圖像經(jīng)質(zhì)量因子為30 的JPEG壓縮后,其含密圖案的輪廓依舊可以被準(zhǔn)確地檢測提取,進(jìn)而可以準(zhǔn)確地提取出秘密信息;而文獻(xiàn)[20] 的算法和文獻(xiàn)[21] 的算法均利用頻域信息為圖像編碼構(gòu)建其與二值數(shù)據(jù)的映射,故當(dāng)圖像受到質(zhì)量因子較大的JPEG 壓縮時,將對含密圖像的DC 系數(shù)產(chǎn)生影響,進(jìn)而影響信息提取準(zhǔn)確率;對于利用圖像空域進(jìn)行信息隱藏的算法[12,15],它們分別采用尺寸較小的形狀特征及圖像SIFT 特征進(jìn)行信息隱藏,故當(dāng)JPEG 壓縮較為嚴(yán)重時,將對圖像中的細(xì)節(jié)特征造成破壞,進(jìn)而影響算法的特征檢測準(zhǔn)確性,導(dǎo)致秘密信息提取有誤。同時,相比于后兩種圖像構(gòu)造式信息隱藏算法,本文算法可抵抗更多類型的圖像攻擊。
6 結(jié) 論
本文提出了一種基于輪廓繪制及填色的構(gòu)造式信息隱藏算法。通過構(gòu)建圖案輪廓的標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫,經(jīng)輪廓選取、輪廓調(diào)整及顏色填充并繪制的重復(fù)操作,構(gòu)造出一幅含有秘密信息的平鋪圖像。不同于已有的基于元素映射的構(gòu)造式信息隱藏算法,本算法通過構(gòu)建標(biāo)準(zhǔn)結(jié)構(gòu)化表示庫在有效降低收發(fā)雙方共享信息存儲容量的同時,可對表示庫進(jìn)行質(zhì)量加密提高算法安全性,且由于可利用結(jié)構(gòu)化表示繪制有意義圖案,故生成圖像具有較類似算法更好的視覺效果。同時,經(jīng)實驗表明,此算法生成的平鋪圖像對JPEG 壓縮及圖像濾波具有一定的魯棒性,且相比于類似構(gòu)造式信息隱藏算法,本文算法可抵抗更多類型的圖像攻擊。
同時,由于B 樣條曲線可滿足大部分曲線繪制需求,因此,本文利用輪廓曲線進(jìn)行信息隱藏的方法亦可應(yīng)用于更多場景中。例如:可通過對復(fù)雜圖像邊緣曲線的調(diào)整,實現(xiàn)在復(fù)雜圖像中的信息隱藏;還可利用B 樣條曲線的三維曲面繪制功能,在三維模型或空間設(shè)計等場景中進(jìn)行應(yīng)用。針對現(xiàn)有的基于深度學(xué)習(xí)的構(gòu)造式信息隱藏算法計算復(fù)雜度高、同一種算法僅能生成同一類型圖像的問題,可在B 樣條繪制曲線的基礎(chǔ)上進(jìn)行深度學(xué)習(xí),從而在一定程度上降低計算復(fù)雜度,并對生成圖像的內(nèi)容起到引導(dǎo)作用,提高生成圖像的多樣性和交互性。
參考文獻(xiàn):
[1] WANG H Q, WANG S Z. Cyber warfare: steganography vs. steganalysis[J]. Communications of the ACM, 2004, 47(10): 76-82.
[2] FRIDRICH J, GOLJAN M. Practical steganalysis of digital images: state of the art[C]//Proceedings of SPIE 4675, Security and Watermarking of Multimedia Contents IV. San Jose: SPIE, 2002, 4675: 1-13.
[3] FRIDRICH J, GOLJAN M, LISONEK P, et al. Writing on wet paper[J]. IEEE Transactions on Signal Processing, 2005, 53(10): 3923-3935.
[4] WESTFELD A. F5 —a steganographic algorithm: high capacity despite better steganalysis[C]//4th International Workshop on Information Hiding. Pittsburgh: Springer, 2001: 289-302.
[5] ZHANG W M, ZHANG X P, WANG S Z. Maximizing steganographic embedding efficiency by combining Hamming codes and wet paper codes[C]//10th International Workshop on Information Hiding. Sana Barbara: Springer, 2008: 60-71.
[6] ZHOU Z L, SUN H Y, HARIT R, et al. Coverless image steganography without embedding[C]//First International Conference on Cloud Computing and Security. Nanjing: Springer, 2015: 123-132.
[7] OTORI H, KURIYAMA S. Texture synthesis for mobile data communications[J]. IEEE Computer Graphics and Applications, 2009, 29(6): 74-81.
[8] WU K C, WANG C M. Steganography using reversible texture synthesis[J]. IEEE Transactions on Image Processing, 2015, 24(1): 130-139.
[9] ZHOU H, CHEN K J, ZHANG W M, et al. Targeted attack and security enhancement on texture synthesis based steganography[J]. Journal of Visual Communication and Image Representation, 2018, 54: 100-107.
[10] QIAN Z X, ZHOU H, ZHANG W M, et al. Robust steganography using texture synthesis[C]//Proceeding of the Twelfth International Conference on Intelligent"Information Hiding and Multimedia Signal Processing on Advances in Intelligent Information Hiding and Multimedia Signal Processing. Kaohsiung, China: Springer, 2017: 25-33.
[11] 潘琳,錢振興,張新鵬.基于構(gòu)造紋理圖像的數(shù)字隱寫 J].應(yīng)用科學(xué)學(xué)報,2016, 34(5): 625-632.
[12] QIAN Z X, PAN L, HUANG N N, et al. Constructive"steganography by tanglesJ]. KSII Transactions on Internet and Information Systems, 2018, 12(8):3911-3925.
[13] QIAN Z X, HUANG N N, LI S, et al. Constructive steganography using texture synthesis[J]. IETE Technical Review, 2018, 35(S1): 14-22.
[14] XU J Y, MAO X Y, JIN X G, et al. Hidden message in a deformation-based textureJ]. The Visual Computer, 2015, 31(12): 1653-1669.
[15] 司廣文,秦川,姚恒,等.基于紋理特征分類與合成的 魯棒無載體信息隱藏J].應(yīng)用科學(xué)學(xué)報,2020, 38(3): 441-454.
[16] 陳兆學(xué),張奎.一種基于像素標(biāo)記的二值圖像區(qū)域圍線追蹤方法J].上海理工大學(xué)學(xué)報,2019, 41(3): 289-292.
[17] PENG Y W, LAN H, YUE M L, et al. Multipurpose watermarking for vector map protection and authenticationJ]. Multimedia Tools and Applications, 2018, 77(6): 7239-7259.
[18] KENDALL D G. A survey of the statistical theory of shape[J]. Statistical Science, 1989, 4(2): 87-99.
[19] 肖軼軍,丁明躍,彭嘉雄.基于迭代最近點的B樣條曲 線擬合方法研究J].中國圖象圖形學(xué)報:A輯,2000, 5(7): 585-588.
[20] ZHANG X, PENG F, LONG M. Robust coverless image steganography based on DCT and LDA topic classification[J]. IEEE Transactions on Multimedia, 2018, 20(12): 3223-3238.
[21] ZOU L M, LI J, WAN W B, et al. Robust coverless image steganography based on neglected coverless image dataset construction[J]. IEEE Transactions on Multimedia, 2023, 25: 5552-5564.
(編輯:丁紅藝)
基金項目:國家自然科學(xué)基金資助項目(62172280);上海市浦江人才計劃項目(2022PJD031);上海市自然科學(xué)基金資助項目(21ZR1444600);上海市科委地方院校能力建設(shè)計劃項目(20060502300)