基于LSB的空域信息隐藏实现
目錄
- 實驗環境
- 系統設計
- BMP文件格式
- LSB空域信息隱藏算法
- 嵌入算法
- 提取算法
- LSB空域信息隱藏算法分析
- 優點
- 缺點
- 系統實現
- HidenMsg.txt
- 信息隱藏:HideMsg.m
- 信息提取:ShowHidenMsg.m
- 參考文獻
實驗環境
- MATLAB
系統設計
BMP文件格式
???????BMP(Bitmap file)文件是Windows采用的一種標準的文件格式,Windows系統下各種圖像處理軟件都支持這種文件格式。BMP文件也是信息隱藏常用的攜帶秘密信息的載體之一。
???????BMP圖像文件是一種位圖文件,也就是將圖像劃分為一個個的柵格,其中每個柵格稱為像素。所以每幅圖像都可以看作是由一些像素點組成的矩陣。對于一幅灰度圖像,一般使用多個比特表示像素點的灰度值,而比特數據中的每一位都表示了一個0或1的二值平面,此平面稱為位面。假設使用1比特數據表示像素點的灰度值,那么此圖像為8個位面,其中最低位面用位面0表示,最高位面用位面7表示。BMP圖像文件大致可分為兩個部分,包括頭文件與位圖數據,而更詳細的可分為四個部分:
- 頭文件數據。包含文件的數據類型,顯示設置等內容。
- 位圖的構造信息。包含位圖的邊長,壓縮的方式,還有顏色信息。
- 色板。很多圖像文件沒有此部分,如24位的真彩色BMP圖像就不含有調色板這個部分。
- 位圖數據。此部分是由BMP圖像文件的位數所決定的,真彩色圖像中使用RGB此外,其余圖像使用第三部分中的顏色索引。
LSB空域信息隱藏算法
???????LSB(Least Significant Bit)算法將隱藏的信息比特按位(bit)順序嵌入原始圖像像素的最低位面(Least Significant Bit)。
嵌入算法
???????LSB算法嵌入流程如下:
???????(1)對原始圖像中每個像素點的灰度值進行變換,由十進制轉換為二進制;
???????(2)將秘密信息轉換為二進制序列,并將原始圖像中像素點的最低比特位替換為二進制序列中的每一比特信息;
???????(3)在替換過程結束后,將像素點的二進制數據轉換回十進制數據,保存為載密圖像。
提取算法
???????與嵌入算法對應,LSB算法提取流程如下:
???????(1)對載密圖像中每個像素點的灰度值進行變換,由十進制轉換為二進制;
???????(2)提取圖像像素點中最低有效位的數據,根據嵌入順序進行組合得到原秘密序列。
LSB空域信息隱藏算法分析
優點
???????LSB算法的優點如下:
- 可嵌入的信息量大;
- 算法簡單,易于實現;
- 載密圖像失真小;
- 可以避免由于文件格式改變導致的秘密信息損壞。
缺點
???????LSB算法的缺陷也很明顯:
- 魯棒性差;
- 抗隱寫分析的能力弱。
系統實現
HidenMsg.txt
???????存儲所需隱藏的秘密信息。
信息隱藏:HideMsg.m
???????LSB算法嵌入過程的關鍵步驟就是將原始圖像最低的一個位平面替換為要隱藏的秘密信息。
???????先將原始圖像像素的最低位面設置為0。(可以判斷像素點的灰度值是否可以被二整除,如果不可以被整除,則將最低位取反。)
???????此后,就可以一位位地根據秘密信息改變像素的最低有效位,實現秘密信息的嵌入。
信息提取:ShowHidenMsg.m
???????通過LSB算法嵌入過程的關鍵步驟可以看出:載密圖像的最低比特位就是秘密信息的比特流。
???????所以只需要對載密圖像中每個像素點的灰度值進行變換,由十進制轉換為二進制,再提取圖像像素點中最低有效位的數據,根據嵌入順序進行組合就可以得到秘密信息。
參考文獻
???????[1] 孔祥維等.多媒體信息安全實踐教程.科學出版社
總結
以上是生活随笔為你收集整理的基于LSB的空域信息隐藏实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AD09 DXP保姆级教程系列——005
- 下一篇: 办公室族腰酸背痛 左右摇腿运动可缓解