基于-LSB信息隐藏算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.

《信息隐藏技术》实验

实验三:基于LSB的信息隐藏算法

学生:学号:

学院: 计算机学院

专业: 信息安全

班级:

指导教师:

2015年12 月16 日

目录

1 实验目的 (2)

2 实验环境及容 (2)

3 实验原理 (2)

4 实验步骤 (2)

5 实验思考和总结 (2)

1实验目的

该实验为验证性实验。目的是通过实验使学生掌握经典隐藏算法,在MATLAB环境下,编写基于图像的LSB信息隐藏算法程序。用MATLAB函数实现LSB信息隐藏,并进行分析。

2实验环境及容

●实验环境

安装MATLAB7.0的计算机

●实验容

首先学会提取图片的八个位平面,然后再将信息隐藏在最低位平面中。

3实验原理

LSB(least significant bit)算法是最早提出的一种典型的空间域信息隐藏算法。它使用特定的密钥通过伪随机序列发生器产生随机信号,然后按一定的规则排列成二维水印信号,并逐一插到原始图像相应像素值的最低几位。由于水印信号隐藏在最低位,相当于叠加了一个能量微弱的信号,因此在视觉和听觉上很难察觉。作为大数据量的信息隐藏方法,LSB在隐藏通信中仍占据相当重要的地位。

隐秘算法核心是将我们选取的像素点的最不重要位依次替换成秘

密信息,以达到信息隐秘的目的。嵌入过程包括选择一个图像载体像素点的子集{j1,…,jl(m)},然后在子集上执行替换操作像素cji←→mi,即把cji的LSB与秘密信息mi进行交换(mi可以是1或0)。一个替换系统也可以修改载体图像像素点的多个比特,例如,在一个载体元素的两个最低比特位隐藏两比特、三比特信息,可以使得信息嵌入量大大增加但同时将破坏载体图像的质量。在提取过程中,找出被选择载体图像的像素序列,将LSB(最不重要位)排列起来重构秘密信息,算法描述如下:

嵌入过程:for(i=1;i<=像素序列个数;i++)

si←ci

for(i=1;i<=秘密消息长度;i++)

//将选取的像素点的最不重要位依次替换成秘密信息

sji←cji←→mi

4实验步骤

提取位平面源代码

a = imread('1.jpg');

b = rgb2gray(a);

%将彩色图像转换为灰度图像

c = bitand(b, 1);

figure(1);

imshow(c);

d = bitand(b, 2); figure(2); imshow(d);

e = bitand(b, 4); figure(3); imshow(e);

f = bitand(b, 8); figure(4); imshow(f);

i = bitand(b, 16); figure(5); imshow(i);

g = bitand(b, 32); figure(6); imshow(g);

h = bitand(b, 64); figure(7); imshow(h);

i = bitand(b, 128); figure(8); imshow(i);

提取位平面结果

信息隐藏源代码

x = fopen('wyw.txt', 'r');

%(1)将秘密信息读入

[msg, length] = fread(x, 'ubit1');

%(2)转化为二进制,并计算秘密信息长度

a = imread('1.jpg');

a = rgb2gray(a);%%将彩色图像转换为灰度图像c = a;

[m, n] = size(a);

%(3)计算图像容量

figure(1);

imshow(a);

%将原始图像展示出来

if(length > m * n)

error('the txt error');

end

%(4)判断秘密信息长度是否大于图像的容量

k = 1;

for j = 1:n

for i = 1:m

c(i, j) = a(i, j) - mod(a(i, j), 2) + msg(k);

k = k + 1;

第1页共12页

if(k == length)

break

end

end

if(k == length)

break

end

end

d = a - c;

figure(2);

imshow(c);

figure(3);

imshow(d, []);

imwrite(c, '2.jpg');

%(6)存储为图像

原图

第1页共12页

●隐藏后图片

●检验图片

5实验思考和总结

通过实验使我们掌握经典信息隐藏算法,在MATLAB环境下,编写基于图像的LSB信息隐藏算法程序。用MATLAB函数实现LSB 信息隐藏,并进行分析。我们在实验前要做好充分准备,复习实验所涉及的知识点,才能更好的理解实验过程。实验时注意记录实验过程中产生的数据、出现的问题及解决方案。

第1页共12页

相关文档
最新文档