LSB数字图像加密技术.docx
《LSB数字图像加密技术.docx》由会员分享,可在线阅读,更多相关《LSB数字图像加密技术.docx(15页珍藏版)》请在冰点文库上搜索。
![LSB数字图像加密技术.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/c7421e7d-04ca-4993-a349-47b3808b6f70/c7421e7d-04ca-4993-a349-47b3808b6f701.gif)
LSB数字图像加密技术
综合评分:
实验一:
LSB信息隐藏实验
【实验目的】:
一、熟悉MATLAB基本操作
二、完成LSB实验
【实验内容】:
(请将你实验完成的项目涂“■”)
实验完成形式:
■用MATLAB函数实现LSB信息隐藏和提取
■用MATLAB命令行方式实现LSB信息隐藏和提取
□其它:
(请注明)
实验选择载体:
■256×256灰度图像■256×256RGB图像■任意大小的RGB图像
实验效果和分析:
■分析了LSB算法的抗攻击能力
■能随机选择嵌入位(考虑安全性因素)
■嵌入位均匀分布于载体
□信息提取的检错/纠错
□其它:
(请注明)
【实验工具及平台】:
■Windows+Matlab■其它:
(请注明)WinHex
【实验涉及到的相关算法】:
1、RGB图像的每个像素有三个颜色分量(r,g,b)构成,且r,g,b三个颜色分量都是取值(0,1)内的,为了便于计算机的“位”概念相联系,进行LSB操作,我们想(0,1)与(0,255)进行对应。
图一
在uint8中修改单位1,实际上就是相应修改像素值1/256=0.0039。
嵌入过程:
for(i=1;i<=像素序列个数;i++)
For(i=1;i<=秘密消息长度;i++)
//将选取的像素点的最不重要位依次替换成秘密信息
图二
提取过程:
For(i=1;i<=秘密消息长度;i++)
{
//序选取
}
图三
本实验中LSB认为是图片中每个像素的最低位bit值
【实验分析】:
1、顺序隐藏,256*256灰度图,LSB=1
左图是原始图像与隐写图像的区别,可以看到左边的白色部分是两幅图的不一样之处,也就是隐秘消息的地方,因为是顺序隐秘,所以很容易检测出。
隐藏的信息:
提取的信息:
局部矩阵验证:
提取成功!
2、随机嵌入与提取
经验证,提取无误,验证方法如上,不再赘述。
3、随机嵌入与提取,隐藏位lsb的选取与隐写图像不可见性的关系
为了使效果明显,我们将隐藏信息加长,存为alphabet.txt。
观察结论:
本试验中LSB表示的是每像素的像素值的最后一位,即默认的LSB=1,加入将LSB值改为2,3,...,8,明显发现随便修改位的增加,图像的失真越来越明显。
4、JPEG压缩与隐秘信息误码率的关系,顺序嵌入与提取。
[msg,result]=jpgandlsb('lenna_gray_256_jpg.jpg','alphabet.txt','alphabet2.txt');
[msg,result]=jpgandlsb('lena_gray_256_tif.tif','alphabet.txt','alphabet2.txt');
[msg,result]=jpgandlsb('lenna_gray_256_bmp.bmp','alphabet.txt','alphabet2.txt');
jpeg压缩对lsb算法的破坏是毁灭性的。
JPEG压缩对LSB算法的影响
5%10%
15%20%
30%45%
85%100%
5、各种大小和类型(RGB)
lenna_gray_512_jpg.jpg
lenna_color_256_jpg.jpg
lenna_color_512_jpg.jpg
归纳一下LSB的优缺点:
LSB(LSB:
leastsignificantbits):
将信息嵌入到随机选择的图像点中最不重要的像素位上,这可保证嵌入的隐写信息是不可见的。
优点:
操作简单,实现容易,隐藏信息量相对比较大。
缺点:
由于使用了图像不重要的像素位,算法的鲁棒性差,隐写信息很容易为滤波、图像量化、几何变形的操作破坏。