天天看點

【語音隐藏】基于 LSB語音資訊隐藏matlab源碼

數字水印将辨別資訊直接嵌入數字載體,而不影響原載體的使用價值,使用者不易察覺但可以被生産方識别和辨認,可以保護資訊安全,實作防僞溯源,也是資訊隐藏技術的研究領域之一。LSB(least significant bits)是最為簡單的數字水印制造方法,可以保證水印不被使用人所見,但可以被制造者辨認。

1 LSB算法簡介

LSB全稱為 Least Significant Bit(最低有效位),是一種簡單而有效的資料隐藏技術。LSB隐寫的基本方法是用欲嵌入的秘密資訊取代載體圖像的最低比特位,原來的圖像的高位平面與代表秘密資訊的最低平面組成含隐蔽資訊的新圖像。

【語音隐藏】基于 LSB語音資訊隐藏matlab源碼

灰階化的圖像為單通道格式存儲像素,每個像素值在0~255内,而像素的位平面則是對應二進制的像素的各個位。以上圖為例,某個像素的值為78,其二進制01001110,從左到右位權依次降低,最左邊為最高有效位(MSB,其位權為 2 7 2^72

7

),最右邊位最低有效位(LSB,位權為2 0 2^02

)。把每個像素的相同位抽取出來組成一個新的平面,就是所謂的圖的位平面。而LSB隐寫算法,如其名字,是在LSB也就是最低位平面進行資訊嵌入/隐藏。

需要注意的一點是,LSB嵌入的時候,載體圖像格式應該為灰階圖格式

以著名的Lena圖為例,一下是灰階圖Lena原圖:

【語音隐藏】基于 LSB語音資訊隐藏matlab源碼

下面是其各個位平面圖,從左到右、從上到下位平面依次降低:

【語音隐藏】基于 LSB語音資訊隐藏matlab源碼

可以看到,位平面越高包含的原圖像資訊越多,對圖像的灰階值貢獻越大,并且相鄰比特的相關性也越強,反之則相反。LSB最低位平面基本上不包含圖像資訊了,類似随機的噪點/噪聲,是以,可以在此處填入水印/秘密資訊。

嵌入示意圖如下:

【語音隐藏】基于 LSB語音資訊隐藏matlab源碼

選取不同位平面嵌入時,LSB算法的保真度:

【語音隐藏】基于 LSB語音資訊隐藏matlab源碼

2 算法原理

通俗來講我們看到的圖檔都是由一個個小的像素點來構成的,所有像素點擺在一起,構成一個大方塊,這個大方塊就是我們所見的圖像。灰階圖像(也就是我們平時所說的黑白圖像)是由一層像素點組成的,而彩色圖像是由三層這樣的灰階圖像組成的。這裡拿灰階圖像舉例,我們之是以能在圖像上看到黑色和白色,是因為每個像素點的像素值不同。0表示純黑,255表示純白,灰色就是由這兩個數字之間的值構成。越靠近0越黑,越靠近255越白。那為什麼是0和255呢?因為計算機是二進制,它會用8個比特來表示一個像素點(也可以用更多的比特,這樣圖像的顔色分級就越多,同時圖像也會占用更大的空間,但是普通人的眼睛并不能辨認這麼多的顔色,除非你異于常人),是以最大值是255,最小是0。lsb就是基于2進制這一特點來隐藏資訊的,因為人眼并不是很精密的顔色或亮度的感覺器,是以把像素灰階上下微調1是不會被人眼察覺的,也就是修改8位二進制碼中最小的一位。當我們把圖檔每個像素的最後一位按照我們的想法改變,使他表現為我們想要的資訊,但使用者卻不能看出,也不會影響圖檔的内容。這就是lsb數字水印。

3 LSB算法的基本特點:

LSB是一種大容量的資料隐藏算法

LSB的魯棒性相對較差(當stego圖像遇到信号處理,比如:加噪聲,有損壓縮等,在提取嵌入資訊時會丢失)

4 常見LSB算法的嵌入方法:

秘密資訊在最低位平面連續嵌入至結束,餘下部分不作任何處理(典型軟體MandelSteg)

秘密資訊在最低位平面連續嵌入至結束,餘下部分随機化處理(也稱沙化處理,典型軟體PGMStealth)

秘密資訊在最低位平面和次低位平面連續嵌入,并且是同時嵌入最低位平面和次低位平面

秘密資訊在最低位平面嵌入,等最低位平面嵌入完全嵌入之後,再嵌入次低位平面

秘密資訊在最低位平面随機嵌入

以上五種方式,當嵌入容量不同時,魯棒性不同

【語音隐藏】基于 LSB語音資訊隐藏matlab源碼
【語音隐藏】基于 LSB語音資訊隐藏matlab源碼

繼續閱讀