LSB信息隐藏实验报告

合集下载

lsb信息隐藏

lsb信息隐藏

LSB算法的信息隐藏实验单位:三系一队姓名:马波学号:3222008030LSB信息隐藏实验一、实验目的1.掌握LSB算法原理2.熟悉信息隐藏与提取的流程3.锻炼算法的程序实现能力二、实验原理1.信息隐藏用秘密信息比特替换载体中的最不重要部分,可以达到对信息隐藏的目的。

在数字图像中,每个字节的最低位对图像信息的影响最小,因此将数字图像的最低位用信息比特替换可以实现信息隐藏。

由于载体图像的每个字节只隐藏一个秘密信息比特,所以只有当载体图像的大小是秘密信息大小的8倍以上时才能完整的将秘密信息隐藏。

提取信息位并隐藏的示意图:2.信息提取在隐藏了秘密信息的数字图像中,每个字节的最低位就是秘密信息比特位,只需将这些信息比特提取出来并组合,就可以恢复出原来的秘密信息。

提取信息示意图:三、实验内容A.将秘密信息隐藏在载体的最低位,检验算法的鲁棒性(1)读入秘密信息(此实验中秘密信息为二值图像)(2)把秘密信息的比特位放入载体的最低位(3)给隐藏了秘密信息的图像加入大小为1的噪声加入噪声大小为1时:加入噪声为2时:B.将秘密信息隐藏在载体的最高位,检验算法的鲁棒性(1)读入秘密信息(此实验中秘密信息为二值图像)(2)把秘密信息的比特位隐藏在载体的最高位(3)分别给隐藏了秘密信息的图像加入大小为1和2的噪声C.将秘密信息隐藏在载体的第三位,检验算法的鲁棒性(1)同A中的(1)(2)把秘密信息比特位隐藏在载体的第三位(3)分别给隐藏了秘密信息的图片加入大小为1、2和3的噪声五、实验总结1.当秘密信息隐藏在最低位时,对载体的改变小,载体质量较高。

但鲁棒性较差,有噪声干扰时很容易发生信息丢失从而无法恢复出秘密信息2.当秘密信息隐藏在最高位时,图像的鲁棒性增强,受到较大噪声干扰时仍能恢复出秘密信息,但对图像的改变较大,隐藏的位数越高图像的质量越低。

3.当隐藏的信息位介于最低位和最高位时,选择合适的位置,既可以提高信息隐藏的鲁棒性,又对图像的质量影响不大,所以,进行信息隐藏时可以考虑LSB的改进。

信息隐藏实验(LSB隐写,随机LSB隐写,RS隐写分析)

信息隐藏实验(LSB隐写,随机LSB隐写,RS隐写分析)

信息隐藏实验二LSB隐写分析姓名:周伟康学号:班级:一:实验要求1、针对自己实现的隐写算法(嵌入、提取),计算隐蔽载体的PSNR值,通过PSNR值来评估隐写对图像质量的影响,并与主观感受做对比。

2、实现一种隐写分析方法,对隐蔽载体进行检测(卡方、RS……)二:实验步骤1、编写随机选点函数,完善顺序和随机两种LSB信息嵌入和提取。

%随机间隔选点函数%[row, col] = randinterval(test, 60, 1983);function [row, col] = randinterval(matrix, count, key)[m, n] = size(matrix);interval1 = floor(m * n / count) + 1;interval2 = interval1 - 2;if interval2 == 0error('载体太小,不能将秘密消息隐藏其内!');endrand('seed', key);a = rand(1, count);%initializerow = zeros([1 count]);col = zeros([1 count]);r = 1; c = 1;row(1,1) = r;col(1,1) = c;for i = 2 : countif a(i) >= 0.5c = c + interval1;elsec = c + interval2;endif c > nr = r + 1;if r > merror('载体太小,不能将秘密消息隐藏其内!');endc = mod(c, n);if c==0c = 1;endendrow(1, i) = r;col(1, i) = c;end选取8*8的矩阵测试2、对比原始图像和隐藏信息后图像,计算隐蔽载体的均方差(MSE)进而计算峰值信噪比(PSNR),评估隐写对图像质量的影响。

信息隐藏实验报告-信息隐藏技术

信息隐藏实验报告-信息隐藏技术

实验目的隐写分析以及变换域隐写技术实验内容针对LSB隐写的卡方分析a)实现针对LSB隐写的卡方分析b)分析实验性能针对LSB隐写的RS分析a)实现针对LSB隐写的RS分析b)分析实验性能JPEG压缩算法a)分析JPEG压缩算法的主要流程Jsteg隐写算法a)实现Jsteg隐写算法b)分析实验性能F3隐写算法a)实现F3隐写算法b)分析实验性能实验工具及平台■Windows+Matlab□其它:(请注明)实验涉及到的相关算法1、与实验内容选择的项目对应;2、请使用流程图、伪代码、NS 图或文字方式描述,不要..贴代码 卡方隐写分析卡方隐写分析主要利用了LSB 隐写后图像的值对效应。

它需要LSB 隐写满足如下的条件:1. 嵌入信息中0、1的分布较为均匀,即各为50%左右。

由于信息嵌入到载体之前通常需要经过加密操作,因此这一点是容易满足的。

2. 图像需要有较多的像素点被嵌入信息。

当嵌入信息较少时,卡方分析的效果并不精确。

卡方分析的原理是:若设ℎj 表示图像载体中灰度值为j 的像素数量,如果载体图像没有使用LSB 隐写算法,那么ℎ2i 和ℎ2i+1的值通常相差较大,而LSB 隐写方法将秘密信息取代图像的最低位,由于秘密信息通常是加密过的,因此可以看成0、1分布均匀的比特流。

在嵌入过程中只存在2i →2i +1而不存在2i →2i −1的变换,因此使得ℎ2i 和ℎ2i+1的值趋于一致,我们能够借助改变的统计特性判断图像是否经过隐写。

我们首先定义ℎ2i ∗=ℎ2i +ℎ2i+12,由LSB 隐写算法的性质我们可以知道在嵌入前后该值是不变的。

由中心极限定理,我们有ℎ2i −ℎ2i+1√(2ℎ2i ∗)→N(0,1) 因此r = ∑(ℎ2i −ℎ2i ∗)2ℎ2i ∗k i=1服从卡方分布。

结合卡方分布的密度计算函数我们可以计算出载体被隐写的可能性为:p =1−12k−12T(k −12)∫exp (−t 2)t k−12−1dt r0 当p 的值接近于1时,我们可以推断出载体图像中含有秘密信息。

信息隐藏实验十LSB信息隐藏的卡方分析

信息隐藏实验十LSB信息隐藏的卡方分析

信息隐藏实验十LSB信息隐藏的卡方分析信息隐藏是一种将秘密信息嵌入到载体数据中的技术。

嵌入信息的最广泛应用之一是最低有效位(LSB)信息隐藏。

在LSB信息隐藏中,秘密信息位嵌入到像素的最低有效位中,而保持其他位不受影响。

该技术在数字音频、图像和视频领域得到广泛应用。

卡方分析是一种统计方法,用于衡量统计数据的拟合程度。

在LSB信息隐藏中,卡方分析可以用于分析嵌入数据的随机性。

通过计算嵌入数据和原始数据之间的差异,可以评估嵌入信息与载体数据的一致性。

LSB信息隐藏的实验中,首先需要得到原始的载体数据。

这可以是一幅图像、一段音频或一段视频。

然后,选择一个合适的秘密信息进行嵌入。

秘密信息可以是一串文本、一张图像或一个视频片段。

接下来,将秘密信息的二进制表示按位进行嵌入到载体数据的最低有效位中。

此时,嵌入数据已准备好。

进行卡方分析的下一步是计算频数。

对于每个像素,统计其最低有效位(被嵌入数据所占据的位)出现1和0的频数。

同时,计算原始数据中最低有效位出现1和0的频数。

比较两组频数可以得到嵌入数据和原始数据之间的差异。

卡方分析可以用来评估嵌入数据的随机性。

根据卡方分布表,可以计算卡方值。

通过比较卡方值和临界值,可以判断嵌入数据的随机性是否达到了预期。

如果卡方值小于临界值,则表明嵌入数据的分布与原始数据的分布存在显著差异,嵌入数据不具备较好的随机性。

LSB信息隐藏的卡方分析还可以用于评估嵌入数据的容量。

通过计算嵌入数据和原始数据之间的差异,可以推断嵌入数据的容量。

如果嵌入数据的容量越大,则嵌入数据与原始数据的差异越大。

卡方分析可以帮助评估嵌入数据的最大容量,以便在实际应用中选择合适的嵌入容量。

LSB信息隐藏的卡方分析还可以用于检测嵌入数据的存在。

通过比较卡方值和临界值,可以判断嵌入数据是否存在于载体数据中。

如果卡方值大于临界值,则可以得出嵌入数据的存在性。

这在数字取证和数字水印领域具有重要意义。

LSB信息隐藏的卡方分析是一种有力的工具,用于评估嵌入数据的随机性、容量和存在性。

信息隐藏实验报告总结(3篇)

信息隐藏实验报告总结(3篇)

第1篇一、实验背景随着信息技术的飞速发展,信息安全问题日益突出。

信息隐藏技术作为一种隐蔽通信手段,在军事、商业、医疗等多个领域具有重要的应用价值。

本实验旨在通过实际操作,深入了解信息隐藏技术的基本原理,掌握其实现方法,并分析其在实际应用中的优缺点。

二、实验目的1. 理解信息隐藏技术的概念、原理和应用领域。

2. 掌握信息隐藏技术的实现方法,包括空域、频域和变换域等方法。

3. 分析信息隐藏技术的安全性、鲁棒性和可检测性。

4. 结合实际案例,探讨信息隐藏技术在各个领域的应用。

三、实验内容本次实验主要分为以下几个部分:1. 信息隐藏技术概述:介绍了信息隐藏技术的概念、原理和应用领域,并简要分析了信息隐藏技术的安全性、鲁棒性和可检测性。

2. 空域信息隐藏:通过将秘密信息嵌入到载体图像的像素值中,实现信息的隐蔽传输。

实验中,我们采用了基于直方图平移的算法,将秘密信息嵌入到载体图像中。

3. 频域信息隐藏:将秘密信息嵌入到载体图像的频域系数中,实现信息的隐蔽传输。

实验中,我们采用了基于DCT变换的算法,将秘密信息嵌入到载体图像的DCT系数中。

4. 变换域信息隐藏:将秘密信息嵌入到载体图像的变换域系数中,实现信息的隐蔽传输。

实验中,我们采用了基于小波变换的算法,将秘密信息嵌入到载体图像的小波系数中。

5. 信息隐藏技术的安全性、鲁棒性和可检测性分析:通过实验,分析了不同信息隐藏方法的优缺点,并探讨了如何提高信息隐藏技术的安全性、鲁棒性和可检测性。

6. 信息隐藏技术在各个领域的应用:结合实际案例,探讨了信息隐藏技术在军事、商业、医疗等领域的应用。

四、实验结果与分析1. 空域信息隐藏:实验结果表明,基于直方图平移的算法能够将秘密信息嵌入到载体图像中,且嵌入过程对图像质量的影响较小。

然而,该方法对噪声和压缩等攻击较为敏感。

2. 频域信息隐藏:实验结果表明,基于DCT变换的算法能够将秘密信息嵌入到载体图像的频域系数中,且嵌入过程对图像质量的影响较小。

LSB图像信息隐藏实验

LSB图像信息隐藏实验

LSB图像信息隐藏实验【实验环境】ISES客户端注:请将信息隐藏测试载体放在指定目录下:C:\ISES【实验步骤】一、信息嵌入(一)选择载体图片注:载体图片有BMP、JPG、GIF、PNG四种格式,这里只以JPG格式图片为例。

(1)选择载体图片,进入该实验,点击“选择载体图片”按钮选择合适的要嵌入信息的载体图片,如图4.1.1-1所示。

图4.1.1-1选择载体图片(2)点击“二进制展示”按钮可以二进制形式查看图片,如图4.1.1-2所示。

图4.1.1-2以二进制查看图片(3)点击“计算”按钮,可查看图片信息,如图4.1.1-3所示。

图4.1.1-3查看图片信息(二)选择要隐藏文件(1)点击“选择要隐藏的文件”按钮选择要嵌入的信息文件,并点击“计算”按钮查看信息内容。

如图4.1.1-4所示。

需注意的是要嵌入的信息数据大小应小于载体容量,且最好为文本文件,以便对比观察原始信息与提取的信息。

图4.1.1-4选择要隐藏文件(2)点击“二进制转换”按钮,查看隐藏信息的二进制流,如图4.1.1-5所示。

图4.1.1-5以二进制流形式查看隐藏信息(三)嵌入信息(1)点击“嵌入”按钮,将隐藏信息嵌入到载体图片中,并另存为成新的带有隐藏信息的图片,如图4.1.1-6所示。

图4.1.1-6嵌入信息成功(2)点击“确定”按钮,弹出图片对比窗口,如图4.1.1-7所示。

图4.1.1-7图片对比窗口(3)可通过选项卡选择图片对比及细节对比,以对比原始载体图片和嵌入信息后的载体是否存在视觉上的可觉察的变化,并观察载体文件嵌入前后的细节变化。

(四)观察嵌入信息过程(1)点击“读取信息”及“读取水印”按钮,读取载体的一个字节信息及水印的一位信息,如图4.1.1-8所示。

图4.1.1-8读取信息(2)点击“嵌入1”按钮,执行嵌入操作,如图4.1.1-9所示。

图4.1.1-9嵌入信息(3)点击“嵌入”按钮,循环执行上述过程将全部信息嵌入到载体图片中,并保存、对比结果。

信息隐藏实验报告

信息隐藏实验报告

信息隐藏实验报告实验题目【一】实现空域图像水印方法中的LSB算法:原始图像选取大小为512*512的elain图像或者goldhill图像,选择一个LSB水印算法以及适当的水印序列;利用选定的水印嵌入算法将水印信息嵌入到原始图像中。

在嵌入水印之后的图像中提取水印,是否可以判定图像中含有水印,同时计算含水印图像的峰值信噪比。

将含有水印的图像缩小为256*256之后,再放大为512*512,这时再提取水印,是否可以判定图像中含有水印。

实验结果缩略图:lsb.fig实验程序% LSB 算法:clear;A=imread('elain.bmp');B=A;message='www`s homework';m=length(message);n=size(A);k=1;for i=1:n(1)for j=1:n(2)if k<=m %如果消息输入完成则为0h=bitget(double(message(k)),8:-1:1);elseh=[0,0,0,0,0,0,0,0];endc=bitget(A(i,j),8:-1:1);if mod(j,8) == 0p=8;elsep=mod(j,8);endv=0;for q=1:7v=xor(v,c(q));endv=xor(v, h(p) );B(i,j)=bitset(A(i,j),1,v);if mod(j,8) == 0k=k+1;endendend% 提取信息out=char;tmp=0 ;t=1;for i=1:n(1)for j=1:n(2)c=bitget(B(i,j),8:-1:1);v=0;for q=1:8v=xor(v,c(q));endif mod(j,8)==0p=1;elsep=9-mod(j,8);endtmp=bitset(tmp,p,v);if mod(j,8)==0out(t)=char(tmp);t=t+1;tmp=0;endendend%显示图像figure;subplot(1,2,1);image(A);axis('square');title('原始图像');subplot(1,2,2);imshow(B);axis('square');title('加入水印后图像');out实验题目【二】实现基于扩频的图像水印算法:原始图像选取大小为512*512的elain图像或者goldhill图像,水印图像选取为以XXX印或者XX之印(XXX为自己的名字)为图案的、适当大小的二值黑白图像,再选取一个基于扩频的图像水印算法;利用选定的水印嵌入算法将水印信息嵌入到原始图像中。

信息隐藏 实验十 LSB信息隐藏的卡方分析

信息隐藏 实验十 LSB信息隐藏的卡方分析

实验十 LSB 信息隐藏的卡方分析一,实验目的:了解什么是隐写分析,隐写分析与信息隐藏和数字水印的关系。

掌握基于图像的LSB 隐写的分析方法,设计并实现一种基于图像的LSB 卡方隐写分析方法。

二,实验环境1, Windows XP 操作系统 2, Matlab 软件 3, BMP 格式图片文件 三,实验原理隐写术和隐写分析技术是互相矛盾又是相互促进的,隐写分析是指对可疑的载体信息进行攻击以达到检测、破坏,甚至提取秘密信息的技术,它的主要目标是为了揭示媒体中隐蔽信息的存在性,甚至只是指出媒体中存在秘密信息的可疑性。

图像LSB 信息隐藏的方法是用嵌入的秘密信息取代载体图像的最低比特位,原来图像的7个高位平面与代表秘密信息的最低位平面组成含隐蔽信息的新图像。

虽然LSB 隐写在隐藏大量信息的情况下依然保持良好的视觉隐蔽性,但使用有效的统计分析工具可判断一幅载体图像中是否含有秘密信息。

目前对于图像LSB 信息隐藏主要分析方法有卡方分析、信息量估算法、RS 分析法和GPC 分析法等。

卡方分析的步骤是:设图像中灰度值为j 的象素数为hj ,其中0≤j ≤255。

如果载体图像未经隐写,h2i 和h2i+1的值会相差很大。

秘密信息在嵌入之前往往经过加密,可以看作是0、1 随机分布的比特流,而且值为0与1的可能性都是1/2。

如果秘密信息完全替代载体图像的最低位,那么h2i 和h2i+1的值会比较接近,可以根据这个性质判断图像是否经过隐写。

定量分析载体图像最低位完全嵌入秘密信息的情况:嵌入信息会改变直方图的分布,由差别很大变得近似相等,但是却不会改变h2i+h2i+1的值,因为样值要么不改变,要么就在h2i 和h2i+1之间改变。

令 显然这个值在隐写前后是不会变的。

如果某个样值为2i ,那么它对参数q 的贡献为1/2;如果样值为2i+1 ,对221*22i i i h h h ++=2212i i h h q +-=参数q 的贡献为-1/2。

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

Centr al South University信息隐藏实验报告学院: 信息科学与工程学院班级:信息安全1201学号:0909121724姓名:吕秋言时间: 2018年6 月实验一:基于图像的LSB信息隐藏一、实验目的该实验为验证性实验。

目的是通过实验使学生掌握经典信息隐藏算法,在Matlab环境下,编写基于图像的LSB信息隐藏算法程序。

用Matlab函数实现LSB信息隐藏及提取,并进行分析。

b5E2RGbCAP二、实验要求1、实验前要做好充分准备,包括:复习实验所涉及的知识点,掌握Matlab编程语言和调试环境。

2、实验时注意记录实验过程中产生的数据、出现的问题及解决问题的方法。

3、理论联系实际,认真分析实验结果,回答思考题。

4、实验后完成实验报告,并附相关截图。

三、实验环境计算机<安装Visual C++ 6.0和Matlab 6.5以上版本)四、实验原理隐秘算法核心是将我们选取的像素点的最不重要位依次替换成秘密信息,以达到信息隐秘的目的。

嵌入过程包括选择一个图像载体像素点的子集{j1,…,jl(m>},然后在子集上执行替换操作像素cji←→mi,即把cji的LSB与秘密信息mi进行交换(mi可以是1或0>。

一个替换系统也可以修改载体图像像素点的多个比特,例如,在一个载体元素的两个最低比特位隐藏两比特、三比特信息,可以使得信息嵌入量大大增加但同时将破坏载体图像的质量。

在提取过程中,找出被选择载体图像的像素序列,将LSB(最不重要位>排列起来重构秘密信息,算法描述如下:p1EanqFDPw嵌入过程:for(i=1。

i<=像素序列个数。

i++>si←cifor(i=1。

i<=秘密消息长度。

i++>//将选取的像素点的最不重要位依次替换成秘密信息sji←cji←→mi提取过程:for(i=1。

i<=秘密消息长度。

i++>{ i←→ji//序选取mi←LSB(cji>}五、实验内容与步骤基本演示环境:matlabLSB,Least Significant Bits,最低有效位,将图像加密处理。

这次将通过位平面的切割之后,嵌入一张隐私图片,一些人的隐私交流很有可能通过这个,比如美国的某某人,当然这个只是最简单的。

DXDiTa9E3d位平面切割是将数字图像分解为位平面,比如上一篇文章讲到的图片的8位的数据类型,可以让我们每一位所起的作用。

一边学的时候也带着疑问,为什么用bitget呢。

RTCrpUDGiT经过实验也证明自己的想法是正确的,首先bitget(X,Y>是拿到X二进制的值的Y位。

[plain] view plaincopy1.>> bitget(1,1>2.3.ans =4.5. 16.7.>> bitget(1,2>8.9.ans =10.11.012.13.>>那么我们可以想想,一幅8位的数字图像<无符号类型),最高是11111111<二进制),即2^8 - 1,255,用大腿一想,当然是第八位起决定性作用,假如有一百万零一这个数字,少了最前面的一个一和最后面的一个一可是两码事。

5PCzVD7HxA举个例子,我切除图像的一部分:[plain] view plaincopy1.>> q = f(122:130,122:130>。

2.>> imwrite(q,'verysmall.jpg'>。

3.>> f = imread('verysmall.jpg'>4.5. f =6.7.155 154 149 141 134 129 129 130 1278.171 169 166 161 157 154 154 154 1489.173 171 170 170 171 171 169 168 16310.165 164 164 167 170 172 171 169 16511.166 166 167 169 171 172 172 171 16812.174 175 175 174 170 169 169 170 17513.179 182 181 174 164 159 160 164 17214.184 186 185 174 160 152 155 160 16115.182 185 180 167 154 149 148 148 149每个像素点的值这么大。

接下来:[plain] view plaincopy1.>> t = bitget(f,8>2.3.t =4.5. 1 1 1 1 1 11 1 06. 1 1 1 1 1 11 1 17. 1 1 1 1 1 11 1 18. 1 1 1 1 1 11 1 19. 1 1 1 1 1 11 1 110. 1 1 1 1 1 11 1 111. 1 1 1 1 1 11 1 112. 1 1 1 1 1 11 1 113. 1 1 1 1 1 11 1 114.15.>>最高位是决定性作用的一层。

所以,要嵌入图像,就要嵌入到第一层,影响最小。

[plain] view plaincopy1.>> f = imread('lina.jpg'>。

2.>> g = bitget(f,8>。

这样g虽然是第八层的图像,但是都是二进制最高位的值,非0即1,而在为灰度图像看来,都是黑色。

需要转换成二值图像。

jLBHrnAILg[plain] view plaincopy1.t = logical(g>。

接下来,我把自己的话嵌入到照片中。

[plain] view plaincopy1.>> b = imread('love.jpg'>。

2.>> c = im2bw(b>。

这次是反过来,我们是要把一幅8位数据类型的图像嵌入到位图中,那首先要把8位的数据转换成二进制,用上面的im2bw。

xHAQX74J0X先看看嵌入到影响最大的一层的效果如何:[plain] view plaincopy1.>> w = bitset(a,8,c>。

2.>> imshow(w>接下来,嵌入到第一层:[plain] view plaincopy1.>> w = bitset(a,1,c>。

2.>> imshow(w>几乎是看不到什么的,当你想看看你嵌入什么图像时,只需要把被替换的第一层取出。

[plain] view plaincopy1.>> y = bitget(w,1>。

2.>> imshow(logical(y>>1、随机选取图像载体像素,实现隐秘消息的嵌入与提取<1)隐秘消息的嵌入%文件名:randlsbhide.m%函数功能:本函数将完成随机选择LSB的信息隐秘,载体选用灰度BMP图%输入格式举例:[ste_cover,len_total]=randlsbhide(′glenna.bmp′,′messa ge.txt′,′scover.bmp′,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>。

If len_total>m*nerror(′嵌入消息量过大,请更换图像′>。

end%p作为消息嵌入位数计数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_totalbreak。

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′,′scover.bmp′> %参数说明:%original是原始载体图像%hided是隐秘后的图像%F是差值矩阵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%函数功能:本函数将完成提取隐秘于LSB上的秘密消息%输入格式举例:result=ran dlsbget(′scover.jpg′,56,′secret.txt′,2001> rqyn14ZNXI%参数说明:%output是信息隐秘后的图像%len_total是秘密消息的长度%goalfile是提取出的秘密消息文件%key是随机间隔函数的密钥%result是提取的消息functionresult=randlsbget(output,len_total,goalfile,key>EmxvxOtOco ste_cover=imread(output>。

相关文档
最新文档