信息隐藏实验十LSB信息隐藏的卡方分析
信息隐藏实验报告一图像的位平面,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信息隐藏
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图像隐藏算法分析及改进
该算法的主要思想是将待隐藏图像的数据信息串每次抽取两 位, 通过观察载体图像数据信息各字节最后两位的特点, 寻找 与之最匹配 ( 即同待隐藏信息中抽取的两位数据最相近) 的 位置存放, 这样就可以将对载体图像数据的改变降到了最低。
图 $0 索引数据链隐藏算法示意图
根据图 $ , 首先将原信息串的前两位 “ "# ” 取出, 考察载体 图像存储信息中各字节的最后两位, 寻找倒数第二位与 “"” 相同的第一个字节, 将 “ "# ” 放入该字节的最后两位 ( 该字节 原来的后两位可能会有 “ "" ” 和 “ "# ” 两种情况, 若为前者, 则 记 “ 改变了一位” ; 若为后者, 则实现了在不改变载体信息的 同时 存 入 了 数 据) 。对 原 信 息 串 右 移 一 位 后 再 取 出 两 位 “ #" ” , 从刚才存储 “ "# ” 位的那个字节开始向后扫描, 寻找第 一个出现的倒数第二位与 “#” 相同的字节, 将 “ #" ” 存入, 在本 例中即为用 “ #" ” 取代了第三个字节中的最末两位 “ ## ” , 这时 又只有一位数据发生了改变; 以此类推, 将原信息串每次右移 一位后取最前的两位, 放入下一个倒数第二位与其相同的字 节中的最末两位, 这样, 每次存取过程中用一个 “ 公共位” 实 现了数据的链式结构。 由于存放原信息代码的字节倒数第二位同源载体信息数 据相比肯定未发生变化, 而最后一位只有较少的一部分发生 了改变, 这样, 就实现了原图像数据同载体图像数据最大程度 上的匹配存放, 减少了由于存放原图像数据而造成的对载体 数据的改变。 下面对其实现的效率以及优化的程度加以分析: 当需要隐藏 " 位信息时 (" * 5 ) , 根据概率统计的知识, 大约需要占据载体图像数据中 $ " 个字节来存放, 其中包括大 约 " 个字节未占用 ( 保持原来数值) , 占用的 " 个字节中最后 一位数据被改变的概率也只有 " # $ , 因此得出结论, 在 " 比较 大的条件下, 在载体信息中隐藏 " 位数据对原有数据的改变 只有不到 $, $ , 即在绝大部分数据都未发生变化的情况下就 完成了对另一图像信息的隐藏。 可以看出, 同前面的两种算法都需要改变大约 ,#6 的载 体中各字节最末位数据相比, 该算法在不损失任何隐藏信息
信息隐藏实验(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信息隐藏的实验中,首先需要得到原始的载体数据。
这可以是一幅图像、一段音频或一段视频。
然后,选择一个合适的秘密信息进行嵌入。
秘密信息可以是一串文本、一张图像或一个视频片段。
接下来,将秘密信息的二进制表示按位进行嵌入到载体数据的最低有效位中。
此时,嵌入数据已准备好。
进行卡方分析的下一步是计算频数。
对于每个像素,统计其最低有效位(被嵌入数据所占据的位)出现1和0的频数。
同时,计算原始数据中最低有效位出现1和0的频数。
比较两组频数可以得到嵌入数据和原始数据之间的差异。
卡方分析可以用来评估嵌入数据的随机性。
根据卡方分布表,可以计算卡方值。
通过比较卡方值和临界值,可以判断嵌入数据的随机性是否达到了预期。
如果卡方值小于临界值,则表明嵌入数据的分布与原始数据的分布存在显著差异,嵌入数据不具备较好的随机性。
LSB信息隐藏的卡方分析还可以用于评估嵌入数据的容量。
通过计算嵌入数据和原始数据之间的差异,可以推断嵌入数据的容量。
如果嵌入数据的容量越大,则嵌入数据与原始数据的差异越大。
卡方分析可以帮助评估嵌入数据的最大容量,以便在实际应用中选择合适的嵌入容量。
LSB信息隐藏的卡方分析还可以用于检测嵌入数据的存在。
通过比较卡方值和临界值,可以判断嵌入数据是否存在于载体数据中。
如果卡方值大于临界值,则可以得出嵌入数据的存在性。
这在数字取证和数字水印领域具有重要意义。
LSB信息隐藏的卡方分析是一种有力的工具,用于评估嵌入数据的随机性、容量和存在性。
信息隐藏实验报告总结(3篇)
第1篇一、实验背景随着信息技术的飞速发展,信息安全问题日益突出。
信息隐藏技术作为一种隐蔽通信手段,在军事、商业、医疗等多个领域具有重要的应用价值。
本实验旨在通过实际操作,深入了解信息隐藏技术的基本原理,掌握其实现方法,并分析其在实际应用中的优缺点。
二、实验目的1. 理解信息隐藏技术的概念、原理和应用领域。
2. 掌握信息隐藏技术的实现方法,包括空域、频域和变换域等方法。
3. 分析信息隐藏技术的安全性、鲁棒性和可检测性。
4. 结合实际案例,探讨信息隐藏技术在各个领域的应用。
三、实验内容本次实验主要分为以下几个部分:1. 信息隐藏技术概述:介绍了信息隐藏技术的概念、原理和应用领域,并简要分析了信息隐藏技术的安全性、鲁棒性和可检测性。
2. 空域信息隐藏:通过将秘密信息嵌入到载体图像的像素值中,实现信息的隐蔽传输。
实验中,我们采用了基于直方图平移的算法,将秘密信息嵌入到载体图像中。
3. 频域信息隐藏:将秘密信息嵌入到载体图像的频域系数中,实现信息的隐蔽传输。
实验中,我们采用了基于DCT变换的算法,将秘密信息嵌入到载体图像的DCT系数中。
4. 变换域信息隐藏:将秘密信息嵌入到载体图像的变换域系数中,实现信息的隐蔽传输。
实验中,我们采用了基于小波变换的算法,将秘密信息嵌入到载体图像的小波系数中。
5. 信息隐藏技术的安全性、鲁棒性和可检测性分析:通过实验,分析了不同信息隐藏方法的优缺点,并探讨了如何提高信息隐藏技术的安全性、鲁棒性和可检测性。
6. 信息隐藏技术在各个领域的应用:结合实际案例,探讨了信息隐藏技术在军事、商业、医疗等领域的应用。
四、实验结果与分析1. 空域信息隐藏:实验结果表明,基于直方图平移的算法能够将秘密信息嵌入到载体图像中,且嵌入过程对图像质量的影响较小。
然而,该方法对噪声和压缩等攻击较为敏感。
2. 频域信息隐藏:实验结果表明,基于DCT变换的算法能够将秘密信息嵌入到载体图像的频域系数中,且嵌入过程对图像质量的影响较小。
信息隐藏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算法:原始图像选取大小为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图片信息隐藏隐藏实验
上海电力学院高级程序设计(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的信息隐藏技术及分析
基于LSB的信息隐藏技术及分析作者:邹小敏来源:《科学与财富》2019年第15期摘要:信息隐藏是利用数字媒体本身的数据冗余性以及人类感知能力的局限性,借助密码学、混沌理论、编码压缩技术等对信息本身及隐藏位置进行保密的技术,能够使秘密信息嵌入到公开载体却不为人知,从而以“存在级”的安全级别去完成信息的安全输出,对信息起到有效的保护。
本文主要介绍基于LSB( Least Significant Bits)的信息隐藏技术的设计及性能分析。
关键词:信息隐藏;LSB;数字水印;信息安全0 前言现阶段,安全通信的实现方法主要是加密技术、安全信道技术和信息隐藏技术等,在考虑代价和安全性的情况下,信息隐藏技术的安全通信是最为安全、可靠、廉价的实现方法。
信息隐藏技术不仅可以应用公用信道,而且可以将明文隐藏到普通媒体中,使攻击者难以发现秘密信息的存在,从而真正达到安全通信的目的。
基于LSB的信息隐藏技术则是将秘密信息比特替换载体中的最低有效位,即将秘密信息替换载体中最不重要的部分,从而达到秘密信息不被发现的作用,达到安全通信的效果。
1 基于LSB的信息隐藏的概要设计基于LSB的信息隐藏的设计主要考虑不可见性和容量性的原则,以下介绍一下算法设计两个主要部分,隐藏算法和提取算法。
(1)隐藏算法:我们首先将载体图像和预隐藏的图像信息转成二进制数据,每一个像素在RGB空间下都有一个坐标值;然后我们对于载体图像像素R、G、B分量每一分量的8个bit的最后一位进行修改,每一像素总共修改3个LSB最低有效位,最后将秘密图像信息按顺序填入每一像素的3个最低有效位中,实现RGB图像的信息隐藏。
(2)提取算法:是隐藏算法的逆过程。
对隐藏后的结果图像像素的后三位按顺序进行提取,并拼接成一个字符串,然后将其转换为uint8型,最后将其输出。
2 基于LSB的信息隐藏算法的可行性分析LSB隐藏算法是基于最低位平面嵌入隐藏信息的算法,图像高位平面对图像感官质量起主要作用,去除图像最低几个位平面并不会造成画面质量的明显下降;最低位平面对图像的视觉效果影响最轻微,满足人类视觉冗余性,可以达到信息隐藏的不可见性。
信息隐藏基础实验
实验一基于图像的LSB信息隐藏算法一、实验目的1、了解和熟悉数字图像的读入和显示等基本操作。
2、了解不同“位平面”对图像质量的影响。
3、掌握不同图像格式之间的转换方法。
4、熟悉和掌握基于图像的LSB信息隐藏算法。
5、掌握对LSB算法的不可感知性的客观评价。
6、掌握LSB提取算法。
二、实验内容1、结合EXZAMPLE.M,查看不同“位平面”对图像质量的影响。
(1)运行example.m程序,将“位平面”的第7、8位设置为‘0’,得到如下结果,如图所示:由图分析得:去掉第7、8为,此两位(低位)对图像质量没有明显影响,没有携带图像的有用信息。
(2)运行example.m程序,将“位平面”的第3、4位设置为‘0’,得到如下结果,如图所示:由上图分析:对比左右两幅图像,可以看出去掉第3、4位对图像质量有较为明显的影响,携带有图像的有用信息。
(2)运行example.m程序,将“位平面”的第1、2位设置为‘0’,得到如下结果,如图所示:由图分析:对比左右两幅图像,可以看出去掉第1、2位对图像质量产生非常大的影响,携带有图像的大量有用信息。
由此程序可以得出,不同“位平面”对图像的质量有不同程度的影响,第1、2位携带有有用信息,而第7、8位不含有图像的有用信息。
2、运行water.m程序,理解不同图像格式之间的转换方法。
运行water.m程序,得到如下结果,如图所示:分析:可以在图像不同格式(RGB、灰度、二值)之间进行转换。
3、阅读并"完善" imbed.m内容,掌握基于图像的LSB信息隐藏算法。
(1)填写完善imbed.m程序,填写部分如下所示:(2)运行已完善的imbed.m程序,得到如下结果,如下图所示:分析:将水印嵌入灰度图像的“位平面”第N=6位,得到上图右图所示,与原图视觉效果没有区别,嵌入成功。
4、编写matlab函数:sse(f,f0)、mse(f,f0)、psnr(f,f0),实现对上述算法不可感知性的客观评价。
本科毕业设计-基于lsb的信息隐藏技术的实现
引言信息隐藏将在未来网络中保护信息不受破坏方面起到重要作用,信息隐藏是把机密信息隐藏在大量信息中不让对手发觉的一种方法。
信息隐藏的方法有很多种,基于图象的信息隐藏检测技术是隐写分析技术的基础,对于保障网络信息安全和提高信息隐藏算法的安全性具有重要意义。
最低有效位算法LSB(Least significant bit)是一种简单而通用的信息隐藏方法,大部分的多媒体文件(如图像、音频和视频文件等)都可作为LSB算法中的载体。
本文讨论以图像为载体的LSB隐藏算法。
第一章绪论1.1 信息隐藏技术的来源随着互联网的迅速发展,网上提供服务越来越丰富,人们如今可以通过因特网发布自己的作品、重要信息和进行网络贸易等,但是随之而出现的问题也十分严重:如作品侵权更加容易,篡改也更加方便。
计算机和通信网技术的发展与普及,数字音像制品以及其他电子出版物的传播和交易变得越来越便捷,但随之而来的侵权盗版活动也呈日益猖獗之势。
因此如何既充分利用因特网的便利,又能有效地保护知识产权,已受到人们的高度重视。
信息隐藏技术作为网络安全技术的一个重要新兴课题,内容涉及数据隐藏、保密通信、密码学等相关学科领域,作为隐蔽通信和知识产权保护等的主要手段,正得到广泛的研究与应用。
为了打击犯罪,一方面要通过立法来加强对知识产权的保护,另一方面必须要有先进的技术手段来保障法律的实施。
信息隐藏技术以其特有的优势,引起了人们的好奇和关注。
人们首先想到的就是在数字产品中藏入版权信息和产品序列号,某件数字产品中的版权信息表示版权的所有者,它可以作为侵权诉讼中的证据,而为每件产品编配的唯一产品序列号可以用来识别购买者,从而为追查盗版者提供线索。
此外,保密通信、电子商务以及国家安全等方面的应用需求也推动了信息隐藏研究工作的开展。
中国自古就有这样的谚语,叫做“耳听是虚,眼见为实”,“百闻不如一见”,英语中也有“Seeing is believing”的说法。
这些都表明人们往往过分相信自己的眼睛,而这正是信息隐藏技术得以存在和发展的重要基础,在这一研究领域,大量事实告诉人们:眼见不一定为实!1.2信息隐藏技术的发展1.2.1历史上的隐写术现代信息隐藏技术是由古老的隐写术(Steganography)发展而来的,隐写术一词来源于希腊语,其对应的英文意思是“Covered writing”。
信息隐藏
LSB信息隐藏算法实现一.L SB信息隐藏原理LSB(least significant bit)算法是最早提出的一种典型的空间域信息隐藏算法。
其信息嵌入过程是将待隐藏信息转化为二进制数据码流,然后将BMP文件图像数据部分的每个字节的奇偶性与上述二进制数码流进行比较。
最后通过调整字节最低位的“0”或“1”,改变字节的奇偶性,使之与上述二进制数据流一致,即将信息嵌入到24位BMP图像中。
二、LSB信息隐藏与提取步骤(1)、LSB算法嵌入步骤1、将原始载体图像的空域像素值由十进制转换到二进制表示,以大小的块图像为例:2、用二进制秘密信息中的每一比特信息替换与之相对应的载体数据的最低有效位,假设待嵌入的二进制秘密信息序列为[ 0 1 1 0 0 0 1 0 0 ],则替换过程如图所示。
3、将得到的含秘密信息的二进制数据转换为十进制像素值,从而获得含秘密信息的图像,如图所示。
(2)、LSB算法提取步骤1、将得到的隐藏有秘密信息的十进制像素值转换为二进制数据,如图所示2、将二进制数据的最低有效位提取出来,即为秘密信息序列[ 0 1 1 0 0 0 1 0 0 ]。
如图所示。
三.源码说明1、信息的嵌入代码%嵌入秘密信息Img = imread('C:\Users\郭栋\Desktop\image.jpg');Double_img = double(Img);fileId = fopen('C:\Users\郭栋\Desktop\test.txt','r');[msg,len] = fread(fileId,'ubit1');[m,n] = size(Double_img);flag = 1;for a = 1:nfor b = 1:mDouble_img(a,b) = Double_img(a,b)-mod(Double_img(a,b),2) + msg(flag,1);if flag ==lenbreak;endflag = flag + 1;endif flag ==lenbreak;endendDouble_img = uint8(Double_img); imwrite(Double_img,'result.bmp'); subplot(1,2,1);imshow(Img);title('原图像');subplot(1,2,2);imshow(Double_img);title('嵌入信息之后的图像');2、信息的隐藏提取过程%提取秘密信息img = imread('result.bmp');img = double(img);[m,n] = size(img);xx =fopen('result.txt','a');len = 160;p = 1;for a = 1:nfor b = 1:mif bitand(img(b,a),1)==1fwrite(xx,1,'bit1');result(p,1)=1;elsefwrite(xx,0,'bit1');result(p,1)=0;endif p==lenbreak;endp = p + 1;endif p == lenbreak;endendfclose(xx);四.实验结果分析(1)、将原始图像和嵌入信息之后的图像进行对比:(2)、test.txt记事本是需要隐藏得信息,result.txt记事本提取出来的信息,可以发现信息完全提取出来了DCT 信息隐藏算法实现对于不同频率的灰度变换,人眼具有不同的敏感性,这说明在图像的变换域中,不同的频率分量或者系数在人的视觉系统中会产生不同的反应。
信息隐藏 实验十 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算法实现信息隐藏方案的研究
2018年 / 第5期 物联网技术930 引 言信息隐藏也称作数据隐藏,起源于隐写术,是集多学科理论与技术于一身的新兴技术。
信息隐藏技术主要是指将特定的信息嵌入到数字化宿主信息中,信息隐藏的目的不在于限制正常的信息存取和访问,而在于保证隐藏的信息不被监控者注意和重视,从而减少特定信息泄露的可能性。
随着技术的发展,各种信息安全的泄露事件时有发生,信息安全领域的研究也逐渐引起科研工作者的重视。
1 原 理信息隐藏技术又称为密写术,是将秘密信息嵌入到看上去很普通的信息中传送,防止第三方检测出秘密信息。
信息隐藏技术结合计算机技术、加密技术等,逐渐发展形成水印技术,主要用于版权保护、拷贝控制和操作跟踪等领域[2]。
LSB 算法主要应用于将秘密信息嵌入到载体图像像素值的最低有效位(也称最不显著位),改变这一位置对载体图像的品质影响。
对载体图像空域像素值做LSB 替换,用来替换LSB 的序列就是需要加入的水印信息、水印的数字摘要或由水印生成的伪随机序列[3]。
本文结合水印技术,从传播信道的安全角度出发,提出了一种基于LSB 算法实现信息隐藏的方案。
发送端M 1为发送方原始载体数据的二进制序列,M 2为特定信息数据的二进制序列;发送端特定信息M2经过LSB 算法嵌入到载体数据M 1序列中形成M 3;发送端含水印的M 3序列与载体M 1序列经私钥K 1所包含的M 1与M 3置换信息生成序列D ;合法接收端通过私钥K 1对公开信道序列D 进行逆解调得出特定信息M 2,从而实现特定信息在传播信道中基于LSB 算法的信息隐藏[4]。
通信系统信息隐藏模型如图1所示。
图1 通信系统信息隐藏模型2 实验仿真模型2.1 发送端载体数据M 1本文通信模型中的载体数据M 1通过文本二进制转换软件生成,如图2所示,目前仅支持英文字符与二进制序列之间的转换。
图2 文本文件转换为二进制代码由图2可知,载体对象文本“ai ”对应的二进制码元序列为M 1=01100001 01101001。
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隐写,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信息隐藏的卡方分析
一,实验目的:
了解什么是隐写分析,隐写分析与信息隐藏和数字水印的关系。
掌握基于图像的LSB隐写的分析方法,设计并实现一种基于图像的LSB卡方隐写分析方法。
二,实验环境
1,Windows XP操作系统
2,Mat lab 软件
3,BMP格式图片文件
三,实验原理
隐写术和隐写分析技术是互相矛盾乂是相互促进的,隐写分析是指对可疑的载体信息进行攻击以达到检测、破坏,共至提取秘密信息的技术,它的主要目标是为了揭示媒体中隐蔽信息的存在性,其至只是指出媒体中存在秘密信息的可疑性。
图像LSB信息隐藏的方法是用嵌入的秘密信息取代载体图像的最低比特位,原来图像的7个高位平面与代表秘密信息的最低位平面组成含隐蔽信息的新图像。
虽然LSB隐写在隐藏大量信息的情况下依然保持良好的视觉隐蔽性,但使用有效的统计分析工具可判断一幅载体图像中是否含有秘密信息。
目前对于图像LSB信息隐藏主要分析方法有卡方分析、信息量估算法、RS 分析法和GPC分析法等。
卡方分析的步骤是:设图像中灰度值为j的象素
数为hj,其中0WJW255。
如果载体图像未经隐写,h2i和h2i+l的值会相差很大。
秘密信息在嵌入之前往往经过加密,可以看作是0、1随机分布的比特流,而且值为0与1的可能性都是1/2。
如果秘密信息完全替代载体图像的最低位,那么h2i和h2i+l的值会比较接近,可以根据这个性质判断图像是否经过隐写。
定量分析载体图像最低位完全嵌入秘密信息的情况:嵌入信息会改变直方图的分布,由差别很大变得近似相等,但是却不会改变
h2i+h2i+l的值,因为样值要么不改变,要么就在h2i和h2i+l 之间改变。
令显然这个值在隐写前后是不会变的。
如果某个样值为2i,那么它对参数q的贡献为1/2:如果样值为2i+l , 对参数q的贡献为T/2。
载体音频中共有2h2i*个样点的值为2i或2i+l, 若所有样点都包含1比特的秘密信息,那么每个样点为2i或2i+l的概率就是0.5。
当2h2i*较大时,根据中心极限定理,下式成立:其中->N(0, 1)表示近似服从正态分布所以他厂心》
服从卡方分布。
上式中,k等于h2i和h2i+l所组成数字对的数量,h2i*为0的情况不计在内。
r越小表示载体含有秘密信息的可能性越大。
结合卡方分布的密度计算函数计算载体被隐写的可能性为:
如果P接近于1,则说明载体图像中含有秘密信息。
四,实验结果
1,原图像
2,直方图由于所有的数据画出的直方图过于密集,所以选取80:99这之间的像素值。
原图80:99
隐写后80:99
3,不同隐写率下的图像
隐写率0. 3
隐写率0. 5
隐写率0. 7
4,P值分析
由所有的P值可以看出,当隐写率为0.3的时候,P[l]-P[40]的值都接近1;当隐写率为0.5的时候,P[l]-P[64]的值都接近1;当隐写率为0.7的时候,P[ll—P[91]的值都接近1。
五,实验结果
完成实验之后,可以得出如下结论:
依据卡方分析函数,可以判定载体图像中是否含有秘密信息。
但是这要求秘密信息必须嵌满所有像素。
六,代码附录
1,hist_change. m
[fn, pn] =uigetfile ({' *. jpg',' JPEG files(*. jpg)' bmp',' BMP
files(*. bmp)select file to haide');
name=streat(pn, fn);
I=rgb2gray(imread(name));
sz=size(I);
rt=l;
row=round (sz (1 )*rt);
col二:round (sz (2)*rt);
msg^randsrc(row, col, -0 l;0・ 5 0.5]);
stg二I;
stg (1: row, 1: col)二bitset (stg (1: row, 1: col), 1, msg); nl=sum(hist(I, [0:255]),2)'; nS=sum(hist(stg, [0:255]), 2);
X二[80:99];
figure;
stem(x, nl (81:100));
figure;
stem(x, nS (81:100));
2,Stgprb・ m
function p二StgPrb(x)
n=sum(hist (x, [0:255]),2);
h2i=n([3:2:255]);
h2is二(h2i+n([4:2:256]))/2;
f i11 er= (h2 i s^=0);
k=sum(filter);
idx二zeros(1, k);
for i=l:127
if filter(i)=4
idx(sum(fliter (1:i)))二i;
end
end
r=sum(((h2i(idx)-h2is(idx)). 2)./ (h2is (idx)));
p=l-chi2cdf(r, k~l);
3,test・ m
clear all:
[fn, pn] =uigetfile ({' *. jpg' , ' JPEG files (*. jpg)' ;' bmp', ' BMP files(*・bmp)'}J select file to haide');
name=strcat(pn,fn);
t=imread(name);
I=t(1:512,1:512);
sz二size (I);
for k=l:3
rt=0. 3+0. 2*(k-l);
row=round(sz(1)*rt);
col二round (sz (2)*rt);
msg^randsrc(row, col, .0 l;0・ 5 0.5]);
stg=I;
stg(1:row, 1:col)二bitset(stg(1:row, 1:col), 1, msg);
imwrite(stg, strcat(pn, strcat(sprintf C stg_%
d_‘ , floor(100*rt)), fn)), ' bmp');
i二1;
for rto=0. 1:0. 01:1
row^round(sz(1)*rto);
col二:round (sz (2)*rto);
p (k, i) ^StgPrb (stg (1: row, 1: col));
i=i+l;
end
end。