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

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

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


一、文本隐写(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.

在这里插入图片描述

[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

[11]- Semantic-Preserving Linguistic Steganography by Pivot Translation and Semantic-Aware Bins Coding”(TDSC, 2023) Shanghai University, Yang et al.

在这里插入图片描述

  • 主要思想:采用基于枢纽语言的文本改写方式,设计 Seq2Seq2Seq2 模型完成 ENG-GER-ENG 的语言转换,在第二阶段使用 Semantic-Aware Bins Coding 以及字节对编码方法完成隐写。

在这里插入图片描述


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

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

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

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


1.3 文本隐写评价指标

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

在这里插入图片描述


1.4 未来发展方向

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


二、文本隐写分析

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

2.1 传统的隐写分析方法

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

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

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

2.3 评价指标

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

2.4 未来发展方向

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


参考资料

  1. 文本隐写及隐写分析综述(应用科学学报,2021)
  2. 【极简综述23】文本隐写简述(隐者联盟公众号)
  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
分治法是一种常见的算法设计方法,其基本思想是将原问题划分成若干小规模的子问题,通过解决子问题来解决原问题。 实际应用中,我们可以使用分治法来解决一些常见的问题,比如“找第k小/大的元素”。下面以“找第k小的元素”为例进行说明。 首先,我们需要明确问题的具体描述:给定一个无序数组arr和一个整数k,找出数组中的第k小的元素。 接下来,我们使用分治法来设计算法: 1. 划分阶段:将数组arr划分为若干个规模更小的子数组。可以选择任意划分方式,比如选择一个元素作为pivot,并将所有小于pivot的元素放在左侧,大于pivot的元素放在右侧。划分完成后,得到了几个子数组。 2. 解决阶段:根据划分得到的子数组,可以有以下两种情况: a. 如果第k小的元素在划分得到的子数组的左侧,那么递归地在左侧子数组中继续寻找第k小的元素; b. 如果第k小的元素在划分得到的子数组的右侧,那么递归地在右侧子数组中继续寻找第k-k'小的元素,其中k'为左侧子数组中的元素个数。 c. 如果第k小的元素刚好等于pivot,那么直接返回pivot即可。 3. 合并阶段:根据解决阶段的结果,得到第k小的元素。 通过不断地划分和解决子问题,最终就能找到第k小的元素。 在具体实现算法时,需要考虑边界情况、递归结束条件等。并且,根据实际需求可以进行优化,比如在划分阶段选择合适的pivot,以提高算法的效率。 总之,通过掌握运用分治法的方法,我们能够解决一些实际问题,比如找第k小的元素。这种方法通过将问题划分成子问题,并递归地解决子问题,最终得到最终问题的解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Meilinger_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值