zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

网络信息安全-图像隐写与检测综述

网络 检测 图像 信息安全 综述
2023-09-11 14:22:06 时间

任务目标:

本选题需要学习经典的图像信息隐藏算法,包括基于空域的隐写算法和数字水印算法。 接着你将使用某种编程语言实现这些算法,实现在图片中嵌入一些信息,例如字符串和一些 文件。除此之外,还需要尝试一些基础的隐写检测方法,用于分析图像是否被嵌入了隐藏信 息。最后,将这些算法封装成多个模块,并设计一个友好的 GUI 界面,使用户能方便地进行使用。

任务要求:

1、学习信息隐藏的概念,掌握基本的图像隐写算法;
2、实现 LSB 隐写、DCT 隐写和 F5 隐写,其中 LSB 隐写必须实现,其他两种隐写算法至少选择一个实现,学有余力可以实现其他更好的算法;
3、掌握并实现任意一种 LSB 隐写检测方法,例如基于值对现象的检测方法;
4、设计一个 GUI 界面集成这些功能,可以实现字符串或文件的隐写和读取;
5、还有时间的情况下,实现图片嵌入盲水印的功能。

实验演示博客:

    有关于网络信息安全-LSB图像隐写与检测的设计实现的详细编程内容详见下面这个博客,本文主要是为了介绍有关于图像隐写技术的技术综述及相关图像隐写技术的实现原理,目的是为了使读者可以快速了解图像隐写的相关知识。

网络信息安全-LSB图像隐写与检测的设计实现icon-default.png?t=MBR7https://blog.csdn.net/weixin_51989356/article/details/128514442

演示须知:

本次实例使用Pycharm开发

python版本为3.6

    特色
1,通过大量调研,学习掌握了信息隐藏的概念,掌握基本的图像隐写算法;
2,实现了基于LSB的隐写术,其他隐写算法实现了原理阐释;
3,设计出了两种LSB隐写检测方法:灰度图像值对法,二次随机隐写检测;
4,实现了图像对于水印的加注以及还原水印图像的演示开发
5,功能性模块的演示部分使用了GUI实现。
    不足
对于隐写术的理解我们理解的不是很深刻,并且对于Python以及Matlab的开发能力不足,只作教学演示,没有办法投入现实应用。


第一章 绪论

1.1. 选题背景


随着互联网的急速发展,人们在通过网络进行数字信息传送和共享的同时,也存在很多安全隐患,如信息的破坏、纂改、丢失等问题也引起各方的重视。
隐写术是信息安全领域的一个重要分支,该技术通常以图像、文本、视频等数字产品为载体,根据载体的特征将秘密信息嵌入到载体中,达到秘密传递信息的目的,有效地保障了秘密信息安全性。
信息隐藏技术是信息安全领域的一个研究热点,该技术通常以文本、图像、视频等作为载体,利用载体中存在的冗余信息来隐藏秘密信息[1]。LSB(Least Significant Bits)算法主要应用于将秘密信息嵌入到载体图像像素值的最低有效位(也称最不显著位),改变这一位置对载体图像的品质影响[2]。LSB算法以其隐藏容量大,隐蔽性好,对载体改动较小,易于实现的特点,通过将秘密隐藏在图像中,在不被第三方检测出的情况下进行传送,更具有安全性。


1.2 选题价值


随着网络和多媒体的迅速发展,人们可以快速的利用网络进行信息的传送,资源的共享,与此同时,网络的开放性也导致安全隐患的产生,信息的破坏、篡改、丢失以及其他问题日益严重引起了各方的重视。为了保证信息的安全传输,信息隐藏技术得到了国内外各领域广泛的研究和有效地应用,各国的军事、政治、经济等重要部门的机密敏感信息都在采用隐写技术来确保其安全传输[5]。图像隐藏具有更加明显的实用价值和学术研究意义。将秘密信息隐藏在普通图像中,通过普通的图像发送将秘密信息传递出去,从而具有更大的隐蔽性和安全性,更容易逃过拦截者的破解。因此,信息隐写研究为隐蔽通信提供了理论依据和有效处理方法。
 


第二章 相关技术介绍

本课设用到的重要概念、原理等介绍

2.1.图像隐写术

2.1.1. 图像格式

随着移动智能终端的快速普及,多媒体数字图像的传播和交换越来越便捷。隐写术作为信息安全技术的重要分支,已经在桌面PC时代经历十余年的发展,得到广泛应用。如何在移动智能终端上保证数字图像安全通信,成为当前研究热点之一[3]。

图像隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息传递事件或者信息的内容。常见图像一般有JPG、PNG、BMP三种格式。

JPG是应用最广泛的图像格式之一,它采用一种特殊的有损压缩算法,将不易被人们察觉的颜色删除,从而达到较高的压缩比,但这样会导致画质缺失。PNG与JPG格式类似,压缩比高于GIF,支持图像透明,画质中等。BMP相对于JPG和PNG最大的好处就是结构简单,能被大多数软件“接受”,可称为通用格式,且其不采用任何压缩,无损,颜色准确,有2色、16色、256色、真彩色各种选择,图质最好。所以,本文在进行信息隐写时采用BMP格式数字图像。

PNG(可移植的网络图形格式)适合于任何类型,任何颜色深度的图片。也可以用PNG来保存带调色板的图片。该格式使用无损压缩来减少图片的大小,同时保留图片中的透明区域,所以文件也略大。尽管该格式适用于所有的图片,但有的Web浏览器并不支持它。

BMP(Window标准位图)是最普遍的点阵图格式之一,也是Window系统下的标准格式,是将Window下显示的点阵图以无损形式保存的文件,其优点是不会降低图片的质量,但文件大小比较大。

2.1.2. 图像隐写术

图像隐写术是关于信息隐藏,即不让计划的接收者之外的任何人知道信息的传递事件(而不只是信息的内容)的一门技巧与科学。它是用户将特定的信息隐藏在载体中,在信息传输中,监控者虽然知道用户有信息在传输信道中传输,但是无法察觉载体中隐藏特定的信息。但是,它又和图像加解密技术不同,图像加解密技术是用户利用数学或物理手段,对电子信息在传输过程中和载体中进行保护,以防止特定信息泄露的技术。

2.1.3. 图像隐写的流程

如图2.1.2所示的为图像隐写的流程。

标题图2.1.2 图像隐写的流程

 如图2.1.2描述,图像隐写实现的具体步骤如下:

1,首先用户将特定的信息通过图像隐写算法嵌入图像载体中,并对隐私载体进行传输;

2,然后监控者在传输信道中拦截隐私载体,发现用户传输的信息并非重要文件,继续让其在传输信道中传输,直至传输到接收者;

3.最后接收者接收隐私载体后通过提取算法将特定的信息提取出来。

2.1.4. 隐写术与加密的区别

如表2.1.4所列举的内容,隐写术嵌入媒体的消息数据通常是加密后的密文,因此两者并非矛盾对立关系!

表2.1.4 隐写术与加密的区别

隐写术隐藏

密码方法加密

数据形式

媒体数据

密文

应用目的

保护数据传递和存储的行为不被发现

保护数据不被对手得到

安全性

抗检测能力

可证明安全性

对抗手段

隐写分析检测

密码分析


第三章 LSB图像隐写技术综述

3.1. LSB隐写算法介绍和分析

3.1.1. LSB算法概念

LSB(Least Significant Bit)隐写算法,中文译名为最低有效位,是指一个二进制数字中的最低位。LSB隐写算法的基本思想是用待嵌入的隐私信息取代载体图像数据的LSB,构成载密图像。又因为LSB对图像的外部特征影响很小,所以人难以用肉眼看出载密图像的变化。然而,人眼不仅对LSB位不可感知,对比LSB位更高的某些位同样不可感知,这就意味着这些更高的位同样可以用嵌入隐秘信息。

3.1.2. LSB隐写的特点

1,抗检测能力越好,即被检测正确的正确率越低,则表示越安全;

2,隐写对数据的修改幅度跟数量远小于数字水印、可逆隐藏等方法

3,与其他类型信息隐藏方法相比,隐写术主要的特点是以对抗检测为目的,嵌入信息容量相对较大。

3..3. LSB隐写原理

最低比特位(Least Significant Bit)替换:

将媒体内容数据的最低比特位替换为需要嵌入的消息比特串

标题图2.2.3.1  LSB的简化实现过程

 

如图2.2.3.2所展示的,之所以使用最低比特位是因为最低比特位所携带的信息比较少,基本上是噪声,所以不太会影响得到整体图像的呈现,并且用肉眼不会看得出极小的细微差距。

标题图2.2.3.2 位图像呈现

 

LSB替换隐写按照嵌入位置选取方法的方法可以分为两种:连续嵌入法和随机间隔法 ,之间的区别如图2.2.3.3所示。

标图2.2.3.3 隐写的种类题

3.1.4. 改进的LSB方法

注意,对整数加减1都能反转最低比特位

标图2.2.4题

 所以需要修改的时候可以根据随机数随机选择+1或-1,使得双向转移提取方只需要提取最低比特位即可,无需知道修改操作;LSB matching 改进非常的简单,但使得对LSB替换方法的检测方法全都失效,采用+1和-1修改还能够同时先择是否扰动次低比特位,这成为后来双层嵌入的基础。


第四章 其他隐写算法分析

4.1. F5隐写算法介绍和分析

F5隐写算法将信息隐藏在整个图像中,且采用矩阵编码的方式来进行信息嵌入,可以在改变很小的情况下嵌入大量的信息,嵌入效率高,有极强的鲁棒性,同时矩阵编码可以使得RS统计分析不能正确册数嵌入信息的长度。

由于F5的嵌入方式仍是规律性的,其对DCT(离散余弦变换)直方图的改变方式是固定的,并且在嵌入过程中会使值为零的DCT系数增加。注意到在嵌入过程中产生一个值为零的DCT系数(称为Shrinkage)后,F5算法将把这个零去掉之后重新进行矩阵编码并嵌入,减少了载体图像的嵌入容量。依据F5嵌入对DCT直方图产生的规律性的印象,能够估算出图像中可能含有的秘密信息长度。

4.2. 矩阵编码

矩阵编码的基本思想是用n位LSB表示k位信息(n>k),还是先从一个例子引入。如果要写入的原LSB是a=a1a2a3(n==3),要写入的信息x=x1x2(k == 2),(这里的带下标的a和x都是值为0或1的二进制位,代表各个位上的对应值)。

则让a的每两位异或得到的结构跟对应要写入的信息比对,不相等则修改LSB,相等则不改变。这个例子会导致下面四种情况如图2.3.2所示:

标题图2.3.2

 

由于二进制的异或运算的特性可以发现,这个例子里最多只要更改1位就可以达成数据嵌入的效果。

最大更改位数 dmax 的不同代表着不同的编码方式,毫无疑问, dmax取值不同使n和k的关系不同。每种编码方式都可以用有序数组(dmax,n,k)表示,而对于F5隐写,采用的矩阵编码是属于dmax == 1,即(1,n,k)的编码方式,此时n和k满足n ==2k - 1。

4.3. OutGuess隐写算法介绍和分析

OutGuess隐写算法主要考虑如何在嵌入隐秘信息后,最大限度地保持载体图像的概率统计分布。OutGuess隐写算法是将隐私信息嵌入载体图像后,并且对其进行纠正,使得载密图像的DCT系数直方图和原载体图像的DCT系数直方图一致。

OutGuess隐写算法是在一定意义上保持了直方图特定,算法安全性得到了提高。但是由于嵌入和纠正均修改了DCT系数,所以会引起图像空间域的边界不连续性,且嵌入信息越多带来的变化越大,这会引起监控者的怀疑。


第五章 实训总结

我是在学校举办CTF的比赛时才开始接触到一点点有关于图像隐写的相关知识的,那个时候,学校协会还请到了我们学院的关老师给我们来做了专题分享会,我受益匪浅。这次做项目选到了这个选题很大程度是因为上次在CTF的校赛中有关于图像的隐写题我有很多没解出来,所以借着这次机会,我得以深入了解有关于图像隐写的相关知识,算是终于在这块知识上入了门了,希望有了此次实验的宝贵经验,未来可以是我在CTF的竞赛上走的更远,一下是我的一些收获:
1,能够真正理解两种方法的思想和每一个处理步骤的作用,才能真正写出程序并进行结果分析;
2, 8位的像素值从0开始到255,但是数组的下标从Ⅰ开始到256,所以像素值的2i对应数组下标2i-1,像素值的 2计1对应数组下标2i,像素值只存在2i->2计1 的变换,对应于只存在2i-1->2i 的下标值变换,在编写代码时需注意此类细节,否则实验结果将大打折扣;
3, 当实验结果与预期的有偏差,不仅仅是检查理解实验有偏差、程序是否正确,而且需要改变不同的实现方法、不同的参数以及利用不同的图像来进行测试和比较,这样才可能更快判断出问题出在哪里,并找到解决办法,而且有的时候不一定是代码有误的问题。