勵志

勵志人生知識庫

lsb方法

LSB方法是一種隱寫術技術,其基本原理是修改數字圖像中每個像素的RGB顏色分量的最低有效位(LSB)。這樣,每個像素可以攜帶一位信息,從而使得多個位元組的最低位可以用來存儲一個比特信息。這個比特信息可以轉換為ASCII字元,實現信息的隱寫。LSB方法包括兩個主要模組:`lsb_embed`用於嵌入信息,`lsb_extract`用於提取信息。

嵌入信息(lsb_embed)的過程:

使用PIL庫讀取圖片像素信息。

利用numpy庫將像素信息處理為矩陣。

輸入待嵌入的檔案,將其與圖片一併處理。

對每位字元進行ASCII處理,取到的二進制數由6位填充至8位。

使用自定義函式`cover_lsb`進行LSB隱寫操作,替換最低有效位為二進制0或1。

剩餘未填充位進行補充填位,使得圖像能夠恢復。

使用處理後的新矩陣生成嵌入信息的圖片。

提取信息(lsb_extract)的過程:

使用PIL庫讀取圖片像素信息。

利用numpy庫將像素信息處理為矩陣。

提取過程中尋找最低位。

使用`lsb_decode`函式找尋最低位並返回。

得到的數據進行二進制轉ASCII的操作,以恢復原始信息。

LSB算法最初用於脆弱性水印,即通過在圖像的最低有效位中嵌入信息來標記著作權或所有權。由於水印信息嵌入在LSB中,為了保持水印的不可見性,允許嵌入的水印強度不能太高。然而,LSB算法對空域的各種處理(如遊程編碼前的預處理)敏感,因為這些操作可能會對不顯著分量進行壓縮,影響水印的穩定性。