版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、信息隱藏原理及應(yīng)用信息隱藏原理及應(yīng)用第第5 5章章 信息隱藏算法信息隱藏算法 本章目標本章目標在讀完本章之后,你應(yīng)該能夠:在讀完本章之后,你應(yīng)該能夠:了解信息隱藏算法的分類方式和分類依據(jù)了解信息隱藏算法的分類方式和分類依據(jù);理解位平面算法理解位平面算法;理解調(diào)色板算法理解調(diào)色板算法;理解空域算法理解空域算法;理解頻域算法理解頻域算法;理解小波變換算法理解小波變換算法;了解統(tǒng)計方法和圖像融合算法了解統(tǒng)計方法和圖像融合算法。5.1 信息隱藏算法概述 在設(shè)計具體的數(shù)據(jù)嵌入算法時,一般要考慮嵌入位置、嵌入數(shù)據(jù)量、嵌入方法、嵌入強度等要素,所以信息隱藏技術(shù)的算法一般分為替代算法、信號處理算法、編碼算法、
2、統(tǒng)計算法和偽裝。在替代算法中一般包括位平面算法(bit plane methods)和基于調(diào)色板的算法(palette-based methods);信號處理算法中包括變換算法(transform methods)和擴頻技術(shù)(spread spectrum techniques);編碼算法中包括量化(quantizing)、抖動(dithering)和差錯控制編碼(error correcting codes);統(tǒng)計法是使用假設(shè)與驗證統(tǒng)計方法(hypothesis testing);偽裝產(chǎn)生方法是用分形技術(shù)(fractals)。 在目前研究的信息隱藏算法中,主要集中于空域和變換算法。空域替代方
3、法直接用秘密信息替代載體中的冗余部分。變換域可以分為DFT域、DCT域和Wavelet域,本章將詳細討論各種典型算法的原理,并給出相應(yīng)的實驗。5.2 位平面算法n位平面算法是最早研究的一種算法,之所以研究位平面算法,因為針對于壓縮攻擊以及統(tǒng)計分析等,必須結(jié)合JPEG等的核心算法,而JPEG 2000的核心編碼算法是分數(shù)位平面算法。在JPEG 2000中,由Davod S. Taubman提出的具有最優(yōu)化截斷點的嵌入式塊編碼(embedded block coding with optimized truncation,EBCOT) 算法實現(xiàn)中使用了位平面編碼(BPC),建立的算法利用在位平面內(nèi)
4、或位平面間的對稱和冗余,以便維護統(tǒng)計最小化,并且使BAC產(chǎn)生的可能編碼比特流最小化。每個位平面的EBCOT有三個過程,在這些過程中的每一個過程中位平面部分的編碼與其他兩個過程都沒有相互重疊。這就是位平面編碼也稱為分數(shù)(fractional)位平面編碼的原因。在分數(shù)位平面的編碼階段中,將每個編編碼塊分解成一定數(shù)量的位平面。如果子帶的精確度是P位,那么在子帶中的每個編碼塊被分解成P個位平面。位平面編碼(bit-plane coding,BPC)應(yīng)用于每個編碼塊的每個位平面上來產(chǎn)生以上下文形式的中間數(shù)據(jù)和二進制判定值。ZnSnXnYn)/1log(2/1NPC每個位平面的EBCOT有三個過程,三個過
5、程執(zhí)行的次序如下所述。n(1)重要性傳播過程(SPP):在這個過程中,對位置的幅度值為1的位在第一時間進行編碼,即相應(yīng)采樣系數(shù)的最重要位。n(2)幅度精練過程(MRP):在SPP中位的位置未被編碼,而在前一個位平面(即當(dāng)前位不是相應(yīng)采樣系數(shù)的最重要位)的幅度值是1,在這個過程中進行編碼。n(3)清理過程(CUP):位置在上述兩個過程中都沒有被編碼,那么將在這一過程中進行編碼。這個過程也結(jié)合游程編碼的形式,這將有助于零串的編碼。5.2.1位平面算法概述本小節(jié)中并不詳細討論位平面算法的具體編碼方式,而是討論這種算本小節(jié)中并不詳細討論位平面算法的具體編碼方式,而是討論這種算法在信息隱藏中的原理及實現(xiàn)
6、。法在信息隱藏中的原理及實現(xiàn)。因為位平面算法屬于替代算法中的一類,所以位平面信息隱藏算法的因為位平面算法屬于替代算法中的一類,所以位平面信息隱藏算法的處理方式一般分為如下幾種:處理方式一般分為如下幾種:(1)用秘密信息位代替圖像的最低有效位。)用秘密信息位代替圖像的最低有效位。(2)用秘密信息位代替圖像的最低)用秘密信息位代替圖像的最低3位或位或4位。位。(3)將秘密信息隱藏在圖像的噪聲中。)將秘密信息隱藏在圖像的噪聲中。位平面方法能隱藏大量的秘密信息,但是這種方法對于一些針對圖像位平面方法能隱藏大量的秘密信息,但是這種方法對于一些針對圖像處理的攻擊而言,是很脆弱的。圖處理的攻擊而言,是很脆弱
7、的。圖5.1是位平面的示意圖。是位平面的示意圖。圖圖5.1 5.1 位平面示意圖位平面示意圖5.2.2 位平面算法實現(xiàn)n基于位平面示意圖可知,G圖像的每個像素占用8bit,將每個像素的特定比特位抽取出來,形成8個二值位平面圖像,這種位平面分解可表示為:n自然圖像的高位位平面很重要,圖像的感知均在高位,而低位位平面主要是圖像的噪聲。所以像前面所述,一般可以替代最低有效位或者最多不超過替代最低的4位以內(nèi)。n例子:以圖像lena.bmp為例,首先對圖像進行位平面分解。n其源Matlab編碼如下:function g(action, varargin)clear;f=lena.bmp ;dim=128
8、;n=fopen(f,r);img=fread(n,dim,dim);mask=8; %mask的值圍是18a=bitshift(img,-1);b=bitxor(img,a);nimg=bitget(b,mask);imagesc(nimg),colormap(gray) ), (2), (2), (2), (2), (2), (2), (2), (), (011223344556677yxByxByxByxByxByxByxByxByxG實驗結(jié)果如圖5-2所示。 圖5.2 最高位平面到最低位平面n由實驗結(jié)果可知,最高位平面代表了圖像,而最低位平面一般是圖像的冗余部分。一幅圖像由表示像素的亮
9、度值的矩陣組成,對于256256的灰度圖像,可以將圖像分解成8個二值圖像來表示8個位平面。n在圖5.2的位平面分解圖中,原始的自然圖像都有相似的特征:高位位平面的輪廓特征強于低位位平面;并且隨機性從高位到低位逐漸增強;另外最低位包含最少的圖像信息,像素間的相關(guān)性是隨機的,因而可用于圖像信息的隱藏。n在位平面中最簡單的嵌入是以確定的順序直接嵌入到載體的數(shù)據(jù)位最低位里。但這樣,就使得嵌入的數(shù)據(jù)位比較有規(guī)律地遵循著嵌入信息的分布規(guī)律,從而明顯地改變了像素的統(tǒng)計規(guī)律,為檢測提供較多統(tǒng)計信息。n為克服這一缺點可先以偽隨機噪聲序列將信息在嵌入前或嵌入的過程中進行處理。這樣,信息就以偽隨機噪聲的形式存在于圖
10、像中,大大提高了檢測的難度。這種方法嵌入簡單,隱藏容量大,具有很好的不可感知性,然而對于魯棒性以及抗干擾能力和其他一些安全問題比較大;對于任何形式的濾波以及處理相當(dāng)敏感,比例的變化,旋轉(zhuǎn)、剪切、噪聲以及有損壓縮都能夠損壞隱藏圖像;并且,攻擊者可以通過簡單地移除隱藏信息的位平面來徹底破壞信息。n那么最高的方式就是可以用隨機性使低位的分布近似為高斯分布,為什么需要使用高斯分布呢,Cox等人提出高斯分布的隨機序列具有更高的穩(wěn)健性,可以更好地針對各類隱寫分析和進攻。n隨著位數(shù)的增高,分布趨向于平坦,零點值逐漸增大,位平面內(nèi)的相關(guān)性逐漸增強。直方圖可以很好地反映同一位平面間的像素的相關(guān)性,若像素的分布是
11、隨機的,直方圖的分布會比較好地符合正態(tài)分布。位平面間的紋理的相似性表明在位平面中間存在著或多或少的相關(guān)性,眾所周知,圖像的最低位平面的分布是近似隨機的,其與高位的相關(guān)性比較小,因而,將秘密信息預(yù)處理為隨機序列。假設(shè)最低有效位隨機信息的隱藏長度為L,因為隨著位平面的降低,位平面的冗余度逐漸增加,故用于隱藏的位數(shù)呈逐漸遞減趨勢。5.2.3 嵌入算法步驟和程序位平面信息隱藏算法的具體操作步驟如下:n(1)首先用上述例子中的代碼將圖像分成8個位平面。n(2)將秘密信息預(yù)處理為偽隨機序列,將秘密信息隨機嵌入到最低和次低位平面中。在這一步中使用第3章中的預(yù)處理來生成相應(yīng)偽隨機序列,然后與圖像中的每個字節(jié)的
12、高7位異或,將結(jié)果寫入最低位。圖圖5.3 算法嵌入過程算法嵌入過程5.2.4 實驗和實驗結(jié)果分析n下面是我們進行的實驗結(jié)果的原始圖像與嵌入秘密信息的圖像,如圖5.4所示,嵌入的秘密信息如圖5.5所示。圖圖5.4 原始圖像與嵌入秘密信息的圖像原始圖像與嵌入秘密信息的圖像圖圖5.5 嵌入的秘密信息嵌入的秘密信息嵌入算法實現(xiàn)的程序代碼:ntypedef struct tagBitMapFileHeader n nbyte bfType2; nbyte bfSize4; nbyte bfReserved12; nbyte bfReserved22; nbyte bfOffBits4; n nint g
13、etValue(byte*A,int num)nnint result = 0;nfor(int i = num-1;i0;i-)nnresult+=Ai;nresult = result8;nnresult+=A0;nreturn result;nnvoid hideInFo()nnFILE* fp;nchar dataMAX;nchar pathMAX;nBitOperate operate;nstring path1 = 請輸入圖片路徑(如:d:mypictureparrots.bmp);ncout path1 endl;nchar temp3100;ncin.getline(temp3
14、, 100, n);ncin.getline(path, sizeof(path), n); if(fp = fopen(path, r+)=NULL)nncout打開文件的時候出現(xiàn)錯誤!bfSize,4);nint databegin = getValue(map-bfOffBits,4);nif(datalength*8)(maplength-databegin)nnprintf(隱藏信息超過圖片大小n);nreturn; nnbyte temp32;nfseek(fp,databegin,SEEK_SET);nfread(temp,sizeof(char)*32,1,fp);nint c
15、opy = datalength;nfor(int i = 31;i=0;i-)nnbool v = (bool)(copy%2);ntempi = operate.bitSet(tempi,1,v);ncopy = copy/2;nnfseek(fp,databegin,SEEK_SET);nfwrite(temp,sizeof(byte)*32,1,fp);nint times = 0;nbyte ch8;nwhile(times=0;i-)nchi = operate.bitSet(chi,1,operate.bitAt(datatimes,8-i);nfseek(fp,databegi
16、n+32+times*8,SEEK_SET);nfwrite(ch,sizeof(byte),8,fp);ntimes+;nnfclose(fp);ncout 信息隱藏成功! endl;nn另外,在對信息隱藏算法進行度量時,經(jīng)常用峰值信噪比和均方差,下面給出這兩個參數(shù)的定義以及Matlab實現(xiàn)。n(1)均方差(mean square error,MSE)定義如下:大小為MN的256色灰度圖像 和參考圖像 ,則圖像相對于的MSE為:Matlab源程序如下:function mse = MSE(Img1,Img0)%計算圖像Img1對Img0的MSE值%輸入?yún)?shù)% Img1:給定圖像Img1% I
17、mg0:參考圖像Img0%圖像大小必須一樣%輸出參數(shù)mse:圖像MSE值N3=size(Img1);tmp=minus(uint8(Img1),uint8(Img0);tmp=tmp.*tmp;mse=sum(sum(tmp)/(N3(1)*N3(2),(jiff0f),(0jifMNjifjifMSEMiNj1120),(),(n(2)均方根誤差(RMSE)定義為MSE的平方根,從而峰值信噪比(peak signal to noise ratio, PSNR)定義如下:大小為MN的256色灰度圖像 f(i,j)和參考圖像 ,則圖像 f 相對于 的PSNR為:n在256色灰度圖像計算中 通常用
18、255代替,那么nMatlab源程序主要代碼如下:nfunction psnr = PSNR(Img1,Img0)n%計算圖像Img1對Img0的PSNR值n%輸入?yún)?shù)n% Img1:給定圖像Img1n% Img0:參考圖像Img0n%圖像大小必須一樣n%輸出參數(shù)n% psnr:PSNR值nN3=size(Img1);ntmp=minus(uint8(Img1),uint8(Img0);ntmp=tmp.*tmp;nMSE=sum(sum(tmp)/(N3(1)*N3(2);nif (MSE = 0)n psnr=10*log10(65025/MSE);nelsen psnr =10000;%
19、標記為無窮大nend),(0jif0fMiNjojifjifMNfffPSNR11220),(),()(maxlg10),()max( fMiNjjifjifMNffPSNR112020),(),(255lg10),(圖像之間越相似,RMSE越小,PSNR就越大。使用該方法比較直觀,秘密信息的嵌入符合從高位到低位的變換趨勢,并且符合高斯分布,從實驗結(jié)果可知,很難檢測出秘密信息的存在。對原圖像和嵌入秘密信息的圖像的直方圖的分析如圖5.6所示: 圖5.6 原圖直方圖與嵌入秘密圖像后的直方圖n實驗結(jié)果及分析:n在實驗中,采用512512的parrots圖像為載體圖像。嵌入圖像為256灰度級的arno
20、ld人臉圖像。為增強可靠性,首先對arnold圖像進行了預(yù)處理,采用如下方法:n(1)直接嵌入和加密置亂后嵌入。n(2)采用偽隨機方式在不同的位置嵌入秘密信息。在最低位平面隨機嵌入數(shù)據(jù),在最低的位平面和第二個最低位平面嵌入數(shù)據(jù)。n(3)通過直方圖可知,圖像變化很小,不易察覺和檢測到嵌入的秘密信息,實現(xiàn)了信息隱藏。5.3 調(diào)色板算法n在實際應(yīng)用中,由于調(diào)色板圖像占用空間少,廣泛應(yīng)用于網(wǎng)頁、廣告、彩信和圖像處理等網(wǎng)絡(luò)應(yīng)用中,所以研究調(diào)色板算法具有現(xiàn)實和理論意義。調(diào)色板圖像是指圖像文件中包含調(diào)色板信息和圖像索引信息,并能調(diào)用調(diào)色板中的顏色來顯示圖像。在索引圖像中實現(xiàn)隱寫有一定的難度,因為圖像本身所使
21、用的顏色數(shù)目有限,調(diào)色板的排列順序不影響圖像,但影響索引。索引圖像包括一個數(shù)據(jù)矩陣X,一個顏色映像矩陣Map。其中Map是一個包含3列和若干行的數(shù)據(jù)陣列。Map矩陣的每一行分別表示紅色、綠色和藍色的顏色值。索引色從像素值直接映射成顏色映射表,像素顏色由數(shù)據(jù)矩陣X作為索引指向矩陣Map進行索引。顏色映射表通常與索引圖像存儲在一起。5.3.1 調(diào)色板算法原理n首先分析調(diào)色板的原理。不論是GIF格式和調(diào)色板BMP圖像,都包含全局調(diào)色板數(shù)據(jù)塊,它是以RGB方式描述全局調(diào)色板。還包含局部調(diào)色板數(shù)據(jù),它也是以RGB方式描述應(yīng)用于局部某一幀的局部調(diào)色板。n調(diào)色板結(jié)構(gòu)數(shù)組包含顏色三分量RGB和標志字段,調(diào)色板
22、的工作原理圖如圖5.7所示。圖圖5.7 調(diào)色板工作原理調(diào)色板工作原理n在調(diào)色板形成的RGB空間,RGB色彩空間是一個不均勻的空間。均勻的色彩空間中兩個顏色點間的歐幾里得(Euclidean)顏色距離對應(yīng)于人類視覺系統(tǒng)存在感知差異。另一方面,在不均勻的色彩空間中,在一部分色彩空間距離為d的兩種不同顏色表現(xiàn)的感知差異與其他部分是不同的,在成像應(yīng)用中,視覺均勻的色彩空間是很重要性的。根據(jù)人類視覺生理知識可知,不均勻的RGB空間需要映射為新的視覺均勻的空間。計算公式如下:n在這個空間中,各樣本之間不是簡單的線性關(guān)系,假設(shè)樣本為 ,那么 和 間的相似度測量應(yīng)為: ,這里D為最大的歐幾里得顏色距離, 是
23、和 之間的歐幾里得顏色距離。為了保證圖像的保真度, 應(yīng)該滿足: 。BGRBbBGRGgBGRRr,25621,.,xxxixjxDDMijijijDixjxijM1 ,0,ijMix5.3.2 調(diào)色板信息隱藏算法實現(xiàn)n基于調(diào)色板處理算法就意味著改變代表圖像顏色的彩色或灰度調(diào)色板;基于調(diào)色板的算法中都利用了調(diào)色板的數(shù)據(jù),都使調(diào)色板數(shù)據(jù)發(fā)生了變化,通過分析調(diào)色板原理可知,對調(diào)色板數(shù)據(jù)的任何操作都會影響隱藏的秘密信息。n針對調(diào)色板算法使用時都產(chǎn)生像素移位現(xiàn)象,這種現(xiàn)象可能引起對隱藏數(shù)據(jù)的懷疑。為了避免上述問題,本小節(jié)針對最低有效位的調(diào)色板方法進行了改進。對于最低有效位法的調(diào)色板方法,許多工具都在使用
24、LSB算法,但是這種算法魯棒性很差,只需用簡單的覆蓋方法就能改變秘密信息。并且,基于調(diào)色板的方法具有patterns時,可以被分析。在本實驗中,使用調(diào)色板類型圖像,在這種格式圖像中隱藏秘密信息,可以將秘密信息嵌入到調(diào)色板本身的色彩中,也可以利用調(diào)色板中排列的次序來表示,這兩種方法嵌入秘密信息的容量受到了限制,所以目前針對這種算法,均是將秘密信息直接嵌入到每個像素的顏色值中。先減少調(diào)色板中顏色的個數(shù),然后產(chǎn)生新的顏色,產(chǎn)生的顏色總數(shù)小于調(diào)色板顏色數(shù)目的上限256色。根據(jù)嵌入秘密信息的容量,來隨機地減少調(diào)色板中顏色的個數(shù)。n具體思路如下:n為了不引起懷疑,可以使用灰度級來克服顏色改變的問題,假定為
25、彩色或8位圖像,256種不同顏色的順序號為0255。為了嵌入信息,可以使用S-Tools將顏色從256減少到32,并使用最低有效位(LSB)來隱藏秘密信息。在本算法中,在嵌入秘密信息前后,在視覺上沒有太大改變,但是實際上位表示已經(jīng)發(fā)生了變化。假定顏色 表示為10110010顏色, 表示為10110011,當(dāng)根據(jù)像素顏色對的亮度進行分組時,人眼能分辨的顏色為 。如圖5-8和5.9所示,parrots是原始圖像,hidden是隱藏了秘密信息的圖像。分析兩者的調(diào)色板n下面我們描述具體匹配顏色查找算法的實現(xiàn)過程:n(1)使用調(diào)色板的圖像顏色量化實現(xiàn)過程;n(2)遍歷整個調(diào)色板,查找最接近的顏色匹配;n(3)計算源顏色與調(diào)色板顏色之間的差;n(4)如果各種顏色比目前找到的所有顏色都接近源顏色,則使用該顏色;n(5)如果是完全匹配的顏色,則跳出循環(huán)。iC1iCBGRL114. 05
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《知識產(chǎn)權(quán)培訓(xùn)》課件
- 《種釀酒白葡萄》課件
- 《診斷原則》課件
- 單位管理制度集合大全【人員管理】
- 單位管理制度合并選集員工管理篇
- 單位管理制度分享合集【員工管理篇】十篇
- 單位管理制度分享大合集【員工管理篇】
- 單位管理制度范例匯編【員工管理】十篇
- 七年級英語SpringFestival課件
- 單位管理制度呈現(xiàn)大全【員工管理篇】
- 二氧化碳充裝流程
- 12m跨鋼棧橋設(shè)計計算
- 電路板類英語詞匯
- 美國Control4智能家居設(shè)計方案解說資料
- DES算法Matlab代碼
- 沙特的礦產(chǎn)資源開發(fā)概況及其商機
- 高一生物必修一期末試題(附答案)
- 安全事故應(yīng)急響應(yīng)程序流程圖(共1頁)
- 三年級_上冊牛津英語期末試卷
- 損傷容限設(shè)計基本概念原理和方法PPT課件
- 水壓式沼氣池設(shè)計
評論
0/150
提交評論