信息隐藏实验十一LSB信息隐藏的RS分析
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隐写分析姓名:周伟康学号:班级:一:实验要求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时,我们可以推断出载体图像中含有秘密信息。
信息隐藏技术_实验报告(3篇)
第1篇一、实验目的1. 了解信息隐藏技术的基本原理和实现方法。
2. 掌握信息隐藏技术在图像、音频和视频等数字媒体中的应用。
3. 通过实验验证信息隐藏技术的有效性和安全性。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 库:OpenCV、scikit-image、numpy、matplotlib三、实验内容1. 图像信息隐藏2. 音频信息隐藏3. 视频信息隐藏四、实验步骤1. 图像信息隐藏(1)选择一幅图像作为宿主图像,并选择一幅图像作为水印图像。
(2)将水印图像转换为二值图像。
(3)对宿主图像进行分块处理,将每个块转换为二值图像。
(4)根据密钥对水印图像进行置乱,提高安全性。
(5)将置乱后的水印图像嵌入到宿主图像的对应块中。
(6)提取水印图像,并与原始水印图像进行对比。
2. 音频信息隐藏(1)选择一段音频作为宿主音频,并选择一段音频作为水印音频。
(2)对宿主音频和水印音频进行分帧处理。
(3)根据密钥对水印音频进行置乱,提高安全性。
(4)将置乱后的水印音频嵌入到宿主音频的对应帧中。
(5)提取水印音频,并与原始水印音频进行对比。
3. 视频信息隐藏(1)选择一段视频作为宿主视频,并选择一段视频作为水印视频。
(2)对宿主视频和水印视频进行帧提取。
(3)根据密钥对水印视频进行置乱,提高安全性。
(4)将置乱后的水印视频嵌入到宿主视频的对应帧中。
(5)提取水印视频,并与原始水印视频进行对比。
五、实验结果与分析1. 图像信息隐藏实验结果表明,嵌入水印后的图像与原始图像在视觉效果上几乎没有差异,水印的嵌入效果良好。
同时,提取的水印图像与原始水印图像完全一致,证明了信息隐藏技术的有效性。
2. 音频信息隐藏实验结果表明,嵌入水印后的音频与原始音频在音质上几乎没有差异,水印的嵌入效果良好。
同时,提取的水印音频与原始水印音频完全一致,证明了信息隐藏技术的有效性。
3. 视频信息隐藏实验结果表明,嵌入水印后的视频与原始视频在视觉效果上几乎没有差异,水印的嵌入效果良好。
信息隐藏实验十LSB信息隐藏的卡方分析
信息隐藏实验十LSB信息隐藏的卡方分析信息隐藏是一种将秘密信息嵌入到载体数据中的技术。
嵌入信息的最广泛应用之一是最低有效位(LSB)信息隐藏。
在LSB信息隐藏中,秘密信息位嵌入到像素的最低有效位中,而保持其他位不受影响。
该技术在数字音频、图像和视频领域得到广泛应用。
卡方分析是一种统计方法,用于衡量统计数据的拟合程度。
在LSB信息隐藏中,卡方分析可以用于分析嵌入数据的随机性。
通过计算嵌入数据和原始数据之间的差异,可以评估嵌入信息与载体数据的一致性。
LSB信息隐藏的实验中,首先需要得到原始的载体数据。
这可以是一幅图像、一段音频或一段视频。
然后,选择一个合适的秘密信息进行嵌入。
秘密信息可以是一串文本、一张图像或一个视频片段。
接下来,将秘密信息的二进制表示按位进行嵌入到载体数据的最低有效位中。
此时,嵌入数据已准备好。
进行卡方分析的下一步是计算频数。
对于每个像素,统计其最低有效位(被嵌入数据所占据的位)出现1和0的频数。
同时,计算原始数据中最低有效位出现1和0的频数。
比较两组频数可以得到嵌入数据和原始数据之间的差异。
卡方分析可以用来评估嵌入数据的随机性。
根据卡方分布表,可以计算卡方值。
通过比较卡方值和临界值,可以判断嵌入数据的随机性是否达到了预期。
如果卡方值小于临界值,则表明嵌入数据的分布与原始数据的分布存在显著差异,嵌入数据不具备较好的随机性。
LSB信息隐藏的卡方分析还可以用于评估嵌入数据的容量。
通过计算嵌入数据和原始数据之间的差异,可以推断嵌入数据的容量。
如果嵌入数据的容量越大,则嵌入数据与原始数据的差异越大。
卡方分析可以帮助评估嵌入数据的最大容量,以便在实际应用中选择合适的嵌入容量。
LSB信息隐藏的卡方分析还可以用于检测嵌入数据的存在。
通过比较卡方值和临界值,可以判断嵌入数据是否存在于载体数据中。
如果卡方值大于临界值,则可以得出嵌入数据的存在性。
这在数字取证和数字水印领域具有重要意义。
LSB信息隐藏的卡方分析是一种有力的工具,用于评估嵌入数据的随机性、容量和存在性。
信息隐藏_实验报告
一、实验目的1. 了解信息隐藏的基本原理和方法。
2. 掌握数字图像、音频、视频等媒体中信息隐藏的实现技术。
3. 熟悉信息隐藏技术在实际应用中的重要性。
二、实验内容1. 数字图像信息隐藏2. 音频信息隐藏3. 视频信息隐藏三、实验原理信息隐藏是指将秘密信息嵌入到公开信息(如数字图像、音频、视频等)中,使得秘密信息在传输或存储过程中不易被发现。
信息隐藏技术广泛应用于网络安全、数字版权保护、隐私保护等领域。
四、实验步骤1. 数字图像信息隐藏(1)选择一幅数字图像作为公开信息,如图1所示。
(2)选择一幅与公开信息大小相同的数字图像作为载体图像,如图2所示。
(3)在载体图像中嵌入秘密信息,采用空域方法,如图3所示。
(4)提取嵌入的秘密信息,如图4所示。
2. 音频信息隐藏(1)选择一段音频作为公开信息,如图5所示。
(2)选择一段与公开信息时长相同的音频作为载体音频,如图6所示。
(3)在载体音频中嵌入秘密信息,采用时域方法,如图7所示。
(4)提取嵌入的秘密信息,如图8所示。
3. 视频信息隐藏(1)选择一段视频作为公开信息,如图9所示。
(2)选择一段与公开信息时长相同的视频作为载体视频,如图10所示。
(3)在载体视频中嵌入秘密信息,采用空域方法,如图11所示。
(4)提取嵌入的秘密信息,如图12所示。
五、实验结果与分析1. 数字图像信息隐藏实验结果表明,采用空域方法嵌入秘密信息后,嵌入秘密信息的图像与原始图像在视觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。
2. 音频信息隐藏实验结果表明,采用时域方法嵌入秘密信息后,嵌入秘密信息的音频与原始音频在听觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。
3. 视频信息隐藏实验结果表明,采用空域方法嵌入秘密信息后,嵌入秘密信息的视频与原始视频在视觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。
六、实验总结通过本次实验,我们了解了信息隐藏的基本原理和方法,掌握了数字图像、音频、视频等媒体中信息隐藏的实现技术。
信息隐藏实验报告一图像的位平面,LSB和MSB
信息隐藏实验报告一实验名称:图像的位平面,LSB 和MSB一、实验目的图像的位平面,LSB 和MSBLSB(Least Significant Bits):最不重要位(或最低有效位) MSB(Most Significant Bits):最重要位。
二、实验内容⑴用“按位与”运算清image 的第2、3、4、5、6、7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果;⑵用“按位与”运算取image 的第2、3、4、5、6、7位,结果分别保存在图像矩阵data12、 data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑶用“按位与”运算清image 的第1-2、1-3、1-4、1-5、1-6、1-7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果; ⑷用“按位与”运算取image 的第3-8、4-8、5-8、6-8、7-8位,结果分别保存在图像矩阵data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑸将彩色图像dsc.jpg 读入图像矩阵image ,重做上面的⑴-⑷项要求;⑹取彩色图像矩阵image 的某个分量(R 、G 、B 均可),重做上面的⑴-⑷项要求;三、实验环境matlab7.0四、基本原理(算法思想)时域是对应于变换域而言的,即不对信号做任何频率变换而得到的信号域就是时域。
对于图像载体,其信号空间也就是像素的取值空间。
我们选择了RGB 颜色空间下的像素作为分析对象。
在RGB 颜色空间中,每一个像素都有三个分量,即红(Red)、绿(Green)、蓝(Blue)分量。
五、实验结果与结论(主要的程序代码、运行结果)⑴用“按位与”运算清image 的第2、3、4、5、6、7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果;教师签名2007.11实验时间成绩评 定信息隐藏 课程名称同组人姓 名 05软件工程班 级 计算机科学与技术系别⑵用“按位与”运算取image的第2、3、4、5、6、7位,结果分别保存在图像矩阵data12、data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑶用“按位与”运算清image的第1-2、1-3、1-4、1-5、1-6、1-7位,结果分别保存在图像矩阵data02、 data03、 data04、 data05、 data06、 data07中,并显示所得结果;⑷用“按位与”运算取image的第3-8、4-8、5-8、6-8、7-8位,结果分别保存在图像矩阵data13、 data14、 data15、 data16、 data17中,并显示所得结果;⑸将彩色图像dsc.jpg读入图像矩阵image,重做上面的⑴-⑷项要求;代码略清image的第2、3、4、5、6、7位取image的第2、3、4、5、6、7位清image的第1-2、1-3、1-4、1-5、1-6、1-7位⑹取彩色图像矩阵image的某个分量(R、G、B均可),重做上面的⑴-⑷项要求;代码image=imread('dsc.jpg');%将彩色图像读入图像矩阵image A=image(:,:,1);下略清image的第2、3、4、5、6、7位取image的第2、3、4、5、6、7位清image的第1-2、1-3、1-4、1-5、1-6、1-7位六、实验总结通过这次实验使我对图像的位平面有了一定的认识。
信息隐藏LSB算法实验报告
本科生课程考试答题本考生姓名__________考生学号_______专业班级________指导老师__________考试科目_________考试日期__年__月__日目录一、实验任务和要求 (2)1.1实验任务 (2)1.2实验要求 (2)二、实验算法LSB原理 (2)三、实验环境和采用的工具 (3)四、具体实现步骤 (3)4.1 LSB算法水印嵌入 (3)4.2 LSB算法水印提取 (4)4.3 LSB算法实验测试 (5)五、源码分析 (5)5.1 LSB算法水印嵌入 (5)5.2 LSB算法水提取 (9)5.3 计算PSNR值 (12)六、实验测试 (13)6.1 LSB水印的嵌入 (13)6.2 水印的提取 (14)6.3 对水印进行鲁棒性测试 (14)6.4 对水印进行有效性测试 (14)6.5 对水印计算PSNR值 (14)6.6 对水印容量进行分析 (15)七、结论 (15)一、实验任务和要求1.1实验任务•信息载体:每个人自己的一张外景照片;•水印信息:每个人将学号、姓名按上下两列写在白纸上,然后手机拍摄,转化为黑白图片,作为水印信息;•信息隐藏方法:LSB算法(空域或频域)。
1.2实验要求实验可采用matlab6.5以上版本(C++、Java等),程序分为嵌入与检测两部分,最好有友好的操作方式;程序代码需要注释,编码简洁可靠明了,易检查。
实验测试要求有:•需对信息处理进行鲁棒性测试;•对水印嵌入的有效性进行测试;•计算嵌入前后的PSNR值;•对水印容量进行分析。
二、实验算法LSB原理LSB是L.F.Turner和R.G.van Schyndel等人提出的一种典型的空间域信息隐藏算法。
LSB 最低有效位法(Least Significant Bit;LSB)是运用人类视觉系统无法觉察细微变化之掩蔽效果,将秘密信息隐藏在图像像素的最低位,具有计算速度快且容易秘密信息隐藏在图像像素的最低位,具有计算速度快且容易实现有点。
LSB图像信息隐藏
LSB图像信息隐藏1.实验⽬的(1)了解信息隐藏中最常⽤的LSB算法特点,掌握LSB算法原理,设计并实现⼀种基于图像的LSB隐藏算法(2)了解如何通过峰值信噪⽐来对图像质量进⾏客观评价,并计算峰值信噪⽐2.实验内容(1)LSB隐藏算法(2)计算峰值信噪⽐3.实验原理 任何多媒体信息,在数字化时,都会产⽣物理随机噪声,⽽⼈的感观系统对这些随机噪声不敏感。
替换技术就是利⽤这个原理,通过使⽤秘密信息⽐特替换随机噪声,从⽽完成信息隐藏⽬标。
BMP灰度图像的位平⾯,每个像素值为8bit⼆进制值,表⽰该点亮度。
图像⾼位平⾯对图像感官质量起主要作⽤,去除图像最低⼏个位平⾯并不会造成画⾯质量的明显下降。
利⽤这个原理可⽤秘密信息(或称⽔印信息)替代载体图像地位平⾯以实现信息嵌⼊。
算法选⽤最低位平⾯来嵌⼊秘密信息。
最低位平⾯对图像的视觉效果影响最轻微,但很容易受噪声影响和攻击,解决办法可采⽤冗余嵌⼊的⽅式来增强稳健性。
即在⼀个区域(多个像素)中嵌⼊相同的信息,提取时根据该区域中的所有像素判断。
4.实验记录(1)隐藏算法算法分为三个部分实现:隐藏算法提取算法测试脚本1)隐藏算法源代码hide_lsb.m⽂件:function o=hide_lsb(block,data,I) %block:隐藏的最⼩分块⼤⼩ data:秘密信息 I:原始载体si=size(I);lend=length(data);% 将图像划分为M*N个⼩块N=floor(si(2)/block(2));M=min(floor(si(1)/block(1)),ceil(lend/N));o=I;for i=0:M-1% 计算每⼩块垂直⽅向起⽌位置rst=i*block(1)+1;red=(i+1)*block(1);for j=0:N-1% 计算每⼩块隐藏的秘密信息的序号idx=i*N+j+1;if idx>lendbreak;end;% 取每⼩块隐藏的秘密信息bit=data(idx);% 计算每⼩块⽔平⽅向起⽌位置cst=j*block(2)+1;ced=(j+1)*block(2);% 将每⼩块最低位平⾯替换为秘密信息o(rst:red,cst:ced)=bitset(o(rst:red,cst:ced),1,bit);endend;2)提取算法源代码dh_lsb.m⽂件:function out=dh_lsb(block,I) % block:隐藏的最⼩分块⼤⼩ I:携密载体si=size(I);% 将图像划分为M*N个⼩块N=floor(si(2)/block(2));M=floor(si(1)/block(1));out=[];% 计算⽐特1判决阈值:即每⼩块半数以上元素隐藏的是⽐特1时,判决该⼩块嵌⼊的信息为1thr=ceil((block(1)*block(2)+1)/2);idx=0;for i=0:M-1% 计算每⼩块垂直⽅向起⽌位置rst = i*block(1)+1;red=(i+1)*block(1);for j=0:N-1% 计算每⼩块图像隐藏的秘密信息序号idx=i*N+j+1;% 计算每⼩块⽔平⽅向起⽌位置cst=j*block(2)+1;ced=(j+1)*block(2);% 提取⼩块最低位平⾯,统计1⽐特个数,判决输出秘密信息tmp=sum(sum(bitget(I(rst:red,cst:ced),1)));if(tmp>=thr)out(idx)=1;elseout(idx)=0;end;end;end;3)测试脚本源代码test.m⽂件:fid=1;len=10;% 随机⽣成要隐藏的秘密信息d=randsrc(1,len,[0,1]);block=[3,3];[fn,pn]=uigetfile({'*.bmp','bmp file(*.bmp)';},'选择载体');s=imread(strcat(pn,fn));ss=size(s);if(length(ss)>=3)I=rgb2gray(s);elseI=s;end;si=size(I);sN=floor(si(1)/block(1))*floor(si(2)/block(2));tN=length(d);% 如果载体图像尺⼨不⾜以隐藏秘密信息,则在垂直⽅向上复制填充图像if sN<tNmultiple=ceil(tN/sN);tmp=[];for i=1:multipletmp=[tmp;I];end;I=tmp;end;% 调⽤隐藏算法,把携密载体写⾄硬盘stegoed=hide_lsb(block,d,I);imwrite(stegoed,'hide.bmp','bmp');[fn,pn]=uigetfile({'*.bmp','bmp file(*.bmp)';},'选择隐蔽载体');y=imread(strcat(pn,fn));sy=size(y);if(length(sy)>=3)I=rgb2gray(y);elseI=y;end;% 调⽤提取算法,获得秘密信息out=dh_lsb(block,I);% 计算误码率len=min(length(d),length(out));rate=sum(abs(out(1:len)-d(1:len)))/len;y=1-rate;fprintf(fid,'LSB:len:%d\t error rate:%f\t error num:%d\n',len,rate,len*rate);通过运⾏测试代码,对灰度图xxx3.bmp⽂件进⾏LSB算法的信息隐藏,并⽣成⽂件bide.bmp。
信息加密与解密实验11-2 LSB图像信息隐藏原理
上机实验报告一、实验目的:1、掌握LSB图像信息隐藏原理2、简单使用matlab工具二、实验环境计算机一台Matlab三、实验内容(一)预备知识1、信息隐藏信息隐藏( Information Hiding)又称为信息伪装,是指在不使信息载体本身发生显著变化的前提下,将需要保密传递的信息隐藏到载体中,从而达到隐蔽传递目的的技术。
信息隐藏原理图2、图像的数据表示对下图所示8×8(64个像素点)的图像,每一个像素点的灰度值量化时可以取值为0到255(用8bit表示)。
因此,分辨率为m×n的数字图像文件就可以用m×n×8的三维矩阵存储。
图中从高到低可分为8个位平面,分别对应着8个灰度值比特位所在的平面。
对于数字图像,这8个位平面在图像中所代表的重要程度是不同的,其最低的1至2个比特位基本上是噪声,所在的位平面没有太多图像的有用信息,对这些位平面信息的改变,对整个图像没有明显的影响。
3、LSB算法的原理图像的能量集中在高几层位平面,图像对高几层的修改比较敏感;图像的最低位平面甚至是最低的几层位平面几乎不含有信息量,对修改不敏感;可以用保密信息去替换原始载体的最低位平面或最低几层位平面,从而实现信息隐藏,而又不致使载体发生视觉上的可察觉性改变。
4、LSB算法描述用所要隐藏的二值图像去替换载体图像8层位平面中的最低层,这就是LSB (least-significant bits)嵌人算法的核心。
提取隐藏信息时,只需要将载体图像最低层位平面取出,恢复成二值图像即可。
(二)使用LSB算法实现图像信息隐藏1、安装matlab7.12、桌面上找到matlab7.1的快捷方式,打开lsb代码(代码可在lsb中找到),修改“Current Folder”的路径为代码路径。
3、找到readme.txt可以查看.m文件里的大概内容,在左侧分别双击lsbmain.m,submain.m,先后运行程序。
LSB图片信息隐藏隐藏实验
上海电力学院高级程序设计(C)课程设计报告LSB信息隐藏实验题目:院系:计算机科学与技术学院专业年级:信息安全2012级学生姓名:涂桂花学号:指导教师:魏为民2015年4月14日目录一、实验目的 0二、实验内容和步骤 01. 操作环境 02. 系统配置 03. 操作步骤 04. 程序源代码 (3)三、实验结果 (3)1. 测试图片 (3)2. 测试结果 (3)3.截屏 (4)四.实验小结 (4)1. 遇到的问题总结合分析: (4)2. 未解决的问题 (4)3. 实验效果和分析 (4)4. 总结: (4)附件: (5)上 海 电 力 学 院实 验 报 告 课程名称实验项目 姓名 学号 班级 专业同组人姓名 指导教师 魏为民 实验日期 一、实验目的1.用MATLAB 函数实现LSB 信息隐藏和提取。
2.了解信息隐藏的作用和实现方法原理。
3.学会分析了解隐藏算法。
二、实验内容和步骤如操作环境、系统配置、操作步骤、程序源代码等。
1.操作环境操作系统 Windows 7 旗舰版 64位 SP1 ( DirectX 11 )2.系统配置处理器 AMD E1-2100 APU with Radeon HD Graphics 双核3.操作步骤1) 打开MATLAB 软件,新建文件夹名为“ LSB ”。
2) 在“Command Window ”窗口里输入“guide ”,回车。
a. 如下图所示建立图形界面。
将5个push button 控件的“String ”属性设置为下图相应显示的名字,Tag 属性设置为pbt+String 名的格式。
将4个axec 控件的Tag 属性设置为如下图所显示的名字。
3) 分别右键点击5个push button 控件,View Callbacks->CallBacks.给每个控件添加信息安全 LSB 信息隐藏实验 涂桂花 20123333 2012252 信息安全 无Callback代码。
信息隐藏实验报告LSB隐写分析
《信息隐藏技术》实验报告实验3:LSB信息隐藏攻击实验杭州电子科技大学网络空间安全学院一、实验目的1.主要内容对实验1中信息隐藏后的图像进行隐写分析。
2.基本要求要求学生能够将没有嵌入信息的图像和隐藏信息的图像区分开来。
二、实验内容及实现过程步骤1.可视攻击针对LSB 算法,通过可视攻击进行视觉比较,观察含隐藏信息与不含隐藏信息图像的不同。
原图嵌入LSB 水印2.概率分布分析方法(χ2分析)统计LSB 信息隐藏后,图像的像素灰度值的直方图,结合χ2分布密度函数计算载体含有秘密信息的概率值。
提取最低有效位 提取最低有效位部分分块概率为1,不确定含有秘密信息大部分分块的概率为1,可以确定含有秘密信息部分分块概率为1,不确定含有秘密信息大部分分块的概率为1,可以确定含有秘密信息三、实验结果分析计算隐秘分析算法判断结果的错误率:FP (false positive):没有嵌入隐藏信息的图像错误地判断为嵌入了隐藏信息FN (false negative):嵌入隐藏信息的图像错误地判断为没有嵌入隐藏信息判断标准:超过半数的分块概率为1,判别为加密少于半数的分块概率为1,判别为原始图像FP:4/9FN:0/9误判原因分析,图像像素值较低四、实验小结(包括小组分工,组员各自的贡献点;通过实验得出的结论;对隐写分析加深的理解)设计算法:邢征宇(卡方分析)刘煜程(可视攻击)结果分析:单志晗(FP)梁经纬(FN)总结:1. 能够真正理解两种方法的思想和每一个处理步骤的作用,才能真正写出matlab 程序并进行结果分析;2. 8 位的像素值从0 开始到255,但是数组的下标从1 开始到256,所以像素值的2i 对应数组下标2i-1,像素值的2i+1 对应数组下标2i,像素值只存在2i->2i+1 的变换,对应于只存在2i-1->2i 的下标值变换,在编写代码时需注意此类细节,否则实验结果将大打折扣;3. 当实验结果与预期的有偏差,不仅仅是检查理解实验有偏差、程序是否正确,而且需要改变不同的实现方法、不同的参数以及利用不同的图像来进行测试和比较,这样才可能更快判断出问题出在哪里,并找到解决办法,而且有的时候不一定是代码有误的问题。
LSB图像信息隐藏实验
学号:姓名: 专业年级班级:message=fope n( 'Message.txt' ,'广);[msg,msg」en ]=fread(message, 'ubitl' ) %按位以二进制形式读取文本内容与长度[m, n]=size(image1) %读取行和列p=1; %卩为秘密信息的位计数器[row,col]=ra ndi nterval(image1,msg_le n,1996);for i=1:msg_le nimage1(row(i),col(i))=image1(row(i),col(i))-mod(image1(row(i),col(i)),2)+msg(p,1);if p==msg_le nbreak ;end ;p=p+1;end%还原图像Hide_image(:,:,1)=image1;Hide_image=ui nt8(Hide_image);imwrite(Hide_image, 'Hide_image.tif'%输岀隐藏信息的图像subplot(121);imshow(image);title(subplot(122);imshow(Hide_image);title(else [ 'the photo is not a rgb style' ]fclose( 'all' );end• flfl*** 1T«in Mti WHVI4>||| Xlvn tliM •Gx□鶯*~■CB+ X' 1 □百'rht phcid is ■$E,71e P M EC"■ft实验算法2 :读取LSB隐藏的信息1•读取已经隐藏信息的图像。
如果为RGB图像,则读取图像的一层(该层为嵌入信息的那层)。
2. 用与LSB算法中相同的随机数种子产生相同的一串随机数。
LSB信息隐藏实验
实验一:LSB信息隐藏实验【实验目的】:一、掌握MATLAB基本操作二、实现LSB信息隐藏和提取【实验内容】:(请将你实验完成的项目涂“■”)实验完成形式:■ 用MATLAB函数实现LSB信息隐藏和提取□ 用MATLAB命令行方式实现LSB信息隐藏和提取□ 其它:(请注明)实验选择载体:□ 256×256灰度图像 □ 256×256RGB图像 ■ 任意大小的RGB图像实验效果和分析:■ 分析了LSB算法的抗攻击能力■ 能随机选择嵌入位(考虑安全性因素)■ 嵌入位均匀分布于载体■ 信息提取的检错/纠错■ LSB隐写分析□ 其它:(请注明)【实验工具及平台】:■ Windows+Matlab □ 其它:(请注明)【实验涉及到的相关算法】:1、与实验内容选择的项目对应;2、请使用流程图、伪代码、NS图或文字方式描述,不要..贴代码1.海明码选择得是(7,4)海明码,它可以纠正一位错误,编码和解码分别用两个函数实现,关于它的算法,这里就不赘述了。
2.为了能随机选择嵌入位,我选择了Md5函数来选择嵌入位。
选择嵌入位的时候有3个密钥参与,提高了安全性,而且使嵌入位均匀分布于载体。
3.Lsb的嵌入方法是先将要隐藏的信息以二进制的形式读入,再随机选择它们要嵌入的位置。
如果要隐藏的信息的某一位为1,则它要嵌入的载体图象相应位置的像素值mod2的值为1;如果要隐藏的信息的某一位为0,则它要嵌入的载体图象相应位置的像素值mod2的值为0。
Lsb的提取方法是先将确定隐藏信息嵌入的位置。
如果该位置的像素值mod2的值为1;则此处隐藏的信息的1,如果该位置的像素值mod2的值为0;则此处隐藏的信息的0。
下面是整个算法的流程图:提取流程图【实验分析】:1、 请尽量使用曲线图、表等反映你的实验数据及性能2、 对照实验数据从理论上解释原因3、 如无明显必要,请.不要..大量粘贴....实验效果图 1.Lsb 的抗攻击能力比较差,下图是JPEG 压缩率与隐藏信息误码率的关系曲线:由上图可以看出,当存在轻微的jpeg 压缩,lsb 的误码率就达到了50%,这就很不理想了。
信息隐藏与数字水印实验教程课程设计
信息隐藏与数字水印实验教程课程设计课程设计简介信息隐藏和数字水印是一类在数字媒体内容中嵌入一些“隐蔽”的信息的可逆技术,其中信息隐藏以隐藏为目标,数字水印以鉴别为目标。
本课程设计是一款针对信息隐藏和数字水印技术的实验教程,旨在让学生了解信息隐藏和数字水印的基本概念、算法流程及实验操作。
实验教程实验1:LSB信息隐藏LSB信息隐藏是一种较为简单的信息隐藏技术,利用了图像或音频信号中的最低有效位(LSB)来储存信息。
本实验将让学生了解LSB信息隐藏的基本思路和实现流程。
实验步骤:1.安装Python编程环境和必要的库(numpy、pillow等);2.编写Python代码实现将信息隐藏到图像中的最低有效位;3.对图像进行解密,将隐藏的信息提取出来并显示。
实验要求:1.能够了解LSB信息隐藏的原理;2.能够独立完成Python代码的编写和调试;3.能够对嵌入信息后的图像进行正确解密。
实验2:DCT数字水印DCT数字水印是一种在频域中实现数字水印嵌入到图像或视频信号中的可逆算法,其中DCT(离散余弦变换)是一种常见的频域转换方式。
本实验将让学生了解DCT数字水印的基本原理和实现方法。
实验步骤:1.安装MATLAB编程环境和必要的工具箱(image processing等);2.编写MATLAB代码实现将数字水印嵌入图像中的DCT系数;3.对嵌入数字水印后的图像进行攻击,如JPEG压缩、调整亮度等;4.对加入攻击后的图像进行解密,将数字水印提取出来并验证。
实验要求:1.能够了解DCT数字水印的基本原理;2.能够独立完成MATLAB代码的编写和调试;3.能够对加入攻击后的图像进行正确解密和验证。
实验结论通过本次课程设计,学生能够了解信息隐藏和数字水印的基本概念,并通过实验了解LSB信息隐藏和DCT数字水印的基本算法和实现方式。
同时,学生也能够了解到数字水印的鲁棒性和对攻击的抵抗能力,以及对数字媒体内容可信度的提升。
信息隐藏-实验十一-LSB信息隐藏的RS分析
LSB 信息隐藏的RS 分析一,实验目的:了解RS 隐写分析的原理,掌握一种图像LSB 隐写算法的分析方法,设计并实现一种基于图像的LSB 隐写的RS 隐写分析算法。
二,实验环境(1)Windows 7操作系统; (2)MATLAB R2012b 版本软件; (3)图像文件lena.bmp ; (4)S-Tools 工具; 三,实验原理1. RS 隐写分析原理RS 主要是针对采用伪随机LSB 嵌入算法进行攻击的一种方法。
RS 方法不但能检测出图像是否隐藏信息,而且还能比较准确地估算出隐藏的信息长度。
RS 隐写分析算法考虑图像各个位平面之间具有一定的非线性相关性,当利用LSB 隐写算法隐藏秘密信息后,这种相关性就会破坏。
只要能找出衡量这一相关性的方法,并对隐藏秘密信息前后的情况加以对比,就有可能设计出隐写分析方法。
RS 隐写分析方法的理论核心是:任何经过LSB 隐写的图像,其最低比特位分布满足随机性,即0、1的取值概率均为1/2,而未经过隐写的图像不存在此特性。
对于一个M N ⨯像素的图片,设各个像素的值取自集合P ,例如一个8bit 的灰度图像,{0,1,2,,255}P =L 。
将这些像素分为有着n 个相邻像素的子集,例如n 可以取值为4,记为1234(,,,)G x x x x =。
进一步利用如下函数表示图像块的空间相关性,即112311(,,,,)n n i ii f x x x x x x -+==-∑L (1)函数f 使得每一个集合G 都对应一个实数。
G 中的噪声越大,函数f 的值越大。
f 的值越小,说明图像相邻像素之间的起伏越小,而图像块的空间相关性越强。
然后,定义集合P 上的3个函数:(1)交换函数1F :221,01,23,,254255n n ↔+↔↔↔L 。
(2)偏移函数1F -:221,10,12,,255256n n ↔--↔↔↔L 。
(3)恒等变换0F :0(),F x x x P =∈。
信息隐藏 实验十 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之间改变。
令显然这个值在隐写前后就是不会变的。
221*22i iih hh++=2212i ih hq+-=如果某个样值为2i,那么它对参数q 的贡献为1/2;如果样值为2i+1 ,对参数q 的贡献为-1/2。
LSB信息隐藏实验报告
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,最低有效位,将图像加密处理。
信息隐藏 实验十 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之间改变。
令 显然这个值在隐写前后是不会变的。
221*22i i i h h h ++=2212i i h h q +-=如果某个样值为2i ,那么它对参数q 的贡献为1/2;如果样值为2i+1 ,对参数q 的贡献为-1/2。
信息隐藏实验(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),评估隐写对图像质量的影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LSB 信息隐藏的RS 分析一,实验目的:了解RS 隐写分析的原理,掌握一种图像LSB 隐写算法的分析方法,设计并实现一种基于图像的LSB 隐写的RS 隐写分析算法。
二,实验环境(1)Windows 7操作系统; (2)MATLAB R2012b 版本软件; (3)图像文件lena.bmp ; (4)S-Tools 工具; 三,实验原理1. RS 隐写分析原理RS 主要是针对采用伪随机LSB 嵌入算法进行攻击的一种方法。
RS 方法不但能检测出图像是否隐藏信息,而且还能比较准确地估算出隐藏的信息长度。
RS 隐写分析算法考虑图像各个位平面之间具有一定的非线性相关性,当利用LSB 隐写算法隐藏秘密信息后,这种相关性就会破坏。
只要能找出衡量这一相关性的方法,并对隐藏秘密信息前后的情况加以对比,就有可能设计出隐写分析方法。
RS 隐写分析方法的理论核心是:任何经过LSB 隐写的图像,其最低比特位分布满足随机性,即0、1的取值概率均为1/2,而未经过隐写的图像不存在此特性。
对于一个M N ⨯像素的图片,设各个像素的值取自集合P ,例如一个8bit 的灰度图像,{0,1,2,,255}P =。
将这些像素分为有着n 个相邻像素的子集,例如n 可以取值为4,记为1234(,,,)G x x x x =。
进一步利用如下函数表示图像块的空间相关性,即112311(,,,,)n n i ii f x x x x x x -+==-∑ (1)函数f 使得每一个集合G 都对应一个实数。
G 中的噪声越大,函数f 的值越大。
f 的值越小,说明图像相邻像素之间的起伏越小,而图像块的空间相关性越强。
然后,定义集合P 上的3个函数:(1)交换函数1F :221,01,23,,254255n n ↔+↔↔↔。
(2)偏移函数1F -:221,10,12,,255256n n ↔--↔↔↔。
(3)恒等变换0F :0(),F x x x P =∈。
复杂度分辨函数f 和三种变换函数F 定义以下三种类型的元素组,,R S U 。
(1)Regular G :(())()G R f F G f G ∈⇔>,也就是说对G 中的元素进行 变换之后增大了元素之间的差别程度,R 表示正则组。
(2)Singular G :(())()G S f F G f G ∈⇔<,也就是说对G 中的元素进行 变换之后减小了元素之间的差别程度,S 表示奇异组。
(3)Unusable G :(())()G U f F G f G ∈⇔=,也就是对G 中的元素进行变换之后元素之间的差别程度不变,G 表示无用组。
引入伪装M ,它的取值范围是-1、0、1。
对应着1F -、0F 、1F 三个变换函数。
记对于伪装M 的R 组的数量为M R ,类似的S 组记为M S 。
例如G =(27,28,26,25),M =(1,0,1,0),则-M =(-1,0,-1,0)。
于是就得到()M F G =(26,28,27,25),()M F G -=(28,28,25,25)。
对于一个原始不包含隐藏信息的载体来说具有下面的规律:MM M M R R S S --≈>≈ (2)但是当在载体中嵌入了秘密信息,就会有下面的式子成立: MM M MR S R S --->- (3)也就是说对于一个待检测的载体,只需要得到上述的统计量,然后通过对比这四个统计参数之间的大小关系就能够判断出载体中是否含有秘密信息。
RS 算法不但能够判断载体是否含有秘密信息,RS 隐写分析算法还能够估计出隐写容量。
上面算出的一组M R 、M S 、M R -、M S -是在比例为/2p (p 为隐写率)的样点值已经作了一次1F 变换情况下得到的。
将该隐写体的所有样点值应用1F 变换,相对于原始载体则有比例为(1-/2p )的样点值作了1F 变换,计算此时的M R 、M S 、M R -、M S -值。
如下图1所示,得到的是两组统计量的数据。
图 1 RS 曲线与像素更改比率间的关系示意图具体步骤如下:将待检测图像分成若干大小相等的图像块,通常定义n = 4,对每个小图像块定义一个掩膜算法函数,通常为M (0,1,1,0),即01121304()((),(),(),())M F G F x F x F x F x =,判断此图像小块属于Regular 或Singular ,遍历整幅图像,得到(/2)M R p ,(/2)M S p 。
(/2)M R p ,(/2)M S p 定义为:(/2)/4MM R R p bufsize =(4)(/2)/4MM S S p bufsize = (5)改变掩膜算法函数,令M 为(0,-1,-1,0)重复上一步操作得到(/2)M R p -和(/2)M S p -。
将图像数据的lSB 位取反,用获得的数据重复上述操作得到(1/2)M R p -,(1/2)M S p -以及(1/2)M R p --,(1/2)M S p --。
结合如下方程:210010012()30d d x d d d x d d ---++--+-=(6)其中:0101(/2)(/2),(1/2)(1/2)(/2)(/2),(1/2)(1/2)M M M M M M M M d R p S p d R p S p d R p S p d R p S p ------=-=---=-=---解方程式(6),取绝对值较小的x ,计算嵌入概率p 为:/(1/2)p x x =-。
2. S-Tools 工具简介S-Tools 是一个时(空)域数字水印软件,支持WAV 格式的音频文件、GIF 和BMP 格式的图像文件,下面介绍基于音频文件的隐藏原理和使用方法。
WAV 格式的音频文件在Windows 中存储为8位或16位值,对于8位样本,这意味着取值范围介于0和255之间。
16位的样本取值范围介于0和65535之间。
S-Tools 在WAV 格式的音频文件中隐藏信息时,首先用密码加密,然后根据密码决定要嵌入信息的位置,采用LSB (least significant bits )方法,把秘密信息代替载体音频文件的最不重要比特位。
例如,假设一个音频文件有以下8个字节的信息,分别为 132 134 137 141 121 101 74 38 二进制表示为10000100 10000110 10001001 10001101 01100101 01001010 00100110如果要隐藏二进制字节11010101(213)在这个序列里。
简单地取代了音频文件的LSB (最低有效位)进行信息隐藏。
因此上述顺序将变更为133 135 136 141 120 101 74 39 用二进制表示为10000101 10000111 10001000 10001101 01111000 01001010 00100111这样,秘密信息就隐藏在载体音频文件中,音频文件在听觉效果上和原始文件几乎没有区别。
四,实验分析1. 隐藏信息并分析源代码RS.m如下:clc,clear allorg = imread('lena.bmp');org = double(org);org = org(:)';[row sample_len] = size(org);rs = zeros(2, 4);cor = zeros(1, 3);m = floor(sample_len / 4);M = randsrc(4, 1, [0 1]);tmp = zeros(4, 1);% 使用LSB,准备待检测图像,隐写率为40%msg_len = floor(sample_len * 0.4);msg = randsrc(msg_len, 1, [0 1; 0.5 0.5]);stg =org;for i = 1 : msg_lenstg(i) = bitset(stg(i), 1, msg(i));end% 对待检测图像应用非负和非正翻转,统计翻转前后的空间相关性i = 1;for j = 1 : mtmp = stg((j - 1) * 4 + 1 : j * 4); %把图像分为四个像素一组cor(1) = SpaceCor(tmp);cor(2) = SpaceCor(fpos(tmp, M));cor(3) = SpaceCor(fneg(tmp, M));if cor(2) > cor(1)% Rmrs(i, 1) = rs(i, 1) + 1;endif cor(2) < cor(1)% Smrs(i, 2) = rs(i, 2) + 1;if cor(3) > cor(1)% R-mrs(i, 3) = rs(i, 3) + 1;endif cor(3) < cor(1)% S-mrs(i, 4) = rs(i, 4) + 1;endend% 对待检测图像所有像素应用正翻转stg = fpos(stg, ones(sample_len, 1));% 对待检测图像应用非负和非正翻转,统计翻转前后的空间相关性i = 2;for j = 1 : mtmp = stg((j - 1) * 4 + 1 : j * 4);cor(1) = SpaceCor(tmp);cor(2) = SpaceCor(fpos(tmp, M));cor(3) = SpaceCor(fneg(tmp, M));if cor(2) > cor(1)% Rmrs(i, 1) = rs(i, 1) + 1;end;if cor(2) < cor(1)% Smrs(i, 2) = rs(i, 2) + 1;end;if cor(3) > cor(1)% R-mrs(i, 3) = rs(i, 3) + 1;end;if cor(3) < cor(1)% S-mrs(i, 4) = rs(i, 4) + 1;end ; rs = rs / m;% J. Fridrih 方法计算隐写率,并判断待检测图像lena.bmp 是否经过LSB 替换隐写 % d0 = Rm(p/2)-Sm(p/2), d1=Rm(1-p/2)-Sm(1-p/2) dpz = rs(1, 1) - rs(1, 2); dpo = rs(2, 1) - rs(2, 2); % d-0 = R-m(p/2)-S-m(p/2), d-1=R-m(1-p/2)-S-m(1-p/2) dnz = rs(1, 3) - rs(1, 4); dno = rs(2, 3) - rs(2, 4);%判定待检测图像lena.bmp 是否经过LSB 替换隐写 P = 2.5 * 1e-2; %设定门限值,对于RS 分析一般为2%-3%if dnz > 0 && dpo > 0 %用于判断Rm 是否大于Sm ,R-m 是否大于S-m disp('待检测图像lena.bmp 中没有经过LSB 替换隐写!'); endif dnz - dpo > P %用于判定R-m - S-m > Rm - Sm disp('待检测图像lena.bmp 经过LSB 替换隐写!'); end% get roots of polynomialC = [2 * (dpo + dpz), (dnz - dno - dpo - 3 * dpz), (dpz - dnz)]; z = roots(C); p = z ./ (z - 0.5);fprintf(1, 'Fridrih Algorithm:expective embedding rate is %f\n', p(2));运行上述代码,得到隐写率p 为0.476476。