本發(fā)明涉及一種基于搜索最佳密鑰的數(shù)字圖像隱寫方法。
背景技術(shù):
隱寫術(shù)是利用文本、聲音、圖像以及視頻等多媒體中的冗余和人類感官冗余,把信息隱藏在多媒體中,通過(guò)公共網(wǎng)絡(luò)傳送出去而實(shí)現(xiàn)了的隱蔽通信。隱寫術(shù)不但隱藏了通信的內(nèi)容,同時(shí)隱藏了通信的事實(shí)。由于網(wǎng)絡(luò)上圖像的大量存在以及圖像數(shù)據(jù)的冗余大、可嵌入秘密信息的容量也大等特點(diǎn),目前主流的隱寫術(shù)是以圖像為載體的。圖像隱寫算法的目的是把盡可能多的秘密信息嵌入圖像中,并不被隱寫分析者發(fā)現(xiàn),因此視覺(jué)不可感知性能、抗統(tǒng)計(jì)檢測(cè)性、隱藏容量是圖像隱寫系統(tǒng)最重要的性能。采用改進(jìn)嵌入算法,或者選擇適合的隱寫載體,或者對(duì)秘密信息進(jìn)行預(yù)處理等策略可以提高隱寫系統(tǒng)的性能。
實(shí)驗(yàn)可以驗(yàn)證秘密信息經(jīng)過(guò)des加密預(yù)處理的隱寫系統(tǒng),對(duì)于lsb類隱寫算法,評(píng)價(jià)隱寫系統(tǒng)抗統(tǒng)計(jì)檢測(cè)性和安全性的指標(biāo)直方圖失真與相對(duì)熵有較大提升;而對(duì)于dct變化域的隱寫算法、基于游程長(zhǎng)度隱寫算法、基于改進(jìn)的像素差與菱形編碼的隱寫算法情況是不確定的。經(jīng)過(guò)des加密的秘密信息嵌入到有的載體圖像中,隱寫系統(tǒng)的抗統(tǒng)計(jì)檢測(cè)性和安全性會(huì)提升,但嵌入到有的載體圖像的隱寫系統(tǒng)的抗統(tǒng)計(jì)檢測(cè)性和安全性反而會(huì)降低。這說(shuō)明了加密后的秘密信息是具有偽隨機(jī)特性的比特流,它對(duì)于有的隱寫系統(tǒng)來(lái)講能提高隱寫系統(tǒng)的抗統(tǒng)計(jì)檢測(cè)性和安全性,但對(duì)于另外的隱寫系統(tǒng)來(lái)說(shuō)反而會(huì)降低隱寫系統(tǒng)的抗統(tǒng)計(jì)檢測(cè)性,因此它不是最佳分布的比特流,也就是說(shuō)我們無(wú)法單獨(dú)判斷一個(gè)比特流分布是否優(yōu)劣。這種不確定其實(shí)也蘊(yùn)含了提高隱寫系統(tǒng)抗統(tǒng)計(jì)檢測(cè)性的潛在的可能性,對(duì)于秘密信息加密預(yù)處理并沒(méi)有給系統(tǒng)帶來(lái)性能上增益,那么具有其它隨機(jī)特征分布比特流可能會(huì)使隱寫系統(tǒng)的抗統(tǒng)計(jì)檢測(cè)性有所提高,這就必須綜合考慮到隱寫系統(tǒng)的另外兩個(gè)因素:隱寫算法與載體圖像,提高性能的根本在于秘密信息是否充分發(fā)揮隱寫算法的優(yōu)勢(shì),達(dá)到與載體圖像無(wú)縫融合或近似于無(wú)縫融合的最佳匹配關(guān)系,而達(dá)到這種最佳匹配關(guān)系可以通過(guò)對(duì)秘密信息進(jìn)行適合的預(yù)處理。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)上述現(xiàn)有技術(shù)提供一種基于搜索最佳密鑰數(shù)字圖像隱寫方法,該方法能優(yōu)化隱寫系統(tǒng)的性能。
本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為:一種基于搜索最佳密鑰的數(shù)字圖像隱寫方法,將原始秘密信息進(jìn)行加密,然后將加密后的密文信息通過(guò)隱寫算法嵌入到載體圖像中,形成最終的隱寫圖像,其特征在于:所述原始秘密信息通過(guò)如下步驟進(jìn)行加密:
步驟(1)、原始秘密信息分組:把原始秘密信息進(jìn)行編碼轉(zhuǎn)化成長(zhǎng)度為n的比特流,用a=(e1,e2,…,en)表示,其中ei∈{0,1},i=1,2,…,n,然后把長(zhǎng)度為n的比特流分成長(zhǎng)度為l的k組,其中k=n/l,分組以后的比特流a=(a1,a2,…,ak),其中第m組秘密信息為am=(el(m-1)+1,el(m-1)+2,…,el(m-1)+l),m=1,2,…,k;
步驟(2)、生成2l個(gè)長(zhǎng)度為l的密鑰:分別把0,1,…,2l-1共2l個(gè)數(shù)轉(zhuǎn)化成長(zhǎng)度為l的二進(jìn)制數(shù)作為2l個(gè)密鑰,其中第x個(gè)密鑰用keyx=(ex1,ex2,…,exl)表示,其中exh∈{0,1},x=1,2,…,2l,h=1,2,…,l;
步驟(3)、對(duì)原始秘密信息加密:將原始秘密信息中的全部k組秘密信息分別用步驟(2)生成的2l個(gè)長(zhǎng)度為l的密鑰中一個(gè)密鑰進(jìn)行異或加密,產(chǎn)生原始秘密信息的一個(gè)版本的密文信息;采用同樣方法,利用其余的2l-1個(gè)密鑰分別對(duì)原始秘密信息中的全部k組秘密信息進(jìn)行異或加密,得到原始秘密信息的其余2l-1個(gè)版本的密文信息;
步驟(4)、將步驟(3)得到的2l個(gè)版本的密文信息分別嵌入到預(yù)先給出的測(cè)試載體圖像中,分別得到2l個(gè)版本的測(cè)試隱寫圖像,然后根據(jù)測(cè)試載體圖像來(lái)評(píng)估2l個(gè)版本的測(cè)試隱寫圖像的隱寫性能,得到隱寫性能最佳時(shí)原始秘密信息所使用的密鑰,將該密鑰作為原始秘密信息的最佳密鑰;
步驟(5)、將原始秘密信息與步驟(4)得到的最佳密鑰進(jìn)行異或加密,得到原始秘密信息的密文信息;
步驟(6)、將步驟(5)得到的密文信息作為最終進(jìn)行隱寫的密文信息。
作為改進(jìn),所述步驟(4)中秘密信息的最佳密鑰通過(guò)如下方式獲得:
步驟(4-1)、設(shè)置三個(gè)參數(shù):測(cè)試密鑰的編號(hào)j,最佳隱寫性能指標(biāo)ξ最佳和取得最佳隱寫性能參數(shù)對(duì)應(yīng)密鑰的編號(hào)j最佳;將j和j最佳的初始值均設(shè)為1,最佳隱寫性能指標(biāo)ξ最佳的值根據(jù)測(cè)試隱寫性能指標(biāo)需要預(yù)先設(shè)定;
步驟(4-2)、將原始秘密信息采用第j個(gè)密鑰進(jìn)行異或加密,得到第j版本的密文信息;
步驟(4-3)、將第j版本的密文信息嵌入到預(yù)先選擇的測(cè)試載體圖像中,得到第j版本的測(cè)試隱寫圖像;
步驟(4-4)、通過(guò)第j版本的測(cè)試隱寫圖像與測(cè)試載體圖像的比較,得到第j版本的測(cè)試隱寫圖像的評(píng)測(cè)隱寫性能指標(biāo)ξj,判斷ξj是否優(yōu)于步驟(4-1)中設(shè)定的最佳隱寫性能指標(biāo)ξ最佳;若ξj優(yōu)于ξ最佳,則將ξj賦值給ξ最佳,并將j賦值給j最佳;否則保持現(xiàn)有的ξ最佳和j最佳不變;
步驟(4-5)、判斷j是否小于2l,如是,執(zhí)行(4-6),如不是,則輸出j最佳后結(jié)束;
步驟(4-6)、將j的值加1,重復(fù)執(zhí)行步驟(4-2)至步驟(4-5)。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:在用于圖像隱寫的密文信息生成方法中通過(guò)搜索秘密信息的最佳密鑰,這種方法具有較好的普適性,適用于每種隱寫算法,經(jīng)過(guò)搜索秘密信息的最佳密鑰后能提高隱寫性能,另外解密的計(jì)算復(fù)雜度較低,也適用于移動(dòng)通信終端。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中基于搜索最佳密鑰的數(shù)字圖像隱寫方法結(jié)構(gòu)示意圖;
圖2為圖1系統(tǒng)中搜索秘密信息中的最佳密鑰的流程示意圖。
具體實(shí)施方式
以下結(jié)合附圖實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
本發(fā)明的基于搜索最佳密鑰的數(shù)字圖像隱寫方法,將原始秘密信息進(jìn)行加密,然后將加密后的密文信息通過(guò)隱寫算法嵌入到載體圖像中,形成最終的隱寫圖像,其特征在于:所述原始秘密信息通過(guò)如下步驟進(jìn)行加密:
步驟(1)、原始秘密信息分組:把原始秘密信息進(jìn)行編碼轉(zhuǎn)化成長(zhǎng)度為n的比特流,用a=(e1,e2,…,en)表示,其中ei∈{0,1},i=1,2,…,n,然后把長(zhǎng)度為n的比特流分成長(zhǎng)度為l的k組,其中k=n/l,分組以后的比特流a=(a1,a2,…,ak),其中第m組秘密信息為am=(el(m-1)+1,el(m-1)+2,…,el(m-1)+l),m=1,2,…,k;
步驟(2)、生成2l個(gè)長(zhǎng)度為l的密鑰:分別把0,1,…,2l-1共2l個(gè)數(shù)轉(zhuǎn)化成長(zhǎng)度為l的二進(jìn)制數(shù)作為2l個(gè)密鑰,其中第x個(gè)密鑰用keyx=(ex1,ex2,…,exl)表示,其中exh∈{0,1},x=1,2,…,2l,h=1,2,…,l;
步驟(3)、對(duì)原始秘密信息加密:將原始秘密信息中的全部k組秘密信息分別用步驟(2)生成的2l個(gè)長(zhǎng)度為l的密鑰中一個(gè)密鑰進(jìn)行異或加密,產(chǎn)生原始秘密信息的一個(gè)版本的密文信息;采用同樣方法,利用其余的2l-1個(gè)密鑰分別對(duì)原始秘密信息中的全部k組秘密信息進(jìn)行異或加密,得到原始秘密信息的其余2l-1個(gè)版本的密文信息;
步驟(4)、將步驟(3)得到的2l個(gè)版本的密文信息分別嵌入到預(yù)先選擇的測(cè)試載體圖像中,分別得到2l個(gè)版本的測(cè)試隱寫圖像,然后根據(jù)載體圖像與2l個(gè)版本的測(cè)試隱寫圖像來(lái)評(píng)價(jià)相應(yīng)的隱寫性能,得到隱寫性能最佳時(shí)原始秘密信息所使用的密鑰,將該密鑰作為原始秘密信息的最佳密鑰;
步驟(5)、將原始秘密信息與步驟(4)得到的最佳密鑰進(jìn)行異或加密,得到原始秘密信息的密文信息;
步驟(6)、將步驟(5)得到的密文信息作為最終進(jìn)行隱寫嵌入的密文信息。
作為改進(jìn),所述步驟(4)中秘密信息的最佳密鑰通過(guò)如下方式獲得:
步驟(4-1)、設(shè)置三個(gè)參數(shù):測(cè)試密鑰的編號(hào)j,最佳隱寫性能指標(biāo)ξ最佳和取得最佳隱寫性能參數(shù)對(duì)應(yīng)密鑰的編號(hào)j最佳;將j和j最佳的初始值均設(shè)為1,最佳隱寫性能指標(biāo)ξ最佳的值根據(jù)測(cè)試隱寫性能指標(biāo)需要預(yù)先設(shè)定;
步驟(4-2)、將原始秘密信息采用第j個(gè)密鑰進(jìn)行異或加密,得到第j版本的密文信息;
步驟(4-3)、將第j版本的密文信息嵌入到預(yù)先給出的測(cè)試載體圖像中,得到第j版本的測(cè)試隱寫圖像;
步驟(4-4)、通過(guò)第j版本的測(cè)試隱寫圖像與測(cè)試載體圖像的比較,得到第j版本的測(cè)試隱寫圖像的評(píng)測(cè)隱寫性能指標(biāo)ξj,判斷ξj是否優(yōu)于步驟(4-1)中設(shè)定的最佳隱寫性能參數(shù)值ξ最佳;若ξj優(yōu)于ξ最佳,則將ξj賦值給ξ最佳,并將j賦值給j最佳;否則保持現(xiàn)有的ξ最佳和j最佳不變;
步驟(4-5)、判斷j是否小于2l,如是,執(zhí)行(4-6),如不是,則輸出j最佳后結(jié)束;
步驟(4-6)、將j的值加1,重復(fù)執(zhí)行步驟(4-2)至步驟(4-5)。
步驟(4-4)中的評(píng)測(cè)隱寫性能指標(biāo)ξj的參數(shù)有很多,如秘密信息嵌入量,載體圖像與隱寫圖像的直方圖失真;當(dāng)秘密信息嵌入量越多時(shí),而載體圖像與隱寫圖像的直方圖失真越小時(shí),隱寫性能越優(yōu);嵌入秘密信息后的隱寫圖像不容易被檢測(cè)出時(shí),隱寫性能越佳,可以通過(guò)比較評(píng)測(cè)隱寫性能指標(biāo)ξj中的參數(shù)判斷是否優(yōu)于設(shè)定的最佳隱寫性能參數(shù)值。