论文研读|生成式文本隐写发展综述

news2024/9/28 3:23:35

前言:最近接触了文本隐写这一研究领域,大概率以后深入这个方向开展研究,以下是本人近日对该领域研究现状的调研总结,以及生成式文本隐写代表性工作的相关介绍,便于厘清生成式文本隐写的发展脉络以及探寻未来研究空间。

注:本文章中的部分内容基于综述文本隐写及隐写分析综述(应用科学学报,2021)整理而成。

目录

  • 一、文本隐写(Linguistic Steganography)
    • 1.1 修改式文本隐写
      • 1.1.1 基于文本格式的隐写
      • 1.1.2 基于文本内容的隐写
    • 1.2 生成式文本隐写(无载体隐写)
      • 1.2.1 基于马尔可夫模型的生成式文本隐写
      • 1.2.2 基于深度学习的生成式文本隐写
      • 1.2.3 生成式文本隐写数据集汇总
      • 1.2.4 针对特定任务的生成式文本隐写
    • 1.3 文本隐写评价指标
    • 1.4 未来发展方向
  • 二、文本隐写分析
    • 2.1 传统的隐写分析方法
    • 2.2 基于深度学习的隐写分析方法
    • 2.3 评价指标
    • 2.4 未来发展方向


一、文本隐写(Linguistic Steganography)

文本隐写方法大致分类如下。近来,随着大规模预训练语言模型发展迅猛,生成式文本隐写成为当今研究的主流。

在这里插入图片描述


1.1 修改式文本隐写

主要思想:在已有文本载体的基础上,对文本格式或文本内容加以修改,在此过程中嵌入秘密信息。

1.1.1 基于文本格式的隐写

常用的方法有如下几种:(1)修改文本横向纵向间距;(2)修改字符大小、样式、颜色等;(3)修改字符编码(Unicode编码 & ASCII字符替换)

1.1.2 基于文本内容的隐写

  • 基于语法的修改:这种方法通常在句子级别嵌入秘密信息,牺牲了信息隐藏容量。例如:(1)基于虚词变换的隐写方法:增删助词“的”;基于句式移位变换的隐写方法:改变句子中词语的顺序;(3)基于上下文替换的隐写方法:定冠词&指示性形容词。

  • 基于语义的修改:这种方法通常在字词级别嵌入秘密信息,以提高信息隐藏容量。此类修改方法的一个热门研究点是「基于同义词替换的信息隐藏」,该研究点的优化方向包括(1)同义词库构建、同义词编码方法设计以及(3)同义词替换规则设计。例如:缩写与全称的替换、同义词替换&霍夫曼编码、矩阵编码&同义词替换、基于上下文组合频率的同义词选取、基于依存句法分析的同义词替换。


1.2 生成式文本隐写(无载体隐写)

生成式文本隐写的大致流程如下图所示。主要思想:自动生成含密载体,提高了秘密信息在传输中的安全性。生成式文本隐写方法大致分为两步:(1)选择合适的语言模型用来生成文本;(2)在文本生成过程中选择合适的编码及采样方式完成秘密信息嵌入。

在这里插入图片描述

如下图所示,生成式隐写旨在达到的目标是:使得含密文本的分布与自然语言文本的分布趋于一致。

在这里插入图片描述

1.2.1 基于马尔可夫模型的生成式文本隐写

主要思想:通过将状态转移图中的条件概率进行霍夫曼编码,从而选择出合适的词语用以生成隐写文本。

1.2.2 基于深度学习的生成式文本隐写

基于深度学习的生成式文本隐写采用的文本预训练语言模型主要包括:RNN、LSTM、GPT、GAN 以及 VAE 模型;采用的编码方式主要包括:定长编码(Fixed Length Coding)、霍夫曼编码(Huffman Coding)、算术编码(Arithmetic Coding)等熵编码方法。根据任务不同,基于深度学习的生成式隐写可划分为通用文本隐写(Universal Steganography)和基于特定任务(如图像描述、视觉故事和对话生成)的文本隐写(Task-specific Steganography)。下面对基于深度学习的生成式通用文本隐写部分代表性工作进行介绍。

[1]- Generating Steganographic Text with LSTMs(ACL Workshop, 2017) Waterloo University, Fang et al.

在这里插入图片描述

  • 主要思想:采用定长编码完成信息隐藏与提取

  • 使用数据集:Twitter;Enron datasets

  • 评价指标:视觉不可感知性:Perplexity;嵌入容量:bpw

  • 开源代码:https://github.com/vincentballet/steganography-nn

  • 相关数学概念:大数定理(the Law of Large Numbers),指某个随机事件在单次试验中可能发生也可能不发生,但在大量重复实验中往往呈现出明显的规律性,即该随机事件发生的频率会向某个常数值收敛,该常数值即为该事件发生的概率。 另一种表达方式为当样本数据无限大时,样本均值趋于总体均值。其表达方式主要有:切比雪夫(Cheby—shev)大数法则、贝努利(Bernoulli)大数法则和泊松(Poisson)大数法法则,详见此篇文章。

[2]- RNN-Stega: Linguistic Steganography Based on Recurrent Neural Networks(TIFS, 2019) Tshinghua University, Yang et al.

在这里插入图片描述

  • 主要思想:采用霍夫曼编码完成信息隐藏与提取
  • 使用数据集:Twitter;IMDB;News
  • 评价指标:效率:time;视觉不可感知性:perplexity & 生成文本与隐写文本的语义相似性(t-SNEWasserstein Distance);抗隐写分析能力:Accuracy;嵌入容量:bpw 比特层面的嵌入比例(不同语言因占用bit位数不同无法横向比较)
  • 开源代码:https://github.com/YangzlTHU/RNN-Stega

[3]- Towards Near-imperceptible Steganographic Text(ACL, 2019) Chicago TTI, Dai and Cai

在这里插入图片描述

  • 主要思想:对上述两种方法进行分析,并提出改进版霍夫曼编码 Patient Huffman Coding 方法。实现了统计不可感知性的文本隐写。
  • 评价指标:统计不可感知性:KL散度
  • 开源代码:https://github.com/falcondai/lm-steganography
  • 相关数学概念:总变分距离(Total Variation Distance, TVD),衡量概率分布间的统计距离,详见此篇文章

[4]- Neural Linguistic Steganography(EMNLP, 2019) Harvard University, Ziegler et al.

在这里插入图片描述

  • 主要思想:采用算术编码完成信息隐藏与提取
  • 使用数据集:CNN/Dailymail(CNNDM)dataset
  • 评价指标:嵌入容量:bpw;统计不可感知性:KL散度& Monte Carlo Sampling;Human Evaluation(Amazon Mechanical Turk)
  • 开源代码:https://github.com/harvardnlp/NeuralSteganography
  • 演示网址:https://steganography.live/

[5]- Near-imperceptible Neural Linguistic Steganography via Self-Adjusting Arithmetic Coding(EMNLP, 2020) UIUC, Shen et al.

在这里插入图片描述

  • 主要思想:采用自调整算术编码(Self-Adjusting Arithmetic Coding, SAAC)完成信息隐藏与提取,自适应体现在每个时间步解码时的候选词集规模不同。
  • 使用数据集:Drug;CNN/Dailymail(CNNDM);COVID-19;Random (a collection of uniformly sampled bit sequences)
  • 评价指标:嵌入容量:bpw;统计不可感知性:KL散度;Human Evaluation(Amazon Mechanical Turk)
  • 开源代码:https://github.com/mickeysjm/StegaText
  • 相关数学概念:平斯克不等式(Pinsker’s Inequality),该不等式表明两个分布的总变分距离以KL散度的函数为界。详见此篇文章

[6]- VAE-Stega: Linguistic Steganography Based on Variational Auto-Encoder(TIFS, 2021) Tshinghua University, Yang et al.

  • 主要思想:作者首先通过下图实验指出,视觉不可感知性与统计不可感知性之间存在冲突,将其总结为 Perceptional Statistical Imperceptibility Conflict Effect(Psic Effect)现象。
    在这里插入图片描述
    针对上述现象,作者提出使用 VAE 框架,其中encoder 负责学习自然文本统计特征,decoder 负责生成含密文本,如下图所示。实验过程中,使用 Huffman Coding 与 Arithmetic Coding 两种编码方式对本方法进行验证。
    在这里插入图片描述

  • 使用数据集:Twitter;IMDB

  • 评价指标:统计不可感知性:JS散度& KL散度;视觉不可感知性:Perplexity & ΔMP;抗隐写分析能力:Accuracy & Recall

  • 开源代码:https://github.com/YangzlTHU/VAE-Stega

  • 相关密码学概念:柯克霍夫原则(Kerckhoff’s Principle),由奥古斯特·柯克霍夫在19世纪提出,其核心理念是:即使密码系统的任何细节已为人悉知,只要密匙未泄漏,它也应是安全的。信息论的发明者克劳德‧艾尔伍德‧香农(Claude Shannon)则改成说:“敌人了解系统”,这种说法则称为香农箴言。详见此篇文章。

[7]- Linguistic Steganography Based on Adaptive Probability Distribution(TDSC, 2021) China Agricultural University, Zhou et al.

在这里插入图片描述

  • 主要思想:提出基于自适应概率分布的采样方式,设计概率相似性函数重构候选词集,并使用生成对抗网络(Generative Adversarial Network, GAN)更好地模拟生成文本与自然文本间的概率分布,其中选择隐写分析模型作为GAN中的判别器,实在是妙哇!顺便提高了生成器生成文本的抗隐写分析能力。

在这里插入图片描述
上图中,概率相似度函数定义如下:

在这里插入图片描述

  • 使用数据集:Twitter;IMDB;MSCOCO
  • 评价指标:嵌入容量:bpw;视觉不可感知性:Perplexity;统计不可感知性:Wasserstein Distance;抗隐写分析能力:Accuracy & F1(LS-CNN [14], TS-RNN [47], and R-BI-C [32])
  • 开源代码:https://github.com/CAU-Tstega/text-steganography
  • 相关数学概念:齐夫定律(Zipf’s law),是由哈佛大学的语言学家乔治·金斯利·齐夫(George Kingsley Zipf)于1949年发表的实验定律。它可以表述为:在自然语言的语料库里,一个单词出现的频率与它在频率表里的排名成反比。所以,频率最高的单词出现的频率大约是出现频率第二位的单词的2倍,而出现频率第二位的单词则是出现频率第四位的单词的2倍。这个定律被作为任何与幂定律概率分布有关的事物的参考。详见此篇文章。

[8]- Provably Secure Generative Linguistic Steganography(ACL, 2021) Tshinghua University, Zhang et al.

在这里插入图片描述

  • 主要思想:提出基于自适应动态分组(Adaptive Dynamic Grouping, ADG)的分布采样方式,并针对该方法给出理论层面的安全性证明。
  • 使用数据集:Twitter;IMDB;News
  • 评价指标:嵌入容量(ER):bpw;统计不可感知性:KL散度(KLD1&KLD2);抗隐写分析能力(Fasttext & TextCNN):Acc;有效嵌入率(EER):(2 × (1 − Acc) × ER)
  • 开源代码:https://github.com/Mhzzzzz/ADG-steganography
  • 相关数学概念“:琴生不等式(Jensen’s Inequality),由丹麦数学家约翰·琴生(Johan Jensen)于1906年证明。该不等式描述了凸函数中的不等式关系,有着广泛的应用。详见此篇文章

[9]- Meteor: Cryptographically Secure Steganography for Realistic Distributions(CCS, 2021) Boston University, Kaptchuk et al.

在这里插入图片描述
在这里插入图片描述

  • 主要思想:基于对称加密的可证安全隐写。
  • 测试设备:Desktop/GPU;Laptop/CPU;Mobile
  • 使用数据集:Hutter Prize dataset;Wikipedia dataset;HTTP Headers dataset
  • 评价指标:视觉不可感知性:Perplexity;统计不可感知性:KL散度;嵌入容量:bpt(bits/token);Entropy;Secure
  • 开源代码:https://gist.github.com/tusharjois/ec8603b711ff61e09167d8fef37c9b86
  • 相关数学概念:拒绝采样(Rejecton Sampling),是针对复杂问题的一种随机采样方法。使用该采样方式可以得到采样的概率分布,详见此篇文章。

[10]- Discop: Provably Secure Steganography in Practice Based on “Distribution Copies”(S&P, 2023) USTC, Ding et al.

在这里插入图片描述

  • 主要思想:将解码时间步对应的概率分布复制多个副本,通过分布副本的选择完成秘密信息嵌入。

在这里插入图片描述

  • 使用数据集:IMDB for text generation & text2speech;Celeb-A(Deep Learning Face Attributes in the Wild ) for image completion
  • 评价指标:统计不可感知性:KL散度(Avg.KLD & Max.KLD);生成效率:time;嵌入容量:实际嵌入量/理论可嵌入量
  • 开源代码:https://github.com/comydream/Discop

1.2.3 生成式文本隐写数据集汇总

数据集顺序按照在代表性论文中的实际使用频率排序。

  • Twitter: Twitter sentiment classification using distant supervision (Stanford, 2018)
  • IMDB: Learning word vectors for sentiment analysis (Stanford, ACL, 2011)
  • News: https://www.kaggle.com/snapcrack/all-the-news/data
  • CNN/Dailymail: Teaching machines to read and comprehend (DeepMind, NIPS, 2015)
  • Enron: The enron corpus: A new dataset for email classification re- search (CMU, ECML, 2004)
  • Drug: Creative language encoding under censorship (NLP4IF, 2018)
  • COVID-19: Cord-19: The covid-19 open research dataset (Allen, arXiv, 2020)
  • MSCOCO: Microsoft COCO: Common Objects in Context (Cornell, ECCV, 2014)
  • Hutter Prize dataset: The Hutter Prize Wikipedia dataset, also known as enwiki8
  • Wikipedia dataset: https://huggingface.co/datasets/wikipedia
  • HTTP Headers dataset: None

1.2.4 针对特定任务的生成式文本隐写

下述为一些针对特定任务的生成式隐写工作,涵盖图像、文本、语音以及遗传信息等多种模态。

  • Dialogue Generation: RITS: Real-Time Interactive Text Steganography Based on Automatic Dialogue Model (ICCCS, 2018) Tshinghua University, Yang et al.
  • Visual Storytelling: Steganographic visual story with mutual-perceived joint attention (EURASIP, 2021) Shanghai University, Guo et al.
  • Text-to-Speech: Distribution-Preserving Steganography Based on Text-to-Speech Generative Models (TDSC, 2022) USTC, Chen et al.
  • Image Captioning: ICStega - Image Captioning-based Semantically Controllable Linguistic Steganography (ICASSP, 2023) USTC, Wang et al.
  • DNN Steganography: DNA Synthetic Steganography Based on Conditional Probability Adaptive Coding (TIFS, 2023)

1.3 文本隐写评价指标

文本隐写的评价指标与隐写相同,即不可感知性安全性以及嵌入容量,三者越高越好。关于不可感知性评价,可分为主观评价和客观评价 —— 主观评价即人工对隐写文本的流畅性、语义相关性等方面综合打分,打分过低则说明为隐写文本;客观评价使用困惑度衡量。关于安全性,通过KL散度评判不含密文本与隐写文本的分布相似性。KL散度越低,说明两个分布越相似,隐写系统越安全。在满足不可感知性和安全性的前提下,文本载体中能够嵌入的秘密信息比特的最大值即为嵌入容量。 从下表可以看出,不同文本隐写算法在不可感知性、安全性以及嵌入容量方面有巨大差异。

在这里插入图片描述


1.4 未来发展方向

文本隐写未来领域的研究重点可围绕(1)提高嵌入容量;(2)增强稳健性;(3)降低计算复杂度等方面展开。


二、文本隐写分析

文本隐写分析本质上是个二分类任务,旨在将给定文本区分为含密文本和不含密文本。隐写分析可分为主动隐写分析和被动隐写分析,其中,主动隐写分析的目标是提取秘密信息,当前被动隐写分析是主流,目标是检测秘密信息和秘密通信的存在。根据是否使用深度学习技术,隐写分析可分为传统隐写分析方法与基于深度学习的隐写分析方法。

2.1 传统的隐写分析方法

传统的隐写分析方法通过手动构建一系列文本特征,分析隐写前后这些特征的变化,设计相应的二分类器对文本进行区分。针对不同的隐写方法,传统隐写分析方法设计的文本特征也有所不同。除针对特定隐写方法的隐写分析,还有一些通用的隐写分析方法,如基于单词分布的统计检测方法。此外,另有研究根据文本统计特性差异设置阈值区分正常文本与含密文本,而无需设计分类器,降低了计算复杂度。

2.2 基于深度学习的隐写分析方法

基于深度学习的隐写分析方法代表性工作[48-55]. 相较而言,基于深度学习的隐写分析方法普适性更强,检测精度更高。

2.3 评价指标

文本隐写分析的评价指标与二分类任务的评价指标基本一致,即准确率、精准率以及召回率。

2.4 未来发展方向

未来,隐写分析算法的发展方向是不断优化文本特征提取算法。另外,相较于载体文本而言,显示场景中收集到的隐写文本数据量往往较少,用以训练分类器的数据不充分,使得隐写分析算法会向半监督甚至无监督的方向优化。


参考资料

  1. 文本隐写及隐写分析综述(应用科学学报,2021)

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

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

相关文章

Go学习第三天

map的三种声明定义方式 声明map后,一定要make开辟空间,否则会报越界且不能使用 package mainimport "fmt"func main() {// 第一种声明方式// 声明myMap1是一种map类型 key是string value是stringvar myMap1 map[string]string// 判断一下map在…

接口请求(get、post、head等)详解

一.接口请求的六种常见方式: 1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体) 2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建…

【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

HCIP 交换综合实验--企业三层架构

题目 1、内网IP地址使用172.16.0.0/26分配 2、SW1和SW2之间互为备份 3、VRRP/STP/VLAN/Eth-trunk均使用 4、所有PC均通过DHCP获取IP地址 5、ISP只能配置IP地址 6、所有电脑可以正常访问ISP路由器环回 实验步骤 第一步、规划IP地址 R1-R2:100.1.1.0/24 R2-LSW1…

【远程桌面软件NoMachine】

Remote Access for Everybody 特色:快速、安全、跨平台、免费且简单易用,尤其是在带宽低、速率慢的网络环境下,NoMachine仍能保持良好的性能。 官网地址为:https://www.nomachine.com/

c++--简单多状态动态规划问题

PS:以下代码均为C实现 1.按摩师 力扣 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总…

【JAVA】正则表达式是啥?

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言正则表达式正则表达式语法正则表达式的特点捕获组实例 前言 如果我们想要判断给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)&#xff0c…

2023华数杯数学建模C题思路 - 母亲身心健康对婴儿成长的影响

# 1 赛题 C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情…

搭建 Vite + Vue3 + Pinia + Element Plus 项目。

一、基础项目搭建: 开发工具推荐 VS Code 开发,配合插件如下: 插件名功能TypeScript Vue Plugin (Volar)用于 TypeScript 的 Vue 插件Vue Language Features (Volar)Vue3.0 语法支持 1. 创建项目 可以通过附加的命令行选项直接指定项目名…

第20节 R语言医学分析:某保险医疗事故赔偿因素分析

文章目录 某保险医疗事故赔偿因素分析源码源文件下载某保险医疗事故赔偿因素分析 我们分析数据集“诉讼”的第一个方法是确定样本数量、变量类型、缩放/编码约定(如果有)用于验证数据清理。 接下来,数据集看起来很干净,没有缺失值,并且对于分类变量,将编码约定替换为实际…

LeetCode 热题 100 JavaScript--543. 二叉树的直径

给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 var diameterOfBinaryTree function(root) {var maxDiameter…

leetcode每日一练-第88题-合并两个有序数组

一、解题方法 先合并&#xff0c;再排序 二、code class Solution { public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {for(int i0;i<n;i){nums1[mi]nums2[i];//将 nums2 中的元素逐个复制到 nums1 的尾部}sort(nums1.beg…

基于遗传算法的试题组卷(一)

基于遗传算法的试题组卷 IT企业每年都会在春季和秋季举行校园招聘&#xff0c;对于个性化定制的试卷需求量很大&#xff0c;如何组出又好又快的定制化试题对于IT企业非常重要。组卷技术主要针对知识点覆盖率&#xff0c;题型&#xff0c;难度系数&#xff0c;试题数量等一些试题…

为什么感觉 C/C++ 不火了?

首先C和C是两个非常不一样的编程语言。 C语言在系统开发领域地位非常稳固&#xff0c;几乎没有替代产品。应用层开发近年来略微有被Rust取代的迹象。 C由于支持的编程范式过多&#xff0c;导致不同水平的人写出来的代码质量差异太大&#xff0c;这给软件的稳健性带来了很大的…

C高级_第二讲_shell指令和shell脚本_递归练习

思维导图 递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位 int funh(int num){if(0 num){return 0;}else{funh(num/10);printf("%d\n", num%10);} }int main(int argc, const char *argv[]) {puts("请输入一个数");int num 0;scanf(&quo…

C++11中的内存模型

一、几种关系术语 1.1、sequenced-before sequenced-before用于表示同一个线程中&#xff0c;两个操作上的先后顺序&#xff0c;这个顺序是非对称、可以进行传递的关系。 它不仅仅表示两个操作之间的先后顺序&#xff0c;还表示了操作结果之间的可见性关系。两个操作A和操作…

《长安的荔枝》阅读笔记

《长安的荔枝》阅读笔记 2023年6月9号在杭州的小屋读完&#xff0c;作者以“一骑红尘妃子笑”的典故&#xff0c;想象拓展出来的荔枝使李善德&#xff0c;为了皇帝要求在贵妃寿辰&#xff0c;六月一号那天要吃到10斤的荔枝。需要从广州运送到长安即如今的西安。本来以为这个差事…

SequenceDiagram 查看代码时序图的利器,做技术方案必备!

前言 “ 无论是快速了解业务流程&#xff0c;还是快速的熟悉系统的业务代码逻辑&#xff0c;以及各个类和方法等的调用关系&#xff0c;时序图无疑是其中一种不可获取的简便快捷的方式。一起来了解下&#xff0c;IDEA如何快速生成时序图吧。” 工作中&#xff0c;经常需要绘制…

async 和 await的用法

async 函数 async 函数是使用async关键字声明的函数。async 函数是 AsyncFunction构造函数的实例&#xff0c;并且其中允许使用 await 关键字。async 和 await 关键字让我们可以用一种更简洁的方式写出基于 Promis的异步行为&#xff0c;而无需刻意地链式调用 promise。 asyn…

MySQL实用命令

一、 DISTINCT 去重 案例&#xff1a;user_test表对班级字段进行去重操作 SELECT DISTINCT class FROM user_test 二、 的作用 案例&#xff1a; SELECT NULL10 三、 concat 实现连接字符串 ​​​案例&#xff1a; SELECT CONCAT(NAME,class) AS 姓名班级 FROM user_test 四…