论文阅读《Robust Steganography for High Quality Images》高质量因子图片的鲁棒隐写

TCSVT 2023 中国科学技术大学

Kai Zeng, Kejiang Chen*, Weiming Zhang, Yaofei Wang, Nenghai Yu, "Robust Steganography for High Quality Images," in IEEE Transactions on Circuits and Systems for Video Technology, doi: 10.1109/TCSVT.2023.3250750.


一、问题背景

随着在线社交网络深入人们生活,大家习惯将手机拍摄的照片分享到社交网络上,因此利用手机拍摄图片通过社交网络进行隐蔽信息传输已经成为一种合理的行为。但是,手机拍摄保存通常是高质量因子JPEG图像,上传到社交网络后会以低质量因子重新压缩,而现有鲁棒隐写方法通常需要使用低质量因子的图片作为载体,缺少高质量因子JPEG图像鲁棒隐写的研究。

二、提出的方法

针对这个问题,提出一种用于高质量图像的鲁棒自适应隐写术方法(PMAS)。PMAS方法包含精细抖动调制和补偿处理两种操作。精细抖动调制可以确保修改系数的鲁棒性,并通过减少修改幅度来提高安全性;补偿处理会修改重新压缩后发生变化的系数,以确保未修改系数的鲁棒性。

1、PMAS算法的流程

所提出的方法,即Postprocessing and precise dither Modulation based robust Adaptive Steganography method (PMAS),其流程大致如下:

  1. 生成鲁棒封面(Robust Cover):使用JPEG压缩后的载体图像(d'c)生成鲁棒载体(x),这是通过将压缩后的DCT(离散余弦变换)系数除以隐写量化步长(∆)来实现的。

  2. 计算失真(Calculate Distortion):利用选定的失真函数(如JUNIWARD或UERD)计算初始失真(ϱ)。通过引入一个调整函数(F),调整修改幅度对失真分配的影响。

  3. 使用STC编码(Distortion Coding with STC):利用综合征-特里利斯编码(Syndrome-Trellis Codes,STC)根据初始失真和调整后的失真来编码信息。

  4. 精确抖动调制(Modify with PDM):应用精确抖动调制(PDM)来修改载体图像的DCT系数,以嵌入信息。PDM旨在减少修改幅度,从而提高安全性。

  5. 补偿处理(Post-process):对经过JPEG压缩的隐写图像进行后处理,以增强未修改系数的鲁棒性。后处理通过识别在压缩过程中发生变化的系数,并对其进行额外的修改来实现。

  6. 迭代过程:后处理可能需要迭代多轮,直到隐写图像在JPEG压缩后能够保持稳定,确保信息可以正确提取。

  7. 消息嵌入与提取:在嵌入过程中,通过上述步骤生成最终的隐写图像(dy),用于传输。在提取过程中,接收方首先生成鲁棒载体,然后利用错误更正编码(ECC)和STC从隐写图像中提取信息。

整个PMAS方法的核心在于通过精确的抖动调制和补偿处理来平衡隐写的鲁棒性和安全性,同时针对高质量图像在社交网络中常见的重新压缩情况(Downward Robust)进行优化。

2、精细抖动调制

精确抖动调制(Precise Dither Modulation, PDM)是文章中提出的一种用于改进隐写术安全性的方法,特别是在处理高QF(Quality Factor)图像时。**在传统的抖动调制(Dither Modulation, DM)方法中,隐写修改通常涉及到对DCT(Discrete Cosine Transform)系数进行±1的修改。**然而,当处理高QF图像且需要抵抗JPEG压缩时,可能需要更大的修改幅度来确保隐写的鲁棒性,这会牺牲安全性。

PDM的设计目的是在保证隐写鲁棒性的同时,减少修改幅度,从而提高隐写的安全性。以下是PDM的关键步骤和特点:

  1. 选择隐写量化步长(Steganographic Quantization Step):在"Downward Robust"场景中,选择一个大于1的隐写量化步长(∆),以增强对JPEG压缩的鲁棒性。

  2. 生成鲁棒载体(Robust Cover)通过将DCT系数除以隐写量化步长来生成鲁棒载体

  3. 计算系数的鲁棒性(Calculate Coefficient Robustness) :根据系数与量化区间边缘的距离来评估其鲁棒性。距离越远,鲁棒性越高。

  4. 精确修改(Precise Modification)只对那些鲁棒性高于某个阈值(t)的系数进行修改。这意味着只有当系数足够鲁棒时,才会进行隐写修改。修改时,选择距离当前系数最近的量化区间内的值,而不是简单地选择区间中点。这减少了修改幅度,从而提高了安全性。

  5. 保持隐写约束(Maintain Steganographic Constraints):确保修改后的系数满足隐写约束,即隐写量化后的值与预期的隐写消息相匹配。

  6. 优化安全性(Optimize Security):通过减少修改幅度,降低隐写算法被检测到的可能性。

PDM通过精确控制修改幅度和选择性地对系数进行修改,实现了在高QF图像中嵌入信息的同时,保持对JPEG压缩的鲁棒性,并提高了隐写安全性。这种方法特别适用于需要在社交网络等环境中分享高质量图片的场景,这些图片往往会被以较低的QF重新压缩。
补充:PDM简单理解版本如下:

  • 选择步长:首先,PDM会根据图片的压缩程度选择一个合适的步长,这个步长决定了我们调整数值的大小。
  • 评估鲁棒性:然后,PDM会评估每个数值调整的安全性和稳定性,确保调整后的数值在图片被压缩后仍然能够保持稳定。
  • 精确修改:接着,PDM只会对那些评估结果良好的数值进行调整,并且调整的幅度尽可能小,这样即使图片被压缩,隐藏的信息也不容易丢失。

3、补偿处理

补偿处理(Post processing),在文章中提出的方法里,是用来增强隐写算法鲁棒性的一个关键步骤。它主要针对那些在JPEG重新压缩过程中可能发生变化的DCT(离散余弦变换)系数进行额外的修改,以确保这些系数在经过重新压缩后仍然能够保持稳定,从而保证隐写信息的正确提取。下面是补偿处理的详细步骤:

  1. 生成初始隐写图像:首先,通过精确抖动调制(PDM)或其他方法,将秘密信息嵌入到封面图像中,生成初始的隐写图像。

  2. 重新压缩隐写图像:将初始隐写图像通过模拟社交网络的JPEG压缩过程进行重新压缩,得到重新压缩后的隐写图像。

  3. 分析变化:对比重新压缩前后的隐写图像的DCT系数,找出那些在重新压缩过程中发生变化的系数。这些变化可能会导致隐写信息的丢失或错误。

  4. 确定补偿目标:根据分析结果,确定需要进行补偿处理的DCT系数。这些通常是那些在重新压缩后发生变化,且可能影响隐写信息提取的系数。

  5. 执行补偿修改:对于每一个需要补偿的DCT系数,根据其在重新压缩后的位置,进行适当的修改。这个修改的目的是将这些系数调整到一个更稳定的状态,减少它们在未来再次压缩时发生变化的可能性。

  6. 迭代过程:补偿处理可能需要多次迭代,每次迭代都包括重新压缩隐写图像、分析变化、执行补偿修改等步骤。每次迭代后,隐写图像的鲁棒性都会得到一定程度的提升。

  7. 结束条件:当经过一定次数的迭代后,或者当隐写图像在重新压缩后的变化低于某个阈值时,补偿处理可以结束。这时,得到的隐写图像在JPEG重新压缩下具有较好的鲁棒性。

补偿处理的目的是**为了弥补在隐写过程中由于JPEG压缩引入的不稳定性,通过额外的修改来提高隐写信息的提取准确性。**这种方法虽然可以提高鲁棒性,但同时也可能会对隐写的安全性产生一定的影响,因为它增加了对图像的修改。因此,在设计隐写算法时,需要在鲁棒性和安全性之间找到一个平衡点。

4、基于精确抖动调制的鲁棒隐写术算法

三、实验 (后续补充。。)

1、模拟的失真类型:

  • 文章中使用了JUNIWARD和UERD两种失真函数来模拟和计算隐写过程中的失真。

2、实验对比方法:

  • 将PMAS与不使用后处理、不使用精确抖动调制(使用传统的抖动调制,GDM)以及不进行失真调整的基线方法进行比较。
  • 通过改变后处理轮数和失真调整函数,评估了PMAS在不同条件下的鲁棒性和安全性。
  • 使用DCTR特征和SRNet神经网络作为检测器,评估了隐写算法的安全性

补充处理

精细化抖动机制

使用DCTR特征和SRNet神经网络作为检测器,评估了隐写算法的安全性。


四、Code资源

中国科学技术大学鲁棒隐写相关工作开源代码合集:

https://github.com/coriverchen/Robust_Steganography

相关推荐
网络安全-杰克3 分钟前
助力网络安全发展,安全态势攻防赛事可视化
网络·安全·web安全
Source.Liu12 分钟前
不安全 Rust
安全·rust
笨小古17 分钟前
路径规划——RRT-Connect算法
算法·路径规划·导航
<但凡.25 分钟前
编程之路,从0开始:知识补充篇
c语言·数据结构·算法
f狐0狸x1 小时前
【数据结构副本篇】顺序表 链表OJ
c语言·数据结构·算法·链表
paopaokaka_luck1 小时前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
phoenix@Capricornus1 小时前
矩阵的对角化&特征值分解
图像处理·线性代数·机器学习·矩阵
视觉小萌新1 小时前
VScode+opencv——关于opencv多张图片拼接成一张图片的算法
vscode·opencv·算法
2的n次方_2 小时前
二维费用背包问题
java·算法·动态规划
IT小辉同学2 小时前
一键生成本地SSL证书:打造HTTPS安全环境
安全·https·ssl