信息隐藏实验三LSB图像信息隐藏剖析.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息隐藏实验三LSB图像信息隐藏剖析

实验三:LSB图像信息隐藏 一、实验目的 了解信息隐藏中最常用的LSB算法的特点,掌握LSB算法原理,设计并实现一种基于图像的LSB隐藏算法;了解如何通过峰值信噪比来对图像进行客观评价,并计算峰值信噪比值。 二、实验环境 (1)Windows 7操作系统; (2)MATLAB R2012b版本软件; (3)BMP格式灰度图像文件。 三、原理简介 任何多媒体信息在数字化时都会产生物理随机噪声,而人的感官系统对这些随机噪声并不敏感。替换技术就是利用这个原理,通过使用秘密信息比特替换随机噪声,从而实现信息隐藏目的。 在BMP灰度图像的位平面中,每个像素值为8比特二进制,表示该点亮度。 图像高位平面对图像感官质量起主要作用,去除图像最低几个位平面并不会造成画面质量的明显下降。利用这个原理可用秘密信息(或称水印信息)替代载体图像低位平面以实现信息嵌入。 本算法选用最低位平面来嵌入秘密信息。最低位平面对图像的视觉效果影响最轻微,但很容易受噪声影响和攻击,可采用冗余嵌入的方式来增强稳健性加以解决,即在一个区域(多个像素)中嵌入相同的信息,提取时根据该区域中的所有像素判断。 四、实验步骤 1. 隐藏提取及测试 算法分为三个部分实现: (1)隐藏算法; (2)提取算法; (3)测试脚本。 1)隐藏算法 源代码hide_lis.m如下: function o = hide_lsb(block,data,I) %function o = hide_lsb(block,data,I) %隐藏提取及测试 %block:隐藏的最小分块大小 %data:秘密信息 %I:原始载体 si = size(I); lend = length(data); N = floor(si(2)/block(2));%将图像划分为M*N个小块 M = min(floor(si(1)/block(1)),ceil(lend/N)); o = I; for i = 0 : M-1 %计算每小块隐藏的秘密信息 rst = i*block(1) + 1; red = (i+1)*block(1); for j = 0 : N-1 %计算每小块隐藏的秘密信息的序号 idx = i*N + j + 1; if idx lend break; end %取每小块隐藏的秘密信息 bit = data(idx); %计算每小块水平方向起止位置 cst = j*block(2) + 1; ced = (j+1)*block(2); %将每小块最低位平面替换为秘密信息 o(rst:red,cst:ced) = bitset(o(rst:red,cst:ced),1,bit); end nd 2)提取算法 源代码dh_lsb.m如下: function out = dh_lsb(block,I) %function out = dh_lsb(block,I) %源代码dh_lsb.m如下: %block:隐藏的最小分块大小 %I:携密载体 si = size(I); %将图像划分为M*N个小块 N = floor(si(2)/block(2)); M = floor(si(1)/block(2)); out = []; %计算比特1判决阀值:每小块半数以上元素隐藏是比特1时,判决该小块嵌入信息为1 thr = ceil((block(1)*block(2) + 1)/2); idx = 0; for i = 0 : M-1 %计算每小块垂直方向起止位置 rst = i*block(1) + 1; red = (i+1)*block(1); for j = 0 : N-1 %计算每小块将要数据的秘密信息的序号 idx = i*N + j + 1; %计算每小块水平方向起止位置 cst = j*block(2) + 1; ced = (j + 1)*block(2); %提取小块最低位平面,统计1比特个数,判决输出秘密信息 tmp = sum(sum(bitget(I(rst : red,cst : ced),1))); if (tmp = thr) out(idx) = 1; else out(idx) = 0; end

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档