




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Centr中南大,攀al South University信息隐藏实验报告学院:信息科学与工程学院班级:信息安全1201学号:0909121724姓名:吕秋言 时间:2018 年6月实验一:基于图像的LSB信息隐藏一、 实验目的该实验为验证性实验。目的是通过实验使学生掌握经典信息隐藏算法,在Matlab环境下,编写基于图像的LSB信息隐藏算法程序。用Matlab函数实现LSB信息隐藏及提取,并进行分析。b5E2RGbCAP二、实验要求1、实验前要做好充分准备,包括:复习实验所涉及的知识点,掌握Matlab编程语言和调试环境。2、实验时注意记录实验过程中产生的数据、出现的问题及解决问题的方法。3
2、、理论联系实际,认真分析实验结果,回答思考题。4、实验后完成实验报告,并附相关截图。三、实验环境计算机 <安装Visual C+ 6.0 和Matlab 6.5 以上版本)四、实验原理隐秘算法核心是将我们选取的像素点的最不重要位依次替换成 秘密信息,以达到信息隐秘的目的。嵌入过程包括选择一个图像载体 像素点的子集(j1, ,jl(m>,然后在子集上执行替换操作像素 cji->mi,即把cji的LSB与秘密信息mi进行交换(mi可以是1或 0>。一个替换系统也可以修改载体图像像素点的多个比特,例如,在一个载体元素的两个最低比特位隐藏两比特、三比特信息,可以使得信息嵌入量大
3、大增加但同时将破坏载体图像的质量。在提取过程中 , 找出被选择载体图像的像素序列,将LSB(最不重要位 >排列起来重构 秘密信息,算法描述如下:p1EanqFDPw嵌入过程:for(i=1 。1<=像素序列个数。i+> si cifor(i=1 。1<=秘密消息长度。i+>/将选取的像素点的最不重要位依次替换成秘密信息sji cji ->mi提取过程:for(i=1 。1<=秘密消息长度。i+> i -ji 序选取 mi-LSB(cji>)五、 实验内容与步骤基本演示环境:matlabLSB,Least Significant Bits ,
4、最低有效位,将图像加密处 理。这次将通过位平面的切割之后,嵌入一张隐私图片,一些 人的隐私交流很有可能通过这个,比如美国的某某人,当然这个只 是最简单的。DXDiTa9E3d位平面切割是将数字图像分解为位平面,比如上一篇文 章讲到的图片的8位的数据类型,可以让我们每一位所起的作用。 一边学的时候也带着疑问,为什么用 bitget呢。RTCrpUDGiT 经过实验也证明自己的想法是正确的,首先 bitget(X,Y>是拿到X二进制的值的Y位。plain view plaincopy c1. >> bitget(1,1>2.3. ans =4.5. 17. >>
5、 bitget(1,2>8.9. ans =10.11. 012.13. >>那么我们可以想想,一幅8位的数字图像 <无符号类型),最高是 11111111J进制),即2八8 - 1,255,用大腿一想,当然是第八位 起决定性作用,假如有一百万零一这个数字,少了最前面的一个一和最后面的一个一可是两码事。5PCzVD7HxA举个例子,我切除图像的一部分:plain view plaincopy c.1. >> q = f(122:130,122:130> 。2. >> imwrite(q,'verysmall.jpg'>
6、 。3. >> f = imread('verysmall.jpg'>4.5. f =6.7. 1551541491411341291291301278.1711691661611571541549.10.11.12.13.14.15.541481731711701701711711696816316516416416717017217169165166166167169171172172711681741751751741701691697017517918218117416415916064172184186185174160152155601611821
7、8518016715414914848149每个像素点的值这么大。接下来:plain view plaincopy1. >> tbitget(f,8>3. t =5.1111111106.1111111117.1111111118.1111111119.11111111110.11111111111.11111111112.11111111113.11111111114.最高位是决定性作用的一层。所以,要嵌入图像,就要嵌入到第一层,影响最小。plain view plaincopy c1. >>f=imread('lina.jpg'>。2.
8、>>g=bitget(f,8> 。这样g虽然是第八层的图像,但是都是二进制最高位的值,非 0即1,而在为灰度图像看来,都是黑色。需要转换成二值图像。jLBHrnAILgplain view plaincopy C1. t = logical(g> 。接下来,我把自己的话嵌入到照片中plain view plaincopy c.2. >> b = imread('love.jpg'>3. >> c = im2bw(b>。这次是反过来,我们是要把一幅8位数据类型的图像嵌入到位图中,那首先要把8位的数据转换成二进制,用上面的
9、im2bw。xHAQX74J0X先看看嵌入到影响最大的一层的效果如何:plain view plaincopy1. >> w = bitset(a,8,c>2. >> imshow(w>接下来,嵌入到第一层:plain view plaincopy c1. >> w = bitset(a,1,c>2. >> imshow(w>几乎是看不到什么的,当你想看看你嵌入什么图像时,只需要把被替换的第一层取出。plain view plaincopy 亡1. >> y = bitget(w,1> 。2. >&
10、gt; imshow(logical(y>>1、随机选取图像载体像素,实现隐秘消息的嵌入与提取<1)隐秘消息的嵌入版件名:randlsbhide.m网数功能:本函数将完成随机选择LSB的信息隐秘,载体选用灰度BMP®glenna.bmp' , messa喻入格式举 例:ste_cover,len_total=randlsbhide(ge.txt ' ,' scover.bmp ' ,20 01>LDAYtRyKfE%参数说明:%input是信息隐蔽载体图像%file是秘密消息文件%output是信息隐秘后的生成图像%key是随机
11、间隔函数的密钥functionste_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> 。If len
12、_total>m*nerror('嵌入消息量过大,请更换图像>。end%昨为消息嵌入位数计数p=1。须用随机间隔函数选取像素点row,col=randinterval(ste_cover,len_total,key>。流LSB隐秘消息for i=1:len_totalste_cover(row(i>,col(i>>=ste_cover(row(i>,col(i>>-mod(ste_cover(row(i>,col(i>>,2>+msg(p,1> 。 dvzfvkwMI1if p=len_totalbre
13、ak。endp=p+1。endste_cover=uint8(ste_cover> 。imwrite(ste_cover,output> 。烦示实验结果subplot(1,2,1> 。 imshow(cover>。title('原始图像>。subplot(1,2,2> 。imshow(output> 。 title('隐藏信息的图像<2)编写函数比较两幅图像区别烦件名:compare.m加数功能:本函数完成显示隐秘前后两幅图像的区别喻入格式举例:F=compare(' blenna.bmp' , ' sco
14、ver.bmp' >%参数说明:%original是原始载体图像%hided是隐秘后的图像%FM差值矩阵functionF=compare(original,hided>取原始载体图像矩阵W=imread(original> 。W=double(W>/255献取隐秘后图像矩阵E=imread(hided>。E=double(E>/255。%各两图像关!阵相减,显示效果旭意,MATLAB矩阵相减只支持double型imshow(mat2gray(F> ><3)隐秘消息的提取烦件名:randlsbget.m%0数功能:本函数将完成提取隐
15、秘于LSB上的秘密消息喻入格式举例:result=randlsbget( ' scover.jpg ' ,56, ' secret.txt,2001>rqyn14ZNXI%参数说明:%output是信息隐秘后的图像%len_total是秘密消息的长度%goalfile是提取出的秘密消息文件%key是随机间隔函数的密钥%result是提取的消息functionresult=randlsbget(output,len_total,goalfile,key>EmxvxOtOcoste_cover=imread(output> 。ste_cover=doubl
16、e(ste_cover> 。喏断嵌入消息量是否过大m,n=size(ste_cover> 。frr= fopen(goalfile, ' a' >。%p乍为消息嵌入位数计数器,将消息序列写回文本文件p=1。须用随机间隔函数选取像素点row,col=randinterval(ste_cover,len_total,key>。for i=1:len_totalifbitand(ste_cover(row(i>,col(i>>,1>=1fwrite(frr,1, ' bit1 ' >。result(p,1>=
17、1 。elsefwrite(frr,0, ' bit1 ' >。result(p,1>=0endif p=len_totalbreak。endp=p+1。endfclose(frr> 。2、顺序选取图像载体像素,实现隐秘消息的嵌入与提取<1)隐秘消息的嵌入版件名:lsbhide.m网数功能:本函数将完成在LSB上的顺序信息隐秘,载体选用灰度BMP®喻入格式举例:ste_cover,len_total=lsbhide( ' glenna.bmp' , message.txt',scover.bmp ' >Si
18、xE2yXPq5%参数说明:%input是信息隐蔽载体图像,为灰度BMPffl%file是秘密消息文件%output是信息隐秘后生成图像%ste_cover是信息隐秘后图像矩阵%len_total是秘密消息的长度,即容量functionste_cover,len_total=lsbhide(input,file,output>6ewMyirQFL献入图像矩阵cover=imread(input> 。ste_cover=cover。ste_cover=double(ste_cover> 。%各文本文件转换为二进制序列f_id=fopen(file, ' r' &
19、gt;。msg,len_total=fread(f_id, ' ubit1 ' >。喏断嵌入消息量是否过大m,n=size(ste_cover> 。iflen_total>m*nerror('嵌入消息量过大,请更换图像>。end%昨为消息嵌入位数计数难成信息隐秘后图像imwrite(ste_cover,output> 。烦示实验结果subplot(1,2,1> 。 imshow(cover>。title('原始图像>。subplot(1,2,2> 。imshow(output> 。 title('隐藏信息的图像<2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度建筑钢筋原材进口与国内销售合同
- 江西非标自动化设备项目申请报告参考范文
- 2022-2027年中国太阳饼行业市场调研及未来发展趋势预测报告
- 2025年四类轴承项目投资可行性研究分析报告
- 中国步进继电器行业市场深度研究及投资规划建议报告
- 2025年度地方预算单位公务卡项目电子发票应用合作协议
- 2025年度百货商品物流配送服务合同书
- 扫描灯行业市场发展及发展趋势与投资战略研究报告
- 2025年度航空航天设备维修服务合同范本-@-1
- 父母楼房合同范本
- 2024版《中医基础理论经络》课件完整版
- 《触不可及》影视鉴赏
- 北师大版 四年级下册心理健康教育 失败不可怕 |教案
- 医师定期考核人文医学考试题库500题(含参考答案)
- 读书分享课件:《一句顶一万句》
- 物业消防安全管理培训【共54张课件】
- 空心杯电机基础知识
- DL-T+5839-2021土石坝安全监测系统施工技术规范
- 历年交管12123驾照学法减分复习题库带答案下载
- 人教鄂教版-科学-三年级下册-知识点
- 2024-2034年中国注射用赖氨匹林行业市场竞争格局及投资前景展望报告
评论
0/150
提交评论