日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于LSB的空域信息隐藏实现

發(fā)布時(shí)間:2024/3/26 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于LSB的空域信息隐藏实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 實(shí)驗(yàn)環(huán)境
  • 系統(tǒng)設(shè)計(jì)
    • BMP文件格式
    • LSB空域信息隱藏算法
      • 嵌入算法
      • 提取算法
      • LSB空域信息隱藏算法分析
        • 優(yōu)點(diǎn)
      • 缺點(diǎn)
  • 系統(tǒng)實(shí)現(xiàn)
    • HidenMsg.txt
    • 信息隱藏:HideMsg.m
    • 信息提取:ShowHidenMsg.m
  • 參考文獻(xiàn)

實(shí)驗(yàn)環(huán)境

  • MATLAB

系統(tǒng)設(shè)計(jì)

BMP文件格式

???????BMP(Bitmap file)文件是Windows采用的一種標(biāo)準(zhǔn)的文件格式,Windows系統(tǒng)下各種圖像處理軟件都支持這種文件格式。BMP文件也是信息隱藏常用的攜帶秘密信息的載體之一。
???????BMP圖像文件是一種位圖文件,也就是將圖像劃分為一個(gè)個(gè)的柵格,其中每個(gè)柵格稱為像素。所以每幅圖像都可以看作是由一些像素點(diǎn)組成的矩陣。對(duì)于一幅灰度圖像,一般使用多個(gè)比特表示像素點(diǎn)的灰度值,而比特?cái)?shù)據(jù)中的每一位都表示了一個(gè)0或1的二值平面,此平面稱為位面。假設(shè)使用1比特?cái)?shù)據(jù)表示像素點(diǎn)的灰度值,那么此圖像為8個(gè)位面,其中最低位面用位面0表示,最高位面用位面7表示。BMP圖像文件大致可分為兩個(gè)部分,包括頭文件與位圖數(shù)據(jù),而更詳細(xì)的可分為四個(gè)部分:

  • 頭文件數(shù)據(jù)。包含文件的數(shù)據(jù)類型,顯示設(shè)置等內(nèi)容。
  • 位圖的構(gòu)造信息。包含位圖的邊長(zhǎng),壓縮的方式,還有顏色信息。
  • 色板。很多圖像文件沒(méi)有此部分,如24位的真彩色BMP圖像就不含有調(diào)色板這個(gè)部分。
  • 位圖數(shù)據(jù)。此部分是由BMP圖像文件的位數(shù)所決定的,真彩色圖像中使用RGB此外,其余圖像使用第三部分中的顏色索引。

LSB空域信息隱藏算法

???????LSB(Least Significant Bit)算法將隱藏的信息比特按位(bit)順序嵌入原始圖像像素的最低位面(Least Significant Bit)。

嵌入算法

???????LSB算法嵌入流程如下:
???????(1)對(duì)原始圖像中每個(gè)像素點(diǎn)的灰度值進(jìn)行變換,由十進(jìn)制轉(zhuǎn)換為二進(jìn)制;
???????(2)將秘密信息轉(zhuǎn)換為二進(jìn)制序列,并將原始圖像中像素點(diǎn)的最低比特位替換為二進(jìn)制序列中的每一比特信息;
???????(3)在替換過(guò)程結(jié)束后,將像素點(diǎn)的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換回十進(jìn)制數(shù)據(jù),保存為載密圖像。

提取算法

???????與嵌入算法對(duì)應(yīng),LSB算法提取流程如下:
???????(1)對(duì)載密圖像中每個(gè)像素點(diǎn)的灰度值進(jìn)行變換,由十進(jìn)制轉(zhuǎn)換為二進(jìn)制;
???????(2)提取圖像像素點(diǎn)中最低有效位的數(shù)據(jù),根據(jù)嵌入順序進(jìn)行組合得到原秘密序列。

LSB空域信息隱藏算法分析

優(yōu)點(diǎn)

???????LSB算法的優(yōu)點(diǎn)如下:

  • 可嵌入的信息量大;
  • 算法簡(jiǎn)單,易于實(shí)現(xiàn);
  • 載密圖像失真小;
  • 可以避免由于文件格式改變導(dǎo)致的秘密信息損壞。

缺點(diǎn)

???????LSB算法的缺陷也很明顯:

  • 魯棒性差;
  • 抗隱寫分析的能力弱。

系統(tǒng)實(shí)現(xiàn)

HidenMsg.txt

???????存儲(chǔ)所需隱藏的秘密信息。

信息隱藏:HideMsg.m

???????LSB算法嵌入過(guò)程的關(guān)鍵步驟就是將原始圖像最低的一個(gè)位平面替換為要隱藏的秘密信息。
???????先將原始圖像像素的最低位面設(shè)置為0。(可以判斷像素點(diǎn)的灰度值是否可以被二整除,如果不可以被整除,則將最低位取反。)
???????此后,就可以一位位地根據(jù)秘密信息改變像素的最低有效位,實(shí)現(xiàn)秘密信息的嵌入。

%打開(kāi)圖片 picture=imread('Pic.bmp');%將圖片轉(zhuǎn)化為double類型 Double_picture=double(picture);%讀取所需隱藏的信息文件 file=fopen('HidenMsg.txt','r'); [HidenMsg,MsgLen]=fread(file,'ubit1');%獲取圖片分辨率 [Length,Width]=size(Double_picture);p=1; for j=1:Widthfor i=1:Length%最低位面替換成隱藏信息Double_picture(i,j)=Double_picture(i,j)-bitand(Double_picture(i,j),1)+HidenMsg(p,1);if p==MsgLenbreakendp=p+1;endif p==MsgLenbreakend end%保存包含隱藏信息的bmp文件 Double_picture=uint8(Double_picture); imwrite(Double_picture,'PicWithHidenMsg.bmp');%顯示未嵌入信息的圖像 subplot(121); imshow(picture); title('未嵌入信息的圖像');%顯示嵌入信息的圖像 subplot(122); imshow(Double_picture); title('嵌入信息的圖像');%關(guān)閉文件 fclose(file);

信息提取:ShowHidenMsg.m

???????通過(guò)LSB算法嵌入過(guò)程的關(guān)鍵步驟可以看出:載密圖像的最低比特位就是秘密信息的比特流。
???????所以只需要對(duì)載密圖像中每個(gè)像素點(diǎn)的灰度值進(jìn)行變換,由十進(jìn)制轉(zhuǎn)換為二進(jìn)制,再提取圖像像素點(diǎn)中最低有效位的數(shù)據(jù),根據(jù)嵌入順序進(jìn)行組合就可以得到秘密信息。

%打開(kāi)隱藏信息的圖片 picture=imread('PicWithHidenMsg.bmp');%將圖片轉(zhuǎn)化為double類型 Double_picture=double(picture);%獲取圖片分辨率 [Length,Width]=size(Double_picture);%打開(kāi)文件 file=fopen('ShowHidenMsg.txt','wb+');%設(shè)置隱藏信息長(zhǎng)度 %隱藏的字符數(shù)*8 bit MsgLen=10*8;p=1; for j=1:Widthfor i=1:Length%最低位面是隱藏信息fwrite(file,bitand(Double_picture(i,j),1),'ubit1');if p==MsgLenbreakendp=p+1;endif p==MsgLenbreakend end%關(guān)閉文件 fclose(file);

參考文獻(xiàn)

???????[1] 孔祥維等.多媒體信息安全實(shí)踐教程.科學(xué)出版社

總結(jié)

以上是生活随笔為你收集整理的基于LSB的空域信息隐藏实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。