《实验2-空域信息隐藏算法(共4页).docx》由会员分享,可在线阅读,更多相关《实验2-空域信息隐藏算法(共4页).docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上信息隐藏技术 实验报告实验名称实验2 空域信息隐藏算法日期2013-05-16专业班级11信安1班实验人学号一、实验目的(1)了解信息隐藏算法的分类方式和分类依据(2)理解空域信息隐藏算法的基本思想(3)掌握最低有效位算法原理(4)完成基于LSB的图像信息隐藏二、实验内容载体图像为24位真彩色bmp图像Lena.bmp,嵌入的秘密图像为黑白的bmp图像LSB.bmp,要求采用空域信息隐藏算法,将LSB.bmp嵌入到Lena.bmp的最低有效位中,同屏显示原载体图像、需要嵌入的秘密图像、嵌入了秘密图像的伪装载体、提取的秘密图像。(编程语言不限)三、实验步骤和设计思想实现
2、空域图像水印方法中的LSB算法:原始图像选取大小为512*512的elain图像或者goldhill图像,选择一个LSB水印算法以及适当的水印序列;利用选定的水印嵌入算法将水印信息嵌入到原始图像中。在嵌入水印之后的图像中提取水印,是否可以判定图像中含有水印,同时计算含水印图像的峰值信噪比。将含有水印的图像缩小为256*256之后,再放大为512*512,这时再提取水印,是否可以判定图像中含有水印。四、程序清单% LSB 算法:clear;A=imread(elain.bmp);B=A;message=wwws homework;m=length(message);n=size(A);k=1;f
3、or i=1:n(1) for j=1:n(2) if k=m %如果消息输入完成则为0 h=bitget(double(message(k),8:-1:1); else h=0,0,0,0,0,0,0,0; end c=bitget(A(i,j),8:-1:1); if mod(j,8) = 0 p=8; else p=mod(j,8); end v=0; for q=1:7 v=xor(v,c(q); end v=xor(v, h(p) ); B(i,j)=bitset(A(i,j),1,v); if mod(j,8) = 0 k=k+1; end endend% 提取信息 out=cha
4、r;tmp=0 ;t=1;for i=1:n(1) for j=1:n(2) c=bitget(B(i,j),8:-1:1); v=0; for q=1:8 v=xor(v,c(q); end if mod(j,8)=0 p=1; else p=9-mod(j,8); end tmp=bitset(tmp,p,v); if mod(j,8)=0 out(t)=char(tmp); t=t+1; tmp=0; end endend%显示图像figure;subplot(1,2,1);image(A);axis(square);title(原始图像);subplot(1,2,2);imshow(B);axis(square);title(加入水印后图像);out五、实验调试记录六、实验结果及其分析七、实验心得1、 了解隐显密码学相关的密码算法;2、 熟悉不同“位平面”对图像质量的影响;3、 掌握基于图像的LSB信息隐藏算法;4、 用MATLAB函数实现LSB信息隐藏;5、 掌握LSB信息提取算法。专心-专注-专业