下载此文档

LSB信息隐藏实验报告.doc


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
该【LSB信息隐藏实验报告 】是由【泰山小桥流水】上传分享,文档一共【19】页,该文档可以免费在线阅读,需要了解更多关于【LSB信息隐藏实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。个人采集整理资料,仅供交流学习,勿作商业用途
C
entr
alSouthUniversity
信息隐蔽
实验报告
学院:信息科学与工程学院
班级:信息安全1201
学号:0909121724
姓名:吕秋言
时间:2018年6月
实验一:基于图像的LSB信息隐蔽一、实验目的
该实验为考据性实验。目的是经过实验使学生掌握经典信息隐
藏算法,在Matlab环境下,编写基于图像的LSB信息隐蔽算法程序。
Matlab函数实现LSB信息隐蔽及提取,并进行解析。b5E2RGbCAP
二、实验要求
1、实验前要做好充分准备,包含:复习实验所涉及的知识点,
掌握Matlab编程语言和调试环境。
2、实验时注意记录实验过程中产生的数据、出现的问题及解决
问题的方法。
个人采集整理资料,仅供交流学习,勿作商业用途
3、理论联系实质,认真解析实验结果,回答思虑题。
4、实验后完成实验报告,并附相关截图。
三、实验环境
计算机<安装VisualC++)
四、实验原理
奥秘算法核心是将我们采纳的像素点的最不重要位挨次替代成
奥秘信息,以达到信息奥秘的目的。嵌入过程包含选择一个图像载体
像素点的子集{j1,,jl(m>},而后在子集上执行替代操作像素
cji←→mi,即把cji的LSB与奥秘信息mi进行交换(mi可以是1或
0>。一个替代系统也可以更正载体图像像素点的多个比特,比方,在
一个载体元素的两个最低比特位隐蔽两比特、三比特信息,可以使得
信息嵌入量大大增添但同时将破坏载体图像的质量。在提取过程中,找出被选择载体图像的像素序列,将LSB(最不重要位>摆列起来重构奥秘信息,算法描述以下:p1EanqFDPw
嵌入过程:for(i=1。i<=像素序列个数。i++>
si←ci
for(i=1。i<=奥秘信息长度。i++>
将采纳的像素点的最不重要位挨次替代成奥秘信息
sji←cji←→mi
提取过程:for(i=1。i<=奥秘信息长度。i++>
{i←→ji//序采纳
mi←LSB(cji>
2/19
个人采集整理资料,仅供交流学习,勿作商业用途
}
五、实验内容与步骤
基本演示
环境:matlab
LSB,LeastSignificantBits,最低有效位,将图像加密处
理。
此次将经过位平面的切割以后,嵌入一张隐私图片,一些人的隐私交流很有可能经过这个,比方美国的某某人,自然这个不过最简单的。DXDiTa9E3d
位平面切割是将数字图像分解为位平面,比方上一篇文章讲到的图片的8位的数据种类,可以让我们每一位所起的作用。一边学的时候也带着疑问,为何用bitget呢。RTCrpUDGiT
经过实验也证明自己的想法是正确的,第一bitget(X,Y>是拿到X二进制的值的Y位。
[plain]viewplaincopy
>>bitget(1,1>
2.
ans=
4.

6.
3/19
个人采集整理资料,仅供交流学习,勿作商业用途
>>bitget(1,2>
8.
ans=
10.

12.
>>
那么我们可以想一想,一幅8位的数字图像<无符号种类),最高是
11111111<二进制),即2^8-1,255,用大腿一想,自然是第八位
起决定性作用,假如有一百万零一这个数字,少了最前面的一个一
和最后边的一个一可是两码事。5PCzVD7HxA
举个例子,我切除图像的一部分:
[plain]viewplaincopy
1.
>>
q
=
f(122:130,122:130>

2.
>>
imwrite(q,''>

3.
>>
f
=
imread(''>
4.
f=
6.
7.
155
154
149
141
134
129
129
1
30
127
4/19
个人采集整理资料,仅供交流学习,勿作商业用途
8.
171
169
166
161
157
154
154
1
54
148
9.
173
171
170
170
171
171
169
1
68
163
10.
165
164
164
167
170
172
171
1
69
165
11.
166
166
167
169
171
172
172
1
71
168
12.
174
175
175
174
170
169
169
1
70
175
13.
179
182
181
174
164
159
160
1
64
172
14.
184
186
185
174
160
152
155
1
60
161
15.
182
185
180
167
154
149
148
1
48
149
每个像素点的值这么大。
接下来:
[plain]viewplaincopy
1.>>t=bitget(f,8>
2.
5/19
个人采集整理资料,仅供交流学习,勿作商业用途
t=
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
14.
>>
6/19
个人采集整理资料,仅供交流学习,勿作商业用途
最高位是决定性作用的一层。因此,要嵌入图像,就要嵌入到第一
层,影响最小。
[plain]viewplaincopy
1.
>>
f
=
imread(''>

2.
>>
g
=
bitget(f,8>。
这样g固然是第八层的图像,可是都是二进制最高位的值,非
0即
1,而在为灰度图像看来,都是黑色。需要变换成二值图像。
jLBHrnAILg
[plain]viewplaincopy
t=logical(g>。
接下来,我把自己的话嵌入到照片中。
[plain]viewplaincopy
1.>>b=imread(''>。
>>c=im2bw(b>。
此次是反过来,我们是要把一幅8位数据种类的图像嵌入到位图中,
那第一要把8位的数据变换成二进制,用上边的im2bw。
xHAQX74J0X
先看看嵌入到影响最大的一层的成效如何:
[plain]viewplaincopy
7/19
个人采集整理资料,仅供交流学习,勿作商业用途
1.>>w=bitset(a,8,c>。
>>imshow(w>
接下来,嵌入到第一层:
[plain]viewplaincopy
1.
>>
w=bitset(a,1,c>。
2.
>>
imshow(w>
8/19
个人采集整理资料,仅供交流学习,勿作商业用途
几乎是看不到什么的,当你想看看你嵌入什么图像时,只需要把被
替代的第一层拿出。
[plain]viewplaincopy
1.>>y=bitget(w,1>。
>>imshow(logical(y>>
1、随机采纳图像载体像素,实现奥秘信息的嵌入与提取
<1)奥秘信息的嵌入
%文件名:
%函数功能:本函数将完成随机选择LSB的信息奥秘,载体采纳灰度
BMP图
9/19
个人采集整理资料,仅供交流学习,勿作商业用途
%输入格式举
:[ste_cover,len_total]=randlsbhide(′′,′′,′′,2001>LDAYtRyKfE
%参数说明:
%input是信息隐蔽载体图像%file是奥秘信息文件
%output是信息奥秘后的生成图像
%key是随机间隔函数的密钥
function[ste_cover,len_total]=randlsbhide(input,file,output
,key>Zzz6ZB2Ltk
%读入图像矩阵
cover=imread(input>。
ste_cover=cover。ste_cover=double(ste_cover>。
%将文本文件变换为二进制序列
f_id=fopen(file,′r′>。
[msg,len_total]=fread(f_id,′ubit1′>。
%判断嵌入信息量能否过大
[m,n]=size(ste_cover>。
Iflen_total>m*n
error(′嵌入信息量过大,请更换图像′>。
end
%p作为信息嵌入位数计数
p=1。
10/19

LSB信息隐藏实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息