论文阅读 | 一种基于潜在向量优化的可证明安全的图像隐写方法(TMM 2023)

  • TMM 2023 中国科学技术大学  
  • 针对现有的可证明安全的图像隐写不能抵抗有损图像操作,而现有的生成图像隐写不能证明安全问题,提出一种基于潜在向量优化的可证明安全的图像隐写方法(名为PARIS),该方法受到逆采样器和噪声层的启发。

Z. Yang, K. Chen, K. Zeng, W. Zhang and N. Yu, "Provably Secure Robust Image Steganography," in IEEE Transactions on Multimedia, vol. 26, pp. 5040-5053, 2024, doi: 10.1109/TMM.2023.3330098.


一、摘要

本文提出一种基于生成对抗网络(GAN)的可证明安全的鲁棒图像隐写术方法,名为PARIS。具体来说,发送方将遵循均匀分布的秘密信息通过逆变换采样映射到遵循标准高斯分布的潜在向量。然后,将这个潜在向量输入到生成器中,合成相应的隐写图像。隐写图像随后通过公共渠道(例如Facebook)传输给接收方,在传输过程中可能会发生有损图像操作。接收方采用梯度下降方法优化初始化的潜在向量,直到相应的合成图像与隐写图像几乎相同。为了考虑有损操作,我们使用一个可微分的噪声模块来模拟可能涉及的操作。这个噪声模块附加到生成器上,使接收方能够准确地提取秘密信息。所提出方法的安全性已经得到了理论上的证明。我们还在不同的生成器架构、有损图像操作和容量上进行了广泛的实验。结果验证了所提方法在安全性和鲁棒性方面的表现。此外,我们还在实践中部署了该方法,并在Facebook和LinkedIn上传输秘密信息。

主要贡献总结如下:

  • 提出了一种基于GAN的可证明安全的鲁棒图像隐写术方法,其中消息被映射到由可证明安全的映射规则引导的潜在向量中。
  • 设计了一个附加到生成器的噪声层模块,以模拟有损图像操作,这显著地促进了方法的鲁棒性。
  • 广泛的实验验证了所提方法在不同的有损图像操作、生成器架构和数据集方面的安全性和鲁棒性。还进行了消融研究,以显示噪声层模块的重要性。

二、现存问题

现有的可证明安全的图像隐写不能抵抗有损图像操作,而现有的生成图像隐写不能证明安全。

1、可证明安全隐写术现存问题

基于隐写安全定义,提出了可证明安全性的隐写算法(详细介绍见上篇:可证安全隐写),存在一些问题,分别针对基于拒绝采样(Rejection Sampling)、逆变换采样(Inverse Sampling)、以及基于生成模型(Generative Models)的隐写算法详细概述:

(1)拒绝采样方法

  • 容量限制:拒绝采样方法通常需要从载体分布中不断采样,直到找到满足特定条件的样本。这种方法直观但容量有限,因为生成有效隐写载体的概率可能很低,导致需要大量无效计算。
  • 完美采样器的挑战:为了实现有效的拒绝采样,需要一个能够完美模拟覆盖分布的采样器,这在实践中很难实现,尤其是在复杂的图像数据上。

(2)逆变换采样方法

  • 分布建模困难逆变换采样依赖于已知的特定数据分布,这要求能够精确建模载体介质(如图像、视频)的分布,这在实际应用中往往是一个挑战。
  • 压缩与解压的局限性:虽然理论上可以通过数据压缩实现逆变换采样,但实际应用中,完美压缩器的设计和实现难度较大,且对数据的微小扰动可能导致信息的丢失

(3)基于生成模型的方法

  • 安全性问题:许多基于生成模型的隐写方法,如使用GAN或VAE,虽然在实证研究中显示出较强的隐蔽性,但缺乏理论支持来证明其在统计意义上的安全性。
  • 对抗性训练的挑战:在训练过程中引入对抗性网络(如判别器)来增强隐写图像的隐蔽性,但这种方法通常需要复杂的训练过程,并且其安全性往往依赖于训练的充分性和判别器的设计
  • 对有损操作的敏感性:生成的隐写图像可能对有损操作(如压缩、滤波)敏感,这限制了它们在实际传输环境中的鲁棒性。

2、生成式隐写现存问题

  1. 容量限制:基于语义映射的SSS-GAN方法尽管通过生成多幅图像来增加容量,但总体容量仍然很低。这限制了可以隐藏的信息量,对于需要传输大量数据的应用场景不适用。

  2. 消息提取精度DCGAN-based 方法:Hu等人提出的方法中,需要训练一个提取器来从隐写图像中恢复潜在向量,再从潜在向量中提取消息。这一过程的精度并不总是令人满意,尤其是在图像经过有损压缩或其他处理后。

  3. 计算开销WGAN-GP-based 方法:Li等人提出的方法中,提取器和生成器需要同步训练,这不仅增加了训练的复杂性,还显著提高了计算资源的需求。

  4. 泛化能力不足:训练的提取器可能在不同的图像处理操作下表现不佳,如JPEG压缩、图像滤波等,这限制了隐写方法在多变的实际环境中的适用性。

  5. 对隐写分析的脆弱性:现有方法可能没有充分利用通道知识,例如对有损图像操作的抵抗能力,导致隐写图像容易被现有的隐写分析方法检测出来。

  6. 潜在向量分布的破坏:一些方法采用的映射规则可能会破坏潜在向量的分布,使得隐写图像与正常生成图像在统计上可区分,从而容易被隐写分析工具识别。

三、提出的方法—PARIS

现有的可证明安全的图像隐写不能抵抗有损图像操作,而现有的生成图像隐写不能证明安全。为了解决这些局限性,提出了一种基于潜在向量优化的可证明安全的图像隐写方法,该方法受到逆采样器和噪声层的启发。方法如图1所示,包括三个阶段:准备阶段、消息嵌入阶段和消息提取阶段。

1、准备阶段

准备阶段的目标是训练一个能够生成高质量、逼真图像的生成器,为后续的隐写信息嵌入提供基础。

(1)目标函数

目标函数:训练涉及生成器G和判别器D之间的对抗过程,生成器生成逼真数据,判别器区分真假数据。GAN的目标函数,用于优化生成器和判别器。该函数由两部分组成:一部分是判别器对真实数据的判断,另一部分是判别器对生成器生成数据的判断。具体如下:

(2)映射关系

注:潜在向量 z从标准高斯分布中抽取,用于生成数据。这个向量是生成器的输入,决定了生成数据的多样性和质量。

(3)过程描述 

a. 输入
  • 潜在向量 z:这是生成器的直接输入,通常从标准高斯分布中随机抽取。潜在向量是生成数据的基础,其维度由 nz​ 表示。

  • 训练数据 x:这些是用于训练判别器的真实图像数据,从已知的数据分布 Pdata中获取。训练数据用于帮助判别器学习区分真实图像与生成器生成的图像。

b. 输出
  • 生成的数据 x:生成器 G 的输出是生成的数据,这些数据是从潜在向量 z通过生成器转换而来,旨在模仿真实数据的分布。

  • 概率判断

    • 判别器 D对真实数据 x的输出:判别器输出一个概率值,表示输入数据是真实数据的概率。
    • 判别器 D对生成数据 G(z)的输出:判别器同样输出一个概率值,表示输入数据是生成器生成的数据的概率。
c. 过程描述
  • 生成器 G:将高维空间中的潜在向量 z转换成数据空间中的图像 x,目的是生成尽可能接近真实数据分布的图像。
  • 判别器 D:接收来自生成器的图像 G(z) 和真实世界图像 x 作为输入,并尝试区分它们。它输出一个介于 0 到 1 之间的值,表示输入图像是真实图像的概率。

这一过程是迭代的,生成器和判别器通过不断的对抗学习来提高各自的性能,直到生成器能够产生足够以假乱真的图像,而判别器则尽可能准确地分类图像。

2、消息嵌入阶段

信息嵌入阶段(Message Embedding Phase),涉及将秘密信息编码到潜在向量 zz 中,并使用这些向量生成隐写图像。以下是该阶段的具体细节:

(1)映射规则(Mapping Rule)

  • 加密消息:首先,明文消息被加密转换为密文,以确保安全性。
  • 均匀分布的密文:密文消息 m被视为一个在区间 [0,2^l−1]内均匀分布的整数 y,其中 l是嵌入的比特数。
  • 高斯分布的潜在向量:潜在向量 z遵循标准高斯分布N(0,I),其中I是单位矩阵。
  • 逆变换采样:消息 y通过逆变换采样映射到潜在向量 z。这个过程涉及使用高斯分布的分位数函数(ppf),确保映射后的向量 z精确符合高斯分布。

(2)消息映射(条件分布和全概率公式)

①条件分布:给定消息 y=i时,潜在向量 z的条件分布 p(z∣y=i) 定义为在两个分位数之间的高斯密度函数值乘以一个常数,否则为零。

②全概率公式:全概率公式用于确保潜在向量 z 在经过消息映射后,其分布仍然精确地符合标准高斯分布。这对于隐写系统的安全性和有效性至关重要,因为任何偏离都可能被隐写分析方法检测到。【简言之,此全概率公式用来确保信息嵌入过程不会破坏潜在向量的统计特性,从而保持隐写图像的隐蔽性和对隐写分析的抵抗力。】

(3)可逆映射(累积分布函数和逆变换采样)

这部分内容展示了如何使用累积分布函数CDF和逆变换采样技术在隐写术中实现消息到潜在向量的可逆映射,这对于确保信息的安全性和可恢复性至关重要。通过这种方式,可以将加密后的消息嵌入到图像中,同时保证在提取阶段能够准确地恢复信息。

(4)隐写图像生成(Stego Generation)

3、消息提取阶段

在消息提取阶段(Message Extracting Phase),接收方需要从接收到的隐写图像中恢复出原始的加密消息。这一阶段主要涉及以下几个步骤,其中关键是通过梯度下降和噪声层的引入,确保即使在图像传输过程中受到噪声干扰,也能准确地从隐写图像中恢复出隐藏的消息。

(1)预处理隐写图像

  • STEP1:扩展范围:原始像素值乘以2,从 [0, 255] 映射到 [0, 510]。这样做是因为在归一化过程中,我们需要将像素值线性地映射到 [-1, 1] 的范围,而这个范围是对称的。如果直接将 [0, 255] 映射到 [0, 1],然后扩展到 [-1, 1],那么这个映射可能不会充分利用 [-1, 1] 范围内的所有可能值。特别是,较小的像素值(接近0的值)在映射过程中可能会过于集中,导致信息损失。

  • STEP2:归一化:将乘以2后的值除以255,得到 [0, 2] 的范围,这是一个归一化步骤,将像素值转换为相对于最大值的比例。这么做目的是为了确保在将像素值从 [0, 255] 映射到 [-1, 1] 时,整个范围被均匀地拉伸并覆盖。如果不乘以 2,直接从 [0, 255] 映射到 [-1, 1],那么在 [0, 127.5] 的范围内的值在映射后会集中在 [-1, 0] 的区间,这可能导致信息的不均匀分布和部分信息的丢失。

  • STEP3:中心化:最后,通过减去1,将范围从 [0, 2] 转换到 [ -1, 1],使得数据以0为中心,这与训练GAN时使用的归一化方法一致。减去 1 的步骤是为了将数据从以 0 为中心的正数范围转换为以 0 为中心的对称范围,即包括正数和负数的范围。

(2)损失函数设计

  • 最小化像素级差异可以确保生成的图像在视觉上与目标图像尽可能相似,这对于隐写术来说至关重要,因为任何明显的偏差都可能暴露隐写内容
  • LPIPS(Learned Perceptual Image Patch Similarity)是一种常用的特征级损失,它通过比较图像在感知空间中的相似度来评估图像质量。特征级损失(如LPIPS)在评估图像质量时,不仅仅关注像素值之间的直接差异,而是更深入地考虑了图像内容在视觉感知上的差异。人眼对某些类型的图像失真比对其他类型的失真更敏感,而传统的像素级损失(如L2损失)可能无法充分捕捉到这些感知上的差异。

(3)潜在向量优化

(4)噪声层引入

论文中设计了一个可微分的噪声层能够在训练过程中通过梯度下降法进行优化。这个噪声层模拟了图像在传输过程中可能遇到的噪声,使得模型能够在存在噪声的情况下进行有效的训练。

4、潜在向量起的作用

(1)信息嵌入的载体

潜在向量是将秘密信息嵌入到图像中的媒介。通过将加密后的消息映射到潜在向量,再由生成器基于这些向量生成隐写图像,实现了信息的隐藏。这一过程是可逆的,确保了信息可以从生成的图像中准确地恢复。

(2)生成控制

潜在向量直接控制生成器输出图像的内容。生成器网络(通常是GAN的一部分)接收潜在向量作为输入,并生成相应的图像。改变潜在向量会导致生成图像的变化,这为信息嵌入提供了可能。

(3)逆变换采样

论文中使用了逆变换采样技术,将均匀分布的消息映射到遵循标准高斯分布的潜在向量。这一步骤确保了信息嵌入过程的随机性和不可预测性,增加了隐写系统的安全性。

(4) 抵抗噪声和有损操作

在消息提取阶段,通过优化潜在向量以最小化生成图像与接收图像之间的差异,潜在向量帮助系统抵抗了图像在传输过程中可能遇到的噪声和有损操作。优化过程考虑了噪声层,进一步提高了系统的鲁棒性。

(5) 实现高维数据的有效表示

潜在向量提供了一种有效的方式来表示高维数据(如图像)。通过在潜在空间中编码信息,可以生成具有丰富变化和高度逼真的图像,这对于隐写术来说至关重要。

(6)支持梯度下降优化

在消息提取阶段,潜在向量的优化是通过梯度下降方法实现的。这一方法允许系统通过迭代过程调整潜在向量,以最小化损失函数,从而准确地恢复出原始的加密消息。

四、安全体现在哪?

1、非忽略优势

隐写术的安全性,主要关注于隐写图像(stego image)与普通图像(cover image)之间的区别是否能够被对手(adversary)区分。用公式体现:

2、隐写图像与普通图像的生成

隐写图像是通过将加密后的秘密信息m通过生成器 G生成的,而普通图像则是从标准正态分布中随机采样得到的。如果对手无法区分这两种生成方式,那么隐写术就是安全的。

3、序列驱动的采样(Sequence-driven Sampling)

隐写术中,秘密信息 m 通过序列驱动的采样 S(⋅)来生成隐写图像。如果这个过程与随机采样过程无法区分,那么隐写术就是安全的。

这些公式的核心是评估隐写术的安全性,即对手区分隐写图像和普通图像的能力。如果对手无法有效地区分这两种图像,那么隐写术被认为是安全的。这些公式通过数学方式量化了隐写术的安全性,确保即使在强大的对手面前,隐写图像也能保持其隐蔽性。


实验部分,后续实现时再补充 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148426.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Unity 热更新(HybridCLR+Addressable)-创建Addressable资源

三、创建Addressable资源 创建三个文件夹,放Addressable资源,里面对应放程序集,预制体以及场景 拖拽到Addressable Groups对应组中 其中文件名太长,带着路径,可以简化名字 创建一个脚本,对于这个脚本进行一…

C#常用数据结构栈的介绍

定义 在C#中&#xff0c;Stack<T> 是一个后进先出&#xff08;LIFO&#xff0c;Last-In-First-Out&#xff09;集合类&#xff0c;位于System.Collections.Generic 命名空间中。Stack<T> 允许你将元素压入栈顶&#xff0c;并从栈顶弹出元素。 不难看出&#xff0c;…

量子计算Quantum Computing

引子&#xff1a;朋友闲谈&#xff0c;问及工作&#xff0c;一个朋友说&#xff0c;他在一家做量子通信的公司上班&#xff0c;具体岗位是做结构设计&#xff0c;他抱怨说&#xff0c;直到现在他都搞不懂量子计算是什么&#xff1f; 一、量子计算是什么&#xff1f; 什么是量子…

LCD屏JD9853各个接口最大支持速率

概述 电子产品开发时常会遇到有带LCD屏的产品&#xff0c;是怎么计算出来的呢&#xff1f;接下来以JD9853这颗驱动IC举例说明&#xff0c;改驱动IC分别支持&#xff1a;8080、(3-line SPI&#xff09;、 (4-line SPI)、QSPI、RGB 1、8080 通过“时钟周期为传输速率的倒数”&a…

k8s上安装prometheus

一、下载对应的kube-prometheus源码 github地址&#xff1a;GitHub - prometheus-operator/kube-prometheus: Use Prometheus to monitor Kubernetes and applications running on Kubernetes 1&#xff09;进入目录 [rootk8s-master ~]# cd kube-prometheus [rootk8s-master…

Spring Boot 学习之路 -- 配置项目

前言 最近因为业务需要&#xff0c;被拉去研究后端的项目&#xff0c;代码基于 Spring Boot&#xff0c;对我来说完全小白&#xff0c;需要重新学习研究…出于个人习惯&#xff0c;会以 Blog 文章的方式做一些记录&#xff0c;文章内容基本来源于「 Spring Boot 从入门到精通&…

周家庄智慧旅游小程序

项目概述 周家庄智慧旅游小程序将通过数字化手段提升游客的旅游体验&#xff0c;依托周家庄的自然与文化资源&#xff0c;打造智慧旅游新模式。该小程序将结合虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08;AR&#xff09;和人工智能等技术&#xff0c;提供丰富的…

国际化适配对照

中文 zh 葡萄牙语 pt 荷兰语 nl 泰文 th 匈牙利语 hu 波兰 pl 土耳其 tr 乌克兰 uk 希腊 el 印度尼西亚 in 越南语 vi 阿拉伯语 ar 希波来语 iw 英语 en 日语 ja 德语 de 法语 fr 意大利语 it 西班牙语 es 俄罗斯语 ru

1.5 计算机网络的性能指标

参考&#xff1a;&#x1f4d5;深入浅出计算机网络 目录 速率 带宽 吞吐量 时延 时延带宽积 往返时间 利用率 丢包率 速率 速率是指数据的传送速率&#xff08;即每秒传送多少个比特&#xff09;&#xff0c;也称为数据率&#xff08;Data Rate&#xff09;或比特率&am…

Python | Leetcode Python题解之第432题全O(1)的数据结构

题目&#xff1a; 题解&#xff1a; class Node:def __init__(self, key"", count0):self.prev Noneself.next Noneself.keys {key}self.count countdef insert(self, node: Node) -> Node: # 在 self 后插入 nodenode.prev selfnode.next self.nextnode.…

Axure9破解

1.下载安装包 通过百度网盘分享的文件&#xff1a;Axure RP 9.zip 链接&#xff1a;https://pan.baidu.com/s/1Lcu-gg4qF8tTkOlt7bC2ww?pwdwmqq 提取码&#xff1a;wmqq 2.设置登录以及破解码 位置&#xff1a;帮助-管理授权-添加key Licensee&#xff1a;123456 Key&#…

健身房管理系统设计与实现

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装健身房管理系统软件来发挥其高效地信息处理的作用&#xff…

2024年信息安全企业CRM选型与应用研究报告

数字化的生活给人们带来便利的同时也带来一定的信息安全隐患&#xff0c;如网络侵权、泄露用户隐私、黑客攻击等。在互联网高度发展的今天&#xff0c;信息安全与我们每个人、每个组织甚至每个国家都息息相关。 信息安全行业蓬勃发展。根据智研咨询数据&#xff0c;2021年&…

【LLM学习之路】9月22日 第九天 自然语言处理

【LLM学习之路】9月22日 第九天 直接看Transformer 第一章 自然语言处理 自然语言处理发展史 只要看的足够多&#xff0c;未必需要理解语言 统计语言模型发展史 统计语言模型&#xff1a; 判断一个句子是否合理&#xff0c;就计算这个句子会出现的概率 缺点是句子越长越…

大数据-145 Apache Kudu 架构解读 Master Table 分区 读写

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

NodeFormer:一种用于节点分类的可扩展图结构学习 Transformer

人工智能咨询培训老师叶梓 转载标明出处 现有的神经网络&#xff08;GNNs&#xff09;在处理大规模图数据时面临着一些挑战&#xff0c;如过度平滑、异质性、长距离依赖处理、边缘不完整性等问题&#xff0c;尤其是当输入图完全缺失时。为了解决这些问题&#xff0c;上海交通大…

2024年中国研究生数学建模竞赛B题 (WLAN组网吞吐量机理建模+决策树 完整建模文章)

2024年中国研究生数学建模竞赛B题 (WLAN组网吞吐量机理建模决策树 完整建模文章) 问题重述和分析 问题重述 本题旨在基于实际测量的WLAN&#xff08;无线局域网&#xff09;数据&#xff0c;建立一个精确的系统吞吐量预测模型。具体而言&#xff0c;提供了多个包含网络拓扑、…

在虚幻引擎中创建毛发/头发

在虚幻引擎中创建毛发/头发 , 首先开启两个插件 Groom 和 Alembic Groom Importer 打开蒙皮缓存 导出人物模型 将人物导入Blender , 选择需要种植头发的点 指定并选择 点击毛发 这里变成爆炸头了 , 把数量和长度调一下 切换到梳子模式 调整发型 导出为abc , 文件路径不…

mysql 内存被打满记录

一&#xff1a;早上收到报警&#xff1a;提示&#xff1a;您的云数据库RDS的1个实例因存储空间满将被锁定&#xff0c;请关注实例的存储空间使用情况&#xff0c;可通过存储扩容或空间清理解除锁定。后续查看错误日志如下&#xff1a;磁盘没有空间了 没有多余的空间写binlog和…

推荐一款开源的Redis桌面客户端

TinyRDM 是一个现代化的、轻量级的跨平台 Redis 桌面客户端&#xff0c;能在 Mac、Windows 和 Linux 系统上使用。它有着现代化的设计风格&#xff0c;界面既简洁又清晰&#xff0c;操作起来方便又高效。不管是刚开始接触的新手&#xff0c;还是经验丰富的开发者&#xff0c;都…