版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
XXXVI之間。2)將數據按步驟1灰度圖像的大小進行截取。3)用reshape函數將其轉化為步驟1同等的矩陣,然后分別與彩色圖像的分解圖像對應進行融合。合并三幅圖像rgb(:,:,1)=r;rgb(:,:,2)=g;rgb(:,:,3)=b;%rgb為隱藏聲音文件后的RGB圖像這時我們得到的彩色圖像b就是隱藏有機密信息的彩色圖像a。當對方接收到圖像b后同樣也要先將b分成紅、綠、藍三幅圖,然后再從其中將機密信息提取出來。第四章傳統(tǒng)LSB圖像信息隱藏算法實現與解析4.1MATLAB環(huán)境簡介在對LSB算法進行實現時,可采用MATLAB這一工具,它是目前應用最廣的科學與工程計算軟件。因為它簡單易學,功能強大。MATLAB由基本部分和功能各異的工具箱組成[16]?;静糠质荕ATLAB的核心,工具箱是擴展部分。工具箱實際上是用MATLAB的基本語句編程的各種子程序集,用于解決某一方面的專門或實現某一類的新算法。MATLAB的工具箱可以任意增減,不同的工具箱給不同領域的用戶提供了豐富強大的功能。由于MATLAB強大的功能,使用MATLAB實現LSB算法時只需要幾個函數和十幾行語句就能實現,而使用其它程序語言則需要上百行語句。所以本實驗所采用的環(huán)境即為MATLAB。4.2LSB信息隱藏算法原理4.2.1位平面和最低有效位由前面的介紹我們得知一幅數字圖像可以用一個二維矩陣來表示,矩陣的各個元素代表一個像素的色彩信息,矩陣中的元素數值可以是雙精度、無符號8位整型(unit8)等,而在信息隱藏中常用到的是unit8。同時根據圖像采用的顏色數,可以將圖像分為2位、8位和24位圖,并將圖像中每個像素點顏色值的某一位共同構成的一個新的二值圖像稱為該圖像的一個位平面圖像。一般定義從圖像的第0個位平面到第7個位平面依次為最不重要位平面到最重要位平面,相應的位被稱為最低有效位LSB(LeastSignificantbits)和最高有效位MSB(MostSignificantbits)。在信息嵌入時,修改不同的位對圖像的影響不同,圖4.1給出的是依次將標準Lena圖中每個像素各分量的第7到0位清0后的圖像,它們分別是第0到7個位平面,反映了每個位平面對圖像的影響。從圖中我們可以很容易得出MSB對圖像的影響最大,也就是說所含原始圖像的信息特征最多,若修改MSB(第七個平面),圖像的色彩肯定會被完全破壞。而第0、1和2三個位平面的改變對圖像的影響小,且位平面越低,對圖像的影響越小。LSB算法正是利用這一特性,在圖像的低位面隱藏秘密信息。(a)原圖(b)第0位(c)第1位(d)第2位(e)第3位(f)第4位(g)第5位(h)第6位(i)第7位圖4.1原圖及各位位圖4.2.2LSB算法原理描述LSB算法是數字圖像信息隱藏應用較早較普遍的算法,是在圖像信息的最不重要二進制位即最低有效位嵌入秘密信息。本文主要研究的是以圖像為載體隱藏文本或圖像。具體步驟如下:先讀入載體圖像,若載體圖像為M×N的灰度圖像,則直接用一個M×N的二維矩陣表示,若載體圖像為M×N×3的彩色圖像,則把彩色圖像轉化成M×(N×3)的二維矩陣。然后將待隱藏的文本、二值圖像、灰度圖像或彩色圖像轉化成二進制數據流。最后將二進制流按照順序依次隱藏到載體圖像的像素中的最低有效位。4.4LSB算法實現4.4.1嵌入算法Step1:讀入載體圖像foutain,并計算其總容量m1*n1;Step2:讀入秘密信息info,將秘密信息轉化為二進制流m,同時獲得秘密信息的長度(位數)n;Step3:判斷秘密信息是否能嵌入到載體圖像中,如果n>m1*n1,則說明載體圖像太小,不能隱藏全部秘密信息,提示出錯。反之,則可以隱藏;Step4:按順序將秘密信息隱藏到連續(xù)的像素中i=1;forj=1:m1*n1替換該像素中的最低有效位,其它位保持不變cover(j)=bitset(cover(j),1,m(i));ifi==nbreak;endi=i+1;endStep5:修改后的圖像即為隱藏秘密信息的圖像。4.4.2提取算法Step1:讀入隱藏有秘密信息的載體圖像output,并計算其總容量m*n;Step2:根據秘密信息的長度len_toal(以bit為單位),初始化兩個數組message(len_toal/8)=0,b(len_toal)=0,Step3:按順序依次提取出秘密信息i=1;forj=1:m*n獲得該像素的最低位b(i)=bitget(cover(j),1);ifi==len_totalbreak;endi=i+1;endStep4:將秘密信息轉換成字節(jié)存儲在message中。Step5:提取出的信息就是秘密信息。4.5LSB算法實驗結果及分析4.5.1實驗結果用本文算法進行了大量實驗,對于秘密信息為二值圖像、灰度圖像、彩色圖像、.txt等類型的文件均取得了較好的效果,由于篇幅有限,在此僅提供兩組實驗結果。第一組實驗:載體圖像是大小為700×892像素的8位灰度圖像‘xiaoying.bmp’如圖4.2(a)所示,隱藏的秘密信息是大小為128×127的8位灰度圖像‘kid.tif’如圖4.2(b)所示,隱藏后得到的圖像‘hide.bmp’如圖4.2(c)所示,提取出來的秘密信息‘get.tif’如圖4.2(d)所示。(a)原始載體圖像‘xiaoying.bmp’(b)待隱藏的秘密信息‘kid.tif’(c)隱藏后的載體圖像‘hide.bmp’(d)提取的秘密信息‘get.tif’圖4.2LSB第一組實驗結果第二組實驗:載體圖像是大小為809×745像素的24位真彩色圖像‘rose.tif’如圖4.3(a)所示,隱藏的秘密信息是大小為148×258的24位真彩色圖像‘shicheju.bmp’如圖4.3(b)所示,隱藏后得到的圖像‘hide1.tif’如圖4.3(c)所示,提取出來的秘密信息‘get1.bmp’如圖4.3(d)所示。從圖中可以看出,該算法對文本文件的隱藏也能達到很好的效果。(a)原始載體圖像‘rose.tif’(b)待隱藏的秘密信息‘shicheju.bmp’(c)隱藏后的載體圖像‘hide1.tif’(d)提取的秘密信息‘get1.bmp’圖4.3LSB第二組實驗結果第三組實驗:載體圖像是大小為516*416的灰度圖像lion_gray.tif如圖4.4(a)所示,隱藏的秘密信息是字符串“LeastSignificantbits”如圖4.4(b)所示,隱藏后得到的圖像‘hide2.tif’如圖4.4(c)所示,提取出來的秘密信息‘getstr’如圖4.4(d)所示。LeastSignificantbits(a)原始載體圖像‘lion_gray.tif’(b)待隱藏的秘密信息LeastSignificantbits(c)隱藏后圖像‘hide2.tif’(d)提取出的秘密信息圖4.4LSB第三組實驗結果4.4.2信息隱藏界面設計圖像隱藏圖像界面如圖4.5(a)所示,圖像隱藏字符串界面如圖4.5(b)所示。(a)圖像隱藏圖像界面(b)圖像隱藏字符串界面圖4.5信息隱藏實現界面4.5.2圖像隱藏的容量分析LSB算法中載體圖像中每8個字節(jié)隱藏一個字節(jié)的信息。以上述第一組實驗中的載體圖像‘xiaoying.bmp’為例,它的大小為700×892像素,在上一章節(jié)3.1.4中我們介紹過計算圖像容量的算法,經過計算可知它的容量為700×892=624400Byte,所以該圖可以隱藏的最大容量為624400bit,即78050Byte。4.5.3透明性分析透明性即隱蔽性,載體信息隱藏隱秘信息后,載體信息的值一定會變化,載體信息的變化越小,透明性越好,透明性度量指標是相關系數。以第一組實驗為例,得到原始載體圖像‘xiaoying.bmp’與隱藏秘密信息后的載體圖像‘hide.tif’之間的相關系數NC=0.9999。相關系數定義如下:其中A、B分別是大小為M×N的圖像矩陣,分別是A和B的均值。在MATLAB中,可以用函數corr2來計算兩幅圖像的相關系數的大小。以第一組實驗為例,得到原始載體圖像‘xiaoying.bmp’與隱藏秘密信息后的載體圖像‘hide.tif’之間的相關系數NC=0.9999。4.5.4數據完整性分析數據完整性是指秘密信息經過隱藏、傳輸、提取等操作后,數據是否能保持和原始數據一致。數據完整性也可以說是比較兩幅圖的相關系數是否為1,若為1,則說明數據完整;反之,則說明數據被損壞。以第一組實驗為例,經過分析,得到原始秘密信息‘kid.tif’與提取出的秘密信息‘get.tif’的相關系數NC=1,說明LSB算法能夠保持數據完整性。4.5.5魯棒性分析為了檢測該算法的魯棒性,對包含有隱藏信息的載體圖像分別進行如下的攻擊實驗:魏納濾波,中值濾波,添加高斯噪聲,添加椒鹽噪聲,添加乘積性噪聲。所有的攻擊實驗都是通過MATLAB中提供的攻擊函數來實現的,各種攻擊的參數設置見下表表4.1。表4.1各攻擊類型及其參數設置攻擊類型參數設置高斯噪聲00.005椒鹽噪聲0.05乘積性噪聲0.005魏納濾波[33]中值濾波[33]以第一組實驗為例,下面是載有秘密信息的圖像‘hide.bmp’受到攻擊后的圖像顯示如圖4.4所示,受到攻擊后提起出的秘密信息如圖4.5所示。(a)原始載體圖像(b)添加高斯噪聲(c)添加椒鹽噪聲(d)添加乘積性噪聲(e)魏納濾波(f)中值濾波圖4.4受攻擊后的載密圖像(a)原始秘密信息(b)高斯噪音提取的信息(c)椒鹽噪音提取的信息(d)乘積性噪聲提取的圖像(e)魏納濾波提取的信息(f)中值濾波提取的信息圖4.5攻擊后提取出的秘密信息經過一系列的分析比較,得到的實驗結果如下表(表4.2)。其中,NC1表示受攻擊之后的隱藏有秘密信息的載體圖像和原始的載體圖像的相關系數,NC2表示受攻擊后提取的秘密信息與原始秘密信息的相關系數。從表中可以得知,基于LSB算法的信息隱藏效果很好,但魯棒性差,受到攻擊很容易造成秘密信息的損壞。表4.2隱藏后的載體圖像受攻擊后的實驗結果攻擊類型NC1NC2高斯噪聲0.96400.0629椒鹽噪聲0.87870.9422乘積性噪聲0.98220.0561魏納濾波0.99720.4115中值濾波0.98970.92104.5隨機嵌入的LSB算法描述從上面的分析可知,LSB算法的安全性很低。若能實現嵌入,則必然有M×N>=m,這些與傳統(tǒng)算法相同。接下來就是嵌入字節(jié)的選擇,以密鑰key生成M×N的不重復隨機序列randno(1),randno(2),…,randno(M×N),則第i位秘密信息選擇插入的字節(jié)位置為第randno(i)個字節(jié)。這樣既實現了隨機選擇又避免了重復和越界。下面介紹嵌入位的選擇。由位平面分析的結果可知,修改低三位的值,對圖的影響較小,因此嵌入位可在低三位中進行選擇,方法如下:在已選取的嵌入字節(jié)的低三位中利用已生成的隨機序列randno中的隨機數模3取余的方法來做一次隨機,從而將秘密信息嵌入到隨機選擇的平面上。采取這種嵌入方式增強了算法的隱蔽性和安全性。4.6隨機嵌入的LSB算法實現4.6.1嵌入算法Step1:讀入載體圖像foutain,并計算其總容量m1*n1;Step2:讀入秘密信息info,將秘密信息轉化為二進制流m,同時獲得秘密信息的長度(位數)n;Step3:判斷秘密信息是否能嵌入到載體圖像中,如果n>m1*n1,則說明載體圖像太小,不能隱藏全部秘密信息,提示出錯。反之,則可以隱藏;Step4:用key生成m1*n1個不重復的隨機序列{a1,…,a(m1*n1)},rand('state',key);randno=randperm(m1*n1);Step5:按順序將秘密信息的每一位隱藏到載體圖像中。fori=1:n隨機選取秘密信息在存儲字節(jié)中的位置rr=mod(randno(i),3);ifr==0r=3;end把第i位秘密信息的值替換到cover(randno(i))的最低有效位cover(randno(i))=bitset(cover(randno(i)),r,m(i));endStep6:修改后的圖像即為隱藏秘密信息的圖像。4.6.2提取算法Step1:讀入隱藏有秘密信息的載體圖像output,并計算其總容量m*n;Step2:根據秘密信息的長度len_toal(以bit為單位),初始化兩個數組message(len_toal/8)=0,b(len_toal)=0,Step3:用key獲得隱藏時的m1*n1個不重復的隨機序列{a1,…,a(m1*n1)}rand('state',key);randno=randperm(m1*n1);Step4:按順序提取隱藏在圖片中的秘密信息。fori=1:len_total獲取第i位秘密信息在所存儲的字節(jié)中的位置rr=mod(randno(i),3);ifr==0r=3;end從載有秘密信息的圖像中獲取第i位秘密信息b(i)=bitget(cover(randno(i)),r);endStep5:將秘密信息轉換成字節(jié)存儲在message中。Step6:提取出的信息就是秘密信息。4.7隨機嵌入的LSB算法實驗結果及分析4.7.1實驗結果采取與上述LSB算法相同的例子。選取載體圖像是大小為700×892像素的8位灰度圖像‘xiaoying.bmp’如圖4.6(a)所示,隱藏的秘密信息是大小為128×127的8位灰度圖像‘kid.tif’如圖4.6(b)所示,隱藏后得到的圖像‘fhide.bmp’如圖4.6(c)所示,提取出來的秘密信息‘fget.tif’如圖4.6(d)所示。4.7.2實驗結果分析比較該算法主要是提高了LSB算法的安全性,因此在其它方面與原來的LSB算法基本一致。為了更直觀的觀察秘密信息隱藏位置的分布情況,下面利用自編的compare函數提取出秘密信息的隱藏位置,結果如圖4.7所示。從圖中,可以看出最初的LSB算法隱藏位置是集中排列(圖4.7(a))。改進后的隨機嵌入LSB算法,隱藏位置分布均勻(圖4.7(b)),對圖像的統(tǒng)計特性影響較小,檢測者不易察覺。并且由于是在最低的三個位平面進行隨機嵌入,所以也避免了針對最低位進行的攻擊操作。因此,改進后的隨機(a)原始載體圖像‘xiaoying.bmp’(b)待隱藏的秘密信息‘kid.tif’(c)隱藏后的載體圖像‘fhide.bmp’(d)提取的秘密信息‘fget.tif’圖4.6改進后的LSB實驗結果嵌入LSB算法在安全性方面有了很大的提高。(a)LSB算法秘密信息隱藏位置(b)隨機嵌入的LSB算法秘密信息隱藏位置圖4.7秘密信息在載體圖像中的隱藏位置4.7.3隨機嵌入的LSB算法的特點通過對大量的不同大小、不同格式的秘密信息文件做實驗,都得到了較好的結果,從而驗證了該算法的正確性和可行性。與傳統(tǒng)LSB算法相比較,改進算法具有以下優(yōu)點:1)隱蔽性強。經過兩次隨機,增加了秘密信息隱藏位置的隨意性,也增加了攻擊的難度,而且由于秘密信息都是隱藏在載體圖像每個字節(jié)的低3位,所以不會影響圖像的視覺效果。2)安全性好。秘密信息在載體圖像中分布均勻,降低了攻擊者對其的懷疑程度。3)秘密信息的提取更加安全可靠。第五章總結與展望本文中的LSB算法只修改了低三位平面中的一位來隱藏信息,因此嵌入量較小,在這一方面還有待改進。比如說可以將有效位提高到兩位,但同一字節(jié)中同時修改多位對圖像的影響比較大,隱蔽性會變差。所以,最好是能只修改其中的一位卻可以嵌入兩位甚至更多位秘密信息,這種思想的可行性還有待于今后的研究。信息隱藏技術經過數十年的研究與發(fā)展,它在多個領域被廣泛使用,信息隱藏技術已成為當下信息安全領域中的一個熱門研究方向??梢韵嘈?,數字圖像信息隱藏技術將在社會經濟發(fā)展中發(fā)揮巨大的作用,并產生可觀的經濟效益。參考文獻[1]汪小帆,戴躍偉,茅耀斌.信息隱藏技術方法與應用[M].北京:機械工業(yè)出版社,2001:15-35.[2]侯曉芳,劉秀蓮.信息隱藏技術研究探討[J].大眾科技,2009(5):11-12.[3]常衛(wèi)東,劉完芳,童宇.信息隱藏綜述[J].中國科技信息,2010(3):117-118.[4]Westfeld.A.Attacksonsteganographicsystems[A].Proceedingsofthe3rdInternationalWorkshoponInformationHiding[C],Berlin:Springer-Verlag,1999:61-76.[5]ChangCC,LinMH,HuYC.AF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 瓷磚鋪貼考試題目及答案
- 藥店雙通道定點零售藥店藥品管理制度
- 益智題目及答案看怎么做
- 二次函數擬合題目及答案
- 養(yǎng)老院老人精神關懷制度
- 金職院教育學題目及答案
- 養(yǎng)老院環(huán)境衛(wèi)生與綠化制度
- 高三數學圖形圖解題目及答案
- 鐵路貨運生產統(tǒng)計制度
- 判斷題如何記順序題目及答案
- 寫字樓保潔培訓課件
- 計量宣貫培訓制度
- 《老年服務禮儀與溝通技巧》-《老年服務禮儀與溝通技巧》-老年服務禮儀與溝通技巧
- 2026.05.01施行的中華人民共和國漁業(yè)法(2025修訂)課件
- 原始股認購協議書
- 八年級數學人教版下冊第十九章《二次根式》單元測試卷(含答案)
- 嚴肅財經紀律培訓班課件
- 上海市復旦大學附中2026屆數學高一上期末質量檢測試題含解析
- 企業(yè)員工食堂營養(yǎng)搭配方案
- 2025年國家公務員國家能源局面試題及答案
- 智慧中藥房講解課件
評論
0/150
提交評論