预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

个人收集整理资料,仅供交流学习,勿作商业用途 个人收集整理资料,仅供交流学习,勿作商业用途个人收集整理资料,仅供交流学习,勿作商业用途 个人收集整理资料,仅供交流学习,勿作商业用途 /NUMPAGES18 CentralSouthUniversity 信息隐藏 实验报告 学院:信息科学与工程学院 班级:信息安全1201 学号:0909121724 姓名:吕秋言 时间:2018年6月 实验一:基于图像的LSB信息隐藏 实验目的 该实验为验证性实验。目的是通过实验使学生掌握经典信息隐藏算法,在Matlab环境下,编写基于图像的LSB信息隐藏算法程序。用Matlab函数实现LSB信息隐藏及提取,并进行分析。b5E2RGbCAP 实验要求 1、实验前要做好充分准备,包括:复习实验所涉及的知识点,掌握Matlab编程语言和调试环境。 2、实验时注意记录实验过程中产生的数据、出现的问题及解决问题的方法。 3、理论联系实际,认真分析实验结果,回答思考题。 4、实验后完成实验报告,并附相关截图。 实验环境 计算机<安装VisualC++6.0和Matlab6.5以上版本) 实验原理 隐秘算法核心是将我们选取的像素点的最不重要位依次替换成秘密信息,以达到信息隐秘的目的。嵌入过程包括选择一个图像载体像素点的子集{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> } 实验内容与步骤 基本演示 环境:matlab LSB,LeastSignificantBits,最低有效位,将图像加密处理。 这次将通过位平面的切割之后,嵌入一张隐私图片,一些人的隐私交流很有可能通过这个,比如美国的某某人,当然这个只是最简单的。DXDiTa9E3d 位平面切割是将数字图像分解为位平面,比如上一篇文章讲到的图片的8位的数据类型,可以让我们每一位所起的作用。一边学的时候也带着疑问,为什么用bitget呢。RTCrpUDGiT 经过实验也证明自己的想法是正确的,首先bitget(X,Y>是拿到X二进制的值的Y位。 [plain]viewplaincopy >>bitget(1,1> ans= 1 >>bitget(1,2> ans= 0 >> 那么我们可以想想,一幅8位的数字图像<无符号类型),最高是11111111<二进制),即2^8-1,255,用大腿一想,当然是第八位起决定性作用,假如有一百万零一这个数字,少了最前面的一个一和最后面的一个一可是两码事。5PCzVD7HxA 举个例子,我切除图像的一部分: [plain]viewplaincopy >>q=f(122:130,122:130>。 >>imwrite(q,'verysmall.jpg'>。 >>f=imread('verysmall.jpg'> f= 155154149141134129129130127 171169166161157154154154148 173171170170171171169168163 165164164167170172171169165 166166167169171172172171168 174175175174170169169170175 179182181174164159160164172 184186185174160152155160161 182185180167154149148148149 每个像素点的值这么大。 接下来: [plain]viewplaincopy >>t=bitget(f,8> t= 111111110 111111111 111111111 111111111 111111111 111111111 111111111 111111111 111111111 >> 最高位是决定性作用的一层。所以,要嵌入图像,就要嵌入到第一层,影响最小。 [plain]viewplaincopy >>f=imread('lina.jpg'>。 >>g=bitget(f,8>