国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于統(tǒng)計特性的隱寫密鑰恢復(fù)方法*

2023-08-31 08:39:24郭微光李佳臨徐明迪
計算機(jī)與數(shù)字工程 2023年5期
關(guān)鍵詞:明文譯碼校驗(yàn)

郭微光 李佳臨 徐明迪

(1.91001部隊 北京 100841)

(2.武漢數(shù)字工程研究所 武漢 430205)

1 引言

信息隱藏是將信息嵌入到載體的冗余部分中,以不被察覺的方式進(jìn)行秘密消息傳輸,從而實(shí)現(xiàn)隱蔽通信的一種技術(shù)。從古希臘戰(zhàn)爭、一戰(zhàn)、二戰(zhàn)到美俄間諜戰(zhàn)、俄烏網(wǎng)絡(luò)戰(zhàn),信息隱藏技術(shù)伴隨人類軍事、政治斗爭的歷史不斷發(fā)展[1]。作為信息隱藏技術(shù)的重要分支,數(shù)字圖像隱寫技術(shù)將秘密信息隱藏在圖像的視覺冗余部分并通過公開信道進(jìn)行傳輸,既保護(hù)了通信內(nèi)容的安全性也保護(hù)了通信行為的隱秘性[2]。隱寫分析技術(shù)主要研究數(shù)字載體中秘密信息的檢測和提取,其中秘密信息的提取是隱寫分析技術(shù)面臨的重要挑戰(zhàn)和最終目標(biāo)[3]。研究圖像自適應(yīng)隱寫算法隱秘信息提取方法有助于及時發(fā)現(xiàn)非法隱蔽通信行為、獲取非法通信內(nèi)容,對維護(hù)網(wǎng)絡(luò)環(huán)境的安全有所幫助。

隱秘信息提取的關(guān)鍵是找到隱寫密鑰。圖像自適應(yīng)隱寫算法利用隱寫密鑰將秘密信息嵌入圖像紋理復(fù)雜區(qū)域,抗檢測性和抗提取性得到了提高[4~5]。當(dāng)嵌入的信息為明文時,文獻(xiàn)[6]提出了一種基于游程檢驗(yàn)的隱寫密鑰恢復(fù)方法,利用明文和密文的隨機(jī)性差異,對編碼的子校驗(yàn)矩陣進(jìn)行編碼參數(shù)的盲識別。文獻(xiàn)[7]從理論上分析了“選擇載密對象”和“信息重復(fù)發(fā)送”兩種條件下的隱寫密鑰恢復(fù)的可行性。文獻(xiàn)[8]提出了在部分信息已知的場景下隱秘信息提取的方法,該方法基于編碼的矩陣變形和方程求解,實(shí)現(xiàn)了隱秘信息提取。文獻(xiàn)[9]給出了消息重復(fù)發(fā)送和密鑰重復(fù)使用的條件下隱秘信息提取的方法。文獻(xiàn)[10]提出了一種基于最優(yōu)STC譯碼路線的隱秘信息提取方法,在已知載體圖像條件下,實(shí)現(xiàn)隱寫密鑰的恢復(fù)。

在實(shí)際的隱蔽通信中,發(fā)送者可以使用數(shù)字隱寫技術(shù)來傳輸未經(jīng)加密的隱秘信息,如圖1 所示。發(fā)送方使用隱寫密鑰通過STC 編碼將隱秘信息嵌入載體圖像中,利用公開信道進(jìn)行傳輸,接收方使用隱寫密鑰通過STC 譯碼即可提取隱秘信息。在隱秘通信過程中,攻擊者可在公開信道中獲取可疑圖像。對于空域明文嵌入,文獻(xiàn)[6]中基于游程檢驗(yàn)的隱寫密鑰恢復(fù)方法可能會將偽隱寫密鑰誤判為真隱寫密鑰。因此,需要尋找校驗(yàn)矩陣所對應(yīng)的譯碼序列中更能區(qū)分真?zhèn)蔚慕y(tǒng)計特征。本文通過對明文信息的統(tǒng)計分析發(fā)現(xiàn),各個位平面的概率分布有差異?;诖?,本文提出一種基于統(tǒng)計特性的隱寫密鑰恢復(fù)方法,該方法根據(jù)譯碼序列對應(yīng)的子序列特征進(jìn)行隱寫密鑰的識別。實(shí)驗(yàn)結(jié)果證明了本文方法能夠縮小識別密鑰空間的范圍,提高識別自適應(yīng)隱寫編碼參數(shù)的準(zhǔn)確度。

圖1 明文嵌入條件下的隱蔽通信過程和隱寫密鑰恢復(fù)過程

2 STC編譯碼

傳統(tǒng)的空域圖像隱寫算法通過對載體圖像像素灰度值進(jìn)行修改來實(shí)現(xiàn)信息的嵌入,而自適應(yīng)隱寫是根據(jù)載體圖像的內(nèi)容自適應(yīng)選取合適位置并結(jié)合編碼進(jìn)行嵌入[11]。Filler等[12]提出的STC(Syndrome-Trellis Codes)編碼具有使總體嵌入失真接近理論最小值的特點(diǎn),效率高且性能好,已成為大多數(shù)自適應(yīng)隱寫算法的首選編碼??沼蜃赃m應(yīng)隱寫算法如HUGO[13]、WOW[14]等,都是采用不同的失真函數(shù)結(jié)合STC 編譯碼來實(shí)現(xiàn)隱秘信息的嵌入和提取。STC 編譯碼的原理大致如下:定義載體序列為x=(x1,x2,…,xn)∈{0,1}n,載 密 序 列 為y=(y1,y2,…,yn)∈{0,1}n,m為待嵌入的隱秘信息,STC碼的編碼和譯碼的過程如式(1)、(2)所示:

其中,D(x,y)為嵌入失真函數(shù),C(m)={z∈{0,1}n|Hz=m}表示待嵌入信息m的陪集,H∈{0 ,1}m×n為STC編碼中使用的校驗(yàn)矩陣。由式(1)可知,STC編碼的過程就是尋找滿足Hy=m的向量y,且使得嵌入失真D(x,y)最小。從式(2)可以看出,正確的校驗(yàn)矩陣H結(jié)合載密序列可計算得出載密序列中的隱秘信息。因此校驗(yàn)矩陣H可看作基于STC編碼的自適應(yīng)隱寫算法的隱寫密鑰。

校驗(yàn)矩陣H是由h行w列的子校驗(yàn)矩陣按照主對角線的順序依次排列而成。子校驗(yàn)矩陣的高度h和寬度w為尺寸參數(shù),數(shù)據(jù)的取值稱為內(nèi)容參數(shù)。寬度w與嵌入率α有關(guān),若存在正整數(shù)k滿足α=1k,則選取w=k,校驗(yàn)矩陣H由寬度為w的子校驗(yàn)矩陣H沿主對角線排列組成;否則尋找正整數(shù)k滿足不等式1 (k+1)<α<1k,此時校驗(yàn)矩陣H由寬度為w1=k和w2=k+1 的兩種子校驗(yàn)矩陣H1和H2按照主對角線的順序交替排列構(gòu)成。子校驗(yàn)矩陣的高度h影響編碼的效率,通常取值6 ≤h≤15。

由于圖像自適應(yīng)隱寫算法采用編碼的方式嵌入隱秘信息,采用隱寫編碼使得嵌入信息的過程和圖像的所有像素有關(guān),弱化了載密序列和隱寫密鑰之間的關(guān)聯(lián)性,導(dǎo)致針對傳統(tǒng)隱寫的密鑰恢復(fù)方法不再適用,因此需要尋找自適應(yīng)隱寫的隱寫密鑰恢復(fù)方法?;谏鲜龇治?,隱秘信息的提取關(guān)鍵在于隱寫密鑰的恢復(fù),而隱寫密鑰的恢復(fù)歸結(jié)于校驗(yàn)矩陣的識別。本文方法通過對不同校驗(yàn)矩陣所對應(yīng)的譯碼序列進(jìn)行分析,基于不同位平面的概率分布來區(qū)分真?zhèn)坞[寫密鑰。

3 基于統(tǒng)計特性的密鑰恢復(fù)方法

由STC編碼方法的原理可知,嵌入信息長度和子校驗(yàn)矩陣是STC編碼過程的重要參數(shù),也是通信雙方需要共享的信息。隱寫密鑰的恢復(fù)相當(dāng)于校驗(yàn)矩陣的識別。如果識別出了正確的自適應(yīng)隱寫的校驗(yàn)矩陣,便可以通過STC譯碼方程求得譯碼序列,即嵌入的隱秘信息。由于明文信息嵌入載體圖像時需要轉(zhuǎn)化為二進(jìn)制,因此可以通過二進(jìn)制信息的特點(diǎn)來判斷譯碼序列的真?zhèn)巍?/p>

下面首先給出本文提出的明文嵌入條件下隱寫密鑰的恢復(fù)方法的原理框圖和實(shí)現(xiàn)步驟,然后詳細(xì)介紹其中的關(guān)鍵步驟的具體實(shí)現(xiàn)方法。

3.1 基本原理及主要步驟

隱秘信息提取過程的關(guān)鍵在于STC 編碼參數(shù)識別,通過構(gòu)建編碼參數(shù)表、搜索編碼參數(shù)、獲取譯碼序列、檢驗(yàn)正確性等步驟來識別自適應(yīng)隱寫所用的密鑰。明文嵌入下自適應(yīng)隱寫的隱寫密鑰的恢復(fù)方法原理框圖如圖2所示。

圖2 明文嵌入下自適應(yīng)隱寫的隱寫密鑰的恢復(fù)方法

隱寫密鑰的恢復(fù)方法具體步驟如下:

1)獲取載密序列。讀入待檢測的載密圖像,根據(jù)載體序列的生成次序來獲得載密序列。本文研究采用無置亂時的圖像自適應(yīng)隱寫,對待檢測的載密圖像依此掃描其像素值,取出其最低比特位得到載密序列。

2)估計圖像的嵌入率。STC 碼中校驗(yàn)矩陣的編碼參數(shù)與嵌入率有關(guān),對待檢測圖像的嵌入率進(jìn)行估計,結(jié)合誤差分析確定待提取的載密圖像可能的嵌入率范圍,初步確定隱寫密鑰的結(jié)構(gòu)。

3)構(gòu)造編碼參數(shù)表。編碼參數(shù)表是進(jìn)行隱寫密鑰識別和消息提取的重要基礎(chǔ)。對隱寫參數(shù)的取值范圍進(jìn)行估計,如子校驗(yàn)矩陣的高度、寬度以及可能的取值,將每種嵌入率及其對應(yīng)的所有子校驗(yàn)矩陣關(guān)聯(lián)組合起來,形成由子校驗(yàn)矩陣組成的編碼參數(shù)表。

4)搜索編碼參數(shù)表中的子校驗(yàn)矩陣并計算譯碼序列。在選取子校驗(yàn)矩陣時,按照從小到大的順序?qū)幋a參數(shù)表中的子校驗(yàn)矩陣依次進(jìn)行搜索。將子校驗(yàn)矩陣沿對角線依次排列,得到校驗(yàn)矩陣,利用校驗(yàn)矩陣和載密序列進(jìn)行譯碼,得到譯碼序列。

5)對譯碼序列進(jìn)行采樣獲得子序列。對譯碼序列的前8 比特,分別每間隔7 位取出來的比特組成一個子序列,可以得到8條子序列。

6)對譯碼子序列進(jìn)行正確性檢驗(yàn)。對于當(dāng)前得到的譯碼子序列進(jìn)行正確性檢驗(yàn)。對子序列中0、1 的字符數(shù)出現(xiàn)的情況進(jìn)行統(tǒng)計分析,判斷子校驗(yàn)矩陣正確與否。

7)返回正確的校驗(yàn)矩陣并計算譯碼序列。若對子序列的檢驗(yàn)過程未通過,則繼續(xù)對編碼參數(shù)表中的子校驗(yàn)矩陣進(jìn)行搜索。當(dāng)某一矩陣通過正確性檢驗(yàn)時,將該校驗(yàn)矩陣加入候選集合直至參數(shù)表搜索完畢。對候選集合中的校驗(yàn)矩陣執(zhí)行譯碼操作,并返回完整的嵌入消息。

3.2 獲取譯碼序列并進(jìn)行采樣分組

載體圖像的LSB 中的0、1 比特的統(tǒng)計特性近似于均勻分布,將明文秘密信息以自適應(yīng)隱寫方式嵌入之后會破壞這種平衡。STC 譯碼利用Hy=m計算出秘密信息,通過子校驗(yàn)矩陣結(jié)合載密序列可以得到對應(yīng)的譯碼序列。對譯碼序列分別從第i(i=1,2,…,8) 位每隔7 位進(jìn)行采樣,獲得8 條子序列,分別記作L1,L2,…,L8。若譯碼序列是正確的秘密信息,則8 條子序列分別對應(yīng)著明文秘密信息的各個比特位的信息。

3.3 譯碼序列正確性檢驗(yàn)方法

3.3.1 真隱寫密鑰對應(yīng)譯碼序列的統(tǒng)計特性

在計算機(jī)中,英文字符以字節(jié)形式存儲,漢字以雙字節(jié)形式存儲。根據(jù)對大量英文和中文字符的使用情況的統(tǒng)計,可以得到英文字母和中文漢字的出現(xiàn)頻率表。依據(jù)英文的二進(jìn)制表示,分別對不同比特位上0和1的出現(xiàn)概率進(jìn)行計算分析。文獻(xiàn)[15]對自然語言中英文的使用情況進(jìn)行統(tǒng)計,得到英文字符的使用情況,由此可以得到大文本中英語各個字母出現(xiàn)的頻率表,見表1。

表1 大文本中英文字符的相對頻率

根據(jù)英文字母的二進(jìn)制表示,由表1 中的數(shù)據(jù)可以分別計算出每個位平面對應(yīng)的0 的出現(xiàn)概率。位平面1 對應(yīng)最低比特位平面,位平面8 為最高比特位平面,各個比特位平面中“0”出現(xiàn)的概率分布見表2。

表2 各個位平面中“0”的概率

由表2 可知,各個位平面中0 和1 出現(xiàn)的概率不相同,最高比特位平面對應(yīng)比特0的概率為1,第6 比特位平面比特0 出現(xiàn)的概率為0。因此想到可以依據(jù)不同位平面的統(tǒng)計概率差異識別真?zhèn)坞[寫密鑰。

3.3.2 偽隱寫密鑰對應(yīng)譯碼序列的統(tǒng)計特性

當(dāng)子校驗(yàn)矩陣選擇正確時,提取的信息為嵌入的隱秘信息,當(dāng)子校驗(yàn)矩陣選擇錯誤時,提取的信息為隨機(jī)序列。經(jīng)過對偽隱寫密鑰對應(yīng)譯碼序列的實(shí)驗(yàn)結(jié)果分析,偽隱寫密鑰提取出的子序列中0、1概率的接近于相等。

3.3.3 根據(jù)統(tǒng)計特性進(jìn)行檢驗(yàn)

根據(jù)明文二進(jìn)制序列的特點(diǎn)進(jìn)行驗(yàn)證,如最高比特位序列L8,如果其中的比特“0”和“1”出現(xiàn)的頻率較高,出現(xiàn)的概率大于0.5 且接近1,則其可能為英文明文對應(yīng)的二進(jìn)制序列。進(jìn)而對其他子序列中的比特分布情況進(jìn)行統(tǒng)計。以最高比特位對應(yīng)的子序列為例,計算出子序列的各個比特出現(xiàn)的概率,來對譯碼序列進(jìn)行判斷。

則序列中比特“0”出現(xiàn)的概率為

通過對各個子序列中的比特進(jìn)行統(tǒng)計分析,來進(jìn)行判斷。由于中英明文序列對應(yīng)的比特0和1的分布具有一定的特征,因此若為正確密鑰對應(yīng)的譯碼序列,子序列也應(yīng)具有此特征。若為錯誤密鑰對應(yīng)的譯碼序列,子序列為無序序列,比特0和1的分布比較均勻,為0.5 左右。因此可以根據(jù)此特征判斷所得譯碼序列是否為明文嵌入下的秘密信息。

4 實(shí)驗(yàn)

4.1 實(shí)驗(yàn)設(shè)置

為驗(yàn)證本文提出方法的可行性,在如下環(huán)境中進(jìn)行實(shí)驗(yàn):Windows10 操作系統(tǒng)、CPU 為Intel i7、內(nèi)存為8GB;編程語言為C/C++,集成開發(fā)環(huán)境為Visual Studio2015。

本實(shí)驗(yàn)從BOSSbase_1.01 庫中隨機(jī)選取100 幅空域載體圖像,采用HUGO 隱寫算法進(jìn)行嵌入,嵌入信息為英文明文轉(zhuǎn)化的二進(jìn)制流,嵌入率為0.5bpp,生成載密圖像。對于載密圖像,依次掃描圖像的各個像素,提取出各個像素的最低比特位構(gòu)成載密序列。

4.2 隱寫密鑰的識別

對自適應(yīng)隱寫的隱寫密鑰恢復(fù)可看作是對載密圖像進(jìn)行編碼參數(shù)識別,具體來說是對子校驗(yàn)矩陣的識別。在編碼參數(shù)表中搜索子校驗(yàn)矩陣,由子校驗(yàn)矩陣組成校驗(yàn)矩陣,并利用校驗(yàn)矩陣和載密序列得到對應(yīng)的譯碼序列。對譯碼序列從開始第一個比特起,每隔7 位選取一比特,組成一個子序列。依次類推,可以組成8 條子序列。分別對8 條子序列中比特0和1的個數(shù)進(jìn)行統(tǒng)計。下面分兩種情況對子校驗(yàn)矩陣的識別情況進(jìn)行分析。

1)子校驗(yàn)矩陣選取錯誤

由上述子校驗(yàn)矩陣組成的校驗(yàn)矩陣和載密序列進(jìn)行譯碼操作后,對相應(yīng)的譯碼序列進(jìn)行采樣分組,并統(tǒng)計分析。子校驗(yàn)矩陣識別錯誤時,各子序列中出現(xiàn)比特“0”的概率結(jié)果見表3。

表3 錯誤子校驗(yàn)矩陣對應(yīng)子序列中比特0的概率分布

如表3 所示,當(dāng)選取的子校驗(yàn)矩陣的高度和寬度正確但取值不正確、子校驗(yàn)矩陣的高度錯誤、子校驗(yàn)矩陣錯誤時,獲得的譯碼子序列中比特“0”的概率為0.5 左右,可以看出錯誤的子校驗(yàn)矩陣對應(yīng)的譯碼序列中0 與1 的分布比較均勻,也證明了偽隱寫密鑰提取出的子序列是隨機(jī)的,比特0 和1 的概率接近0.5。

2)子校驗(yàn)矩陣選取正確

入時使用的正確的子校驗(yàn)矩陣。使用該子校驗(yàn)矩陣進(jìn)行譯碼過程,得到對應(yīng)的譯碼序列,對譯碼序列進(jìn)行采樣分組。各個比特位對應(yīng)的子序列統(tǒng)計比特“0”出現(xiàn)的概率,統(tǒng)計結(jié)果見表4。

表4 正確子校驗(yàn)矩陣對應(yīng)子序列中比特0的概率分布

如表4 所示,使用正確的子校驗(yàn)矩陣進(jìn)行譯碼計算,采樣分組后統(tǒng)計比特“0”出現(xiàn)的概率。不同于矩陣錯誤時比特“0”和“1”均勻分布,“0”出現(xiàn)的概率出現(xiàn)了明顯差異。子序列L8對應(yīng)明文信息的最高比特位,比特0 出現(xiàn)的概率為1。子序列L6對應(yīng)第6 比特位,比特0 出現(xiàn)的概率為0.0282 接近0。真隱寫密鑰對應(yīng)的譯碼序列子序列的分布與英文字符二進(jìn)制對應(yīng)的位平面分布一致。

由上可知,通過對不同的子校驗(yàn)矩陣所得的譯碼序列進(jìn)行分組統(tǒng)計,子序列中比特0 和1 的概率分布不同。對100 張載密圖像進(jìn)行譯碼后統(tǒng)計分析,正確的子校驗(yàn)矩陣=[109,71] 和錯誤的子校驗(yàn)矩陣=[101,77] 、=[1477,1599] 所得譯碼序列的各個比特位平面中比特“0”出現(xiàn)的概率如圖3所示。

圖3 譯碼序列中的各個子序列中“0”出現(xiàn)的概率

從圖中可以看出,正確的子校驗(yàn)矩陣下對應(yīng)的譯碼序列中0、1 比特的分布和自然語言中英文二進(jìn)制位平面的統(tǒng)計概率有相似的分布,因此可以通過對譯碼序列中0、1 比特的分布情況來判斷子校驗(yàn)矩陣的正確與否。

根據(jù)不同的子校驗(yàn)矩陣和載密序列所得譯碼序列的統(tǒng)計特性不同來對隱寫密鑰進(jìn)行篩選和識別。由于英文明文嵌入時,最高比特位都為0,因此可以利用最高比特位的特點(diǎn)來進(jìn)行篩選。與文獻(xiàn)[6]中基于游程檢驗(yàn)的方法進(jìn)行比較,兩種方法識別出的隱寫密鑰的個數(shù)和本文方法識別隱寫密鑰的正確率情況見表5。

表5 本文方法與文獻(xiàn)[6]識別出的隱寫密鑰個數(shù)比較

實(shí)驗(yàn)結(jié)果表明,當(dāng)嵌入的秘密信息為英文明文序列時,本文方法可以唯一識別出自適應(yīng)隱寫使用的隱寫密鑰?;谟纬虣z驗(yàn)的方法通過對譯碼序列的隨機(jī)性進(jìn)行判斷來識別子校驗(yàn)矩陣,一些錯誤的譯碼序列被識別為非隨機(jī)的,因此識別出多個隱寫密鑰。本文方法通過利用英文明文的統(tǒng)計特性進(jìn)行篩選,識別出唯一正確的子校驗(yàn)矩陣,提高了密鑰恢復(fù)的準(zhǔn)確率。在實(shí)驗(yàn)的效率方面,本文方法和基于游程檢驗(yàn)的方法都需要對子校驗(yàn)矩陣進(jìn)行搜索,搜索過程占據(jù)了較多時間。因此在識別的效率方面,兩種方法時間接近。在保持識別效率的基礎(chǔ)上,本文基于統(tǒng)計特性的隱寫密鑰恢復(fù)方法提高了識別的準(zhǔn)確率。

5 結(jié)語

針對明文嵌入條件下的載密圖像,本文提出了一種基于統(tǒng)計特性的隱寫密鑰恢復(fù)方法。該方法利用校驗(yàn)矩陣和載密序列通過STC 譯碼方程求出譯碼序列,對譯碼序列進(jìn)行采樣分組,基于明文信息的統(tǒng)計特性對子校驗(yàn)矩陣進(jìn)行識別。實(shí)驗(yàn)結(jié)果表明,該方法能夠盲識別出正確的隱寫密鑰,與現(xiàn)有的盲識別算法相比,縮小了求解出的密鑰空間的范圍,更加精確地對編碼參數(shù)進(jìn)行識別。下一步工作將繼續(xù)研究如何利用載密序列的特點(diǎn)縮小密鑰空間,提高搜索效率。

猜你喜歡
明文譯碼校驗(yàn)
基于校正搜索寬度的極化碼譯碼算法研究
爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
奇怪的處罰
從霍爾的編碼譯碼理論看彈幕的譯碼
新聞傳播(2016年3期)2016-07-12 12:55:27
奇怪的處罰
四部委明文反對垃圾焚燒低價競爭
LDPC 碼改進(jìn)高速譯碼算法
遙測遙控(2015年2期)2015-04-23 08:15:19
大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗(yàn)研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗(yàn)方法
台中县| 句容市| 镇坪县| 文水县| 华池县| 龙胜| 德钦县| 区。| 赤水市| 米易县| 贵溪市| 隆尧县| 清河县| 玉龙| 威宁| 宿迁市| 济源市| 新密市| 行唐县| 宜兰县| 大同县| 木里| 自贡市| 饶河县| 阿城市| 正定县| 屏东县| 玉林市| 嘉鱼县| 原平市| 南涧| 庆元县| 博客| 永兴县| 孝义市| 章丘市| 宁强县| 延吉市| 东海县| 海安县| 桦甸市|