隐写术(二)--传统数字图像隐写算法

数字图像隐写算法根据不同的标准而有不同的分类。下面重要根据隐写算法的工作域和隐写算法的适用范围来展开数字图像隐写算法的介绍。


0x10 基于空间域的隐写算法

0x11 基于LSB方法的隐写算法

LSB(Least Significant Bit),最低有效位,该算法的基本原理是将载体图像的LSB篡改为信息者想要发送的秘密信息的二进制位。LSB隐写算法是一种简单且高效的信息隐藏技术。对于PNG或者BMP图像,一般是由RGB三原色(红绿蓝)组成,每种颜色占用8bit即一个字节的空间,每个像素的像素值范围为 0x00~0xFF,对于彩色图来说,总共有 \(256^3\)种颜色。所以如果用LSB方法隐藏信息,每个像素可以隐藏3Bit的信息。LSB隐写通过修改RGB颜色分量的最低二进制位(LSB),即使图像像素当中最不重要的那一位发生改变也无法使肉眼察觉出来。一般的载体位平面图像如图:
LSB原理示意图
LSB原理示意图
LSB平面的最低位在一个像素中如图:
LSB和位平面
LSB和位平面
上面右边的0即为LSB,每个像素的LSB组成LSB面,我们可以在这个面嵌入信息而难以引起隐写分析的注意。下图是关于水果BMP照片的各个位平面之间的对比图:
灰度图像8个位平面的二值图
灰度图像8个位平面的二值图
假设我们需要嵌入3bit的秘密消息,则如下图:
秘密信息替换载体图像的LSB成为载密图像
秘密信息替换载体图像的LSB成为载密图像

对于嵌入过程可分为三个步骤:

  • 步骤一:在Cover中由给定的密钥(Key)来挑选嵌入的像素数量 Length(message);
  • 步骤二:对于经过步骤一确定的像素数量和给定的二进制格式的秘密信息,比较这些点的最不重要位(LSB)是否与待嵌入的二进制格式的秘密信息相同,如果相同,则不更改最不重要位(LSB);否则,执行步骤三;
  • 步骤三:用二进制格式的秘密信息替换掉选定像素点的最不重要位(LSB),而该像素点除了LSB的其他二进制位保持不变,则修改成为Stego。

对于提取过程,根据密钥(Key)找到Stego中嵌入密码信息的像素位置,随后抽出这些像素灰度值的LSB,排列后组成秘密信息,最后将这些二进制信息转成ASCII码或Uni11code码等其他编码格式的文本或者其他多媒体格式。

在上述嵌入秘密信息的步骤三中,有一个重要环节是选择嵌入秘密信息的像素位置,通常有两种方法可以实现——随机间隔和连续嵌入法,如下两图所示:
连续嵌入法
连续嵌入法
随机间隔法
随机间隔法

LSB是较为早期的隐写算法,该方法原理简单、嵌入容量大、嵌入成本低,但是会导致灰度值在2i2i+1的像素趋于一致,因此出现了“值对”效应。基于这种易于被统计的现象,隐写分析者设计出差分直方图检测法[1]、RS检测法[2]、\(x^2\)检测法[3]。

0x12 LSBM隐写算法

“值对”现象的出现,极大地降低了隐写系统的安全性,数字图像隐写的研究者们竭力在寻找能够修改甚至替代LSB的算法,只为消除其“值对”现象。LSBM算法便是在此背景下被Toby Sharp提出。该算法只是在LSB的基础上做了细微的“优化”来避免“值对”现象,在嵌入秘密信息的时候,如果载体图像被选定的、待嵌入的像素点的LSB与二进制形式的秘密信息不同,则对该LSB任意地+1或者-1(必须保证其随机性,以防止攻击者的“值对”分析)。此外,研究者还将加减复读进行了扩展,假设欲加减的正整数为 K,在这里K有两种情况,一种是当\(K\in奇数\)的时候,使待嵌入的秘密信息二进制形式对应的比特位与数字图像待嵌入点的像素值的LSB保持一致。另一种则是当\(K\in偶数\)时,数字图像待嵌入点的像素值LSB的前一位和秘密信息保持一致。这种方法有效地避免了在2i和2i+1之间的值对现象,能够绕过\(x^2\)检测方法和RS检测方法。基于LSBM隐写算法还出现了其他改进算法提高嵌入效率、增强隐写算法的安全性如:LSBMR(LSBM Revisited)[4]算法和G-LSBM(Generalization of LSBM)[5]算法等。此外,还出现了最低多位替换算法MLSB(Multi LSB)算法。及其改进算法IMLSB(Independent MLSB)和TMLSB(Truss MLSB)。IMLSB算法根据密钥选取图像的最低多个平面上的比特位,并将其替换为秘密信息。该方法对各个位平面的影响是独立的,因此简称为IMLSB替换隐写;TMLSB算法根据密钥选取图像像素,然后将所选像素的最低多位看做一个整体,替换为秘密信息,因此简称为TMLSB替换隐写。

0x13 随机调制隐写算法

随机调制隐写算法[6]基本思想是将欲嵌入信息调制成具有特定概率分布的噪声,并用调制后的信号替代图像获取设备带来的噪声(如高斯白噪声),使攻击者无法区分这些噪声是由图像获取设备产生的还是由隐写所引起的。首先,定义奇偶函数(Parity Function):
公式1

其中\(x∈{0≤i≤255}\), i是整数, s取所有整数,且s不等于0,则对某个固定的s,可以任意定义\(f(x, s)\)的前2s个值,然后推知2s+1以后的所有函数值。

早期的噪声随机调制算法有Marvel等人提出来的SSIS(Spread Spectrum Image Steganography)[7]算法。该算法将秘密信息经过调制后跟载体图像叠加以实现信息隐藏;提取时,需要根据载密图像的数据推测载体图像,将载密图像和载体图像的差值(也就是噪声值)通过解调解析出秘密信息。此外,该方法还引入了纠错码技术,以提高秘密信息的准确率。

0x14 有限调色板图像隐写术

图像处理中为了节省表示图像RGB信息的空间用调色板存储彩色信息(RGB值),数据区只存储当前像素的色彩在调色板中的位置,这样就省了很多字节。不过真彩色的图像没有调色板。利用调色板数据进行隐藏,其基本思想是用秘密信息比特替换调色板的颜色向量的LSB。在实际图像数据中进行LSB的替换。此类隐写首先需要对调色板进行排序,排序后调色板中相邻颜色在感官上是接近的。用调色板的排序方式对信息进行编码。因为有N!种不同的方式对调色板进行排序,所以可以用来对一个短信息进行编码。保持调色板的颜色不变,数目扩大一倍,因此图像中的每一个颜色值对应两个调色板索引,根据秘密信息比特,选择两个相同颜色中的一个。基于调色板的信息隐藏,其鲁棒性都较差,攻击者只要对调色板重新排序、或者对图像的格式进行变换,就很有可能破坏秘密信息。

0x20 基于变换域的隐写算法

LSB及其变形是空域算法,虽然嵌入、提取容易,但是鲁棒性差、安全性低,易于造成隐藏信息的损失或被攻击者发现隐藏信息。随着互联网技术不断发展,JPEG[8](Joint Photographic Experts Group,联合图像专家小组)图像由于其优秀的压缩能力也在网络中大量传输,而JPEG图像编码算法公开获得了很多隐写研究者的青睐。由此,数字图像隐写研究者考虑从变换域中嵌入信息。由于JPEG图像格式采用的是有损压缩技术,通过不同的质量因子,图像显示的效果会有所不同,因而使得攻击者难以辨别图像中的异常是嵌入的隐藏信息还是因为有损压缩导致的噪点。对于JPEG图像的生成过程,如图所示:
JPEG压缩算法流程图
JPEG压缩算法流程图

其中最重要的有四个步骤:夜色模式转换/采样、DCT、量化、编码。DCT(Discrete Cosine Transform,离散余弦变换)是码率压缩中常用的一种变换编码方法。DCT过程是隐写研究者着重研究的内容,在DCT变换的系数上隐写是常见的隐写方法,也是众多隐写方法的着手点。

0x21 JSteg隐写算法

JSteg是最早用于JPEG隐写的隐写算法,其核心思想就是将空域的LSB隐写应用到JPEG图像的DCT变换过程中。具体来说,就是将二进制的隐藏信息嵌入到DCT系数的LSB上,如果隐藏信息的二进制数与DCT的LSB相对应的二进制数相同则不替换,否则替换成隐藏信息的二进制数。如图所示。
JPEG的DCT系数LSB替换
JPEG的DCT系数LSB替换
JSteg隐写算法整体流程如下图:
JSteg隐写算法的流程
JSteg隐写算法的流程

虽然JSteg算法简单、高效,但是同样或出现“值对”效应,很容易被直方图统计攻击,因此在卡方攻击面前无所遁形。JPEG图像由于其算法特性具有两个标志性统计特征分别是:分块效应和直方图特性,因此大部分隐写分析算法利用这两个统计特性进行攻击。通用的JSteg检测方法有:基于小波特征函数统计矩阵的隐写分析方法、基于支持向量机的多特征盲检测算法等。基于小波特征函数统计矩阵的隐写分析方法将小波子带特征函数的统计矩阵作为隐写分析的特征;基于支持向量机的多特征盲检测算法则利用分块效应,将载密图像解压到空域后,裁剪图像然后冲压缩得到校准图像,最后得出特征函数。

0x22 F5隐写算法

在F5隐写算法[9]出现之前,还出现过其前身F3、F4[9]隐写算法。F3隐写算法解决了JSteg隐写算法的DCT系数直方图的“值对”现象。与LSBM隐写算法类似,F3算法在非零DCT系数上的LSB嵌入信息,如果秘密信息的比特位与对应DCT系数的LSB比特位的值相同,则不变,否则对该DCT系数的LSB±1。F3算法成功抵抗了卡方攻击和RS攻击,提高了变换域隐写的安全性,但是该算法仍能通过直方图统计的方法找到其特征,因此无法有效避免统计攻击。由此研究者提出了F4隐写算法,优化了嵌入秘密信息后的DCT系数奇偶正负的特性,使得嵌入信息后的DCT系数一阶统计特性保持不变。而F5隐写算法的统计系数直方图会向中间靠拢,由此无法抵抗直方图攻击,由此Fridrich提出了nsF5隐写算法[10](no-shrinkage F5),该算法利用湿纸编码算法消除了直方图收缩效应,该算法时JSteg系列算法中较为安全的算法,可以被用来测试盲检测算法的性能。

0x23 OutGuess隐写算法

OutGuess隐写算法[11]是由Niels Provos提出的为了解决JP Hide&Seek隐写算法缺陷的方法。该算法主要有两个步骤:1)嵌入过程:不修改值为0,1的DCT系数,通过伪随机数生成器生成下一步嵌入的位置(即,跳转的间隔);2)纠正过程:利用未被修改的DCT系数来保证DCT系数的统计直方图保持跟嵌入秘密信息前的直方图相似,以消除值对现象。所以该方法既保持了DCT系数一阶统计特性,也保持了直方图的统计特性。后面Sallee又提出基于模型的隐写方法(Model Based)MB1隐写算法[12]及其改进算法MB2隐写算法[13]。MB1算法利用DCT系数出现的概率通过Cauchy分布对其进行拟合、算术重编码,以保持直方图统计特性;MB2算法在MB1的基础上对非零系数的隐写作了进一步限制——只能嵌入少于一半非零系数的秘密二进制信息,此外还对没有嵌入秘密信息的DCT非零系数做了微调,提高了统计特性的稳定性,增强了隐写算法的安全性。

0x30 基于数字图像自适应隐写算法

数字图像自适应隐写是近十年来众多学者较为关注的一个方向,因为它相较于传统算法具有较强的安全性、鲁棒性。自适应隐写根据载体图像的纹理和待隐藏的信息,根据载体图像的纹理复杂度自适应地调节嵌入的数据量。大部分自适应算法都是基于“嵌入失真+隐写编码”架构实现图像的自适应隐写。目前有多种隐写编码技术,如:湿纸编码[14]、ZZW编码[15],[16],[17]和矩阵编码[18]等,但是目前较为广泛的还是STC编码[19],其可以通过最小化嵌入失真算法让性能无限接近于最优解,当然也有这些编码的融合方法,如基于湿纸码和STC码的高效隐写算法[20]。自适应隐写算法充分考虑了Stego(载体)的图像纹理特性,通过分析Stego的特点,将秘密信息有选择地嵌入到纹理较为复杂、边缘较为明显的图像区域中。这样做的好处在于:既能保持载体图像外在呈现出来的图像信息,保留视觉上的完整性,又降低了专用隐写分析算法的分析准确率,具有较强的抗分析能力。自适应隐写发展经历了不同的时期,不同的时期有不同的代表算法。

0x31 数字图像自适应隐写基本概念

在典型的“嵌入失真+隐写编码”架构中,嵌入失真函数基于最小加性失真的方法,研究者主要研究的有两个方向分别是:失真函数的设计和最小化嵌入失真的实现。如前面所说,自适应隐写的最终目的是让隐秘信息根据载体图像的纹理特征自动调整嵌入信息的强度,使嵌入的秘密信息极力地伪装成载体图像的噪声,让隐写分析攻击者难以分析,防止秘密信息在传输过程中被截获、分析、破坏,提高图像隐写的安全性。为了达到这一目的,就需要从三个维度——“加性失真函数+最小嵌入失真+隐写编码算法”来考虑:加性失真函数能够自适应地在载体图像中根据载体图像的纹理特性寻找最合适的像素点;最小嵌入失真方法能够考量如何想载体图像嵌入秘密信息的过程中使载体图像特性的变化最小化;而隐写编码算法则根据最小失真方法改变的参数来调整嵌入的效率和速率。为了进一步提高隐写编码算法的效率,还出现了多种隐写编码算法的融合方法,如:融合湿纸码和STC码的隐写算法[20]。下面会介绍以上三个维度每种最基础的方法,以便后续理解和分析各种自适应隐写算法。

  1. 加性失真函数 研究表明,载体图像的统计特性的变化与载体图像的纹理特征具有很强的相关性,这种强相关表现在:载体图像的纹理特征越复杂,其嵌入秘密信息后的改变程度越小。而加性失真函数就是评估秘密信息嵌入载体图像后其统计特性改变程度的一种方法,换而言之,失真函数能够反映图像纹理的复杂度,通过失真函数,能够为后期最小嵌入失真提供数据支撑。我们定义两张图片分别为载体图像ℂ和载密图像𝕊,其大小均为 ,载体图像ℂ和载密图像𝕊的像素点取整范围分别为: \[ \begin{split} C_{i,j}\in0,1,2,\ldots,253,254,255 \\ S_{i,j}\in0,1,2,\ldots,253,254,255 \\ \end{split} \tag{1} \] 我们定义\(\beta_{i, j}\)为载体图像ℂ在\((i, j)\)位置的像素\(C_{i, j}\)改变为载密图像𝕊位置\((i, j)\)的像素\(S_{i, j}\)产生的失真参数[21],则载体图像ℂ整体嵌入失真函数\(\Delta(\mathbb{C}, \mathbb{S})\)为: \[ \Delta(\mathbb{C}, \mathbb{S})=\sum_{i=1}^{m} \sum_{j=1}^{n} \beta_{i j}\left|C_{i j}-S_{i, j}\right|, \quad\left(0 \leq \rho_{i, j} \leq \infty\right) \tag{2} \] 由上述公式可知,嵌入失真函数跟载体图像密切相关。具体来讲,\(\left|C_{i, j}-S_{i, j}\right|\)差值越大,即载体图像改变程度越大,则整体的失真度越高。当然,为了便于理解,这只是一个简单的模型,真正的隐写模型使用到的失真函数比这个更为复杂。

  2. 最小嵌入失真 我们已经通过上述步骤求得嵌入失真函数,接下来就需要考虑怎么把嵌入失真最小化,以最小化嵌入秘密信息带来的对载体信息统计特性的影响,最小化嵌入失真就由此提出。显然,最小化嵌入失真是一个求极值的问题,也就是求最小值的问题,求解这样的问题最有效的方法是求导找斜率,最小嵌入失真函数便基于此思想建立。设\(\pi(\mathrm{i}, j)\)为载体图像ℂ在位置\((i, j)\)的像素\(C_{i, j}\)改变为载密图像𝕊位置\((i, j)\)像素\(S_{i, j}\)的概率,\(m\)为嵌入的秘密信息的二进制长度。为了求出公式\(2\)中的最优解(即最小值),我们对其取极值得: \[ \pi\left(S_{\mathrm{i}, \mathrm{j}}\right)=\frac{\mathrm{e}^{-\lambda \rho_{i, j}}}{\sum_{S \in \tau_{\mathrm{ij}}} \mathrm{e}^{-\lambda \rho_{i, j}}} \tag{3} \] 则秘密信息长度\(m\)为: \[ m=\sum_{i=1}^{m} \sum_{j=1}^{n} \sum_{S \in \tau_{i, j}} \pi\left(S_{i, j}\right) \log \frac{1}{\pi\left(S_{i, j}\right)} \tag{4} \] 由公式\(4\)可得在最小嵌入失真的前提下,可嵌入的秘密信息的长度。这一重要结论在于分离了图像模型\(\pi\left(S_{\mathrm{i}, \mathrm{j}}\right)\)和实际计算中使用到的编码算法,因此,我们可以设计出更好的编码或使用更好的图像模型使最终隐写算法的性能、安全性、抗分析能力最优。需要注意的是,最小化嵌入失真的过程还有一个重要的步骤,就是隐写编码,隐藏信息就是通过隐写编码嵌入到载体图像中。

  3. 隐写编码算法 经过上述步骤,在已知失真函数的情况下,隐写编码算法可以动态调整失真函数,使嵌入秘密信息后载密图像的统计特征无限接近于原始图像(载体图像)。其中,Filler提出的STC(Syndrome-Trellis Codes)是一种二元隐写编码[19],STC编码奠定了隐写编码算法的研究基础,很多研究者在此基础上改进或融合了STC编码。此外,早期湿纸编码[22]也非常流行。

0x32 基于视觉效果的隐写算法

在早期自适应隐写方向,隐写研究者最开始想到的是在载体图像纹理丰富的区域嵌入隐秘信息,因其纹理复杂,会被观察者误认为是噪点而忽略掉,难以观察出来,具有较强的隐蔽性。基于这个出发点,Kawaguchi E.等人提出了基于位平面的复杂段分割隐写算法(Bit-Plane Complexity Segmentation,BPCS)[23],该算法提出:将载体图像的位面和待隐藏信息分割成大小相同的位面块,随后将载体图像的低复杂度位面小块与待隐藏的信息替换以隐藏信息。这种算法简单高效,却容易被分析。基于BPCS算法,Da-Chun Wu等人提出了改进的基于像素插值的视觉隐蔽算法PVD(Pixel Value Difference)[24],该算法将载体图像分割大小相同的互不重叠的像素方块,根据分割出来的像素块之间的差值来确定嵌入的隐秘信息的多少,如果像素块之间的差值越大,说明纹理越复杂,视觉干扰越明显,则可以嵌入越多的隐秘信息。BPCS和PVD算法都是基于视觉效果进行信息隐藏的算法,具有良好的视觉隐蔽性,但是在抗隐写分析算法的性能上却非常低效。学者为了提高自适应算法的抗分析能力,尝试了多种方法,如今主流、有效的方法是基于最小化统计的隐写方法[25],[26],[27]和基于最小加性失真模型的隐写方法[28]。后者在学术界得到了更广泛的发展,并且衍生出大量高质的自适应隐写算法。

0x33 空域自适应隐写算法

为了避免基于视觉效果的信息隐藏算法中的安全性问题,研究者提出了在空间域实现隐写的方法,这些方法大都基于“嵌入失真函数+STC编码技术”架构[29]实现空域隐写,文献[29]首次提出基于该架构的空域自适应隐写算法——(Highly Undetectable setGO)HUGO算法,将自适应隐写算法从基于视觉隐藏算法中的研究方向转移到基于空域图像隐写算法的方向中去,极大地提高了自适应隐写算法地安全性和抗分析能力。在载体图像的灰度共生矩阵提取特征时,HUGO算法将其提取像素地阈值设为T=90,因此载密图像在像素值为[80,93]区间的像素个数发生了明显变化,很容易被统计攻击,极大降低了自适应算法的安全性。为了解决这个问题,Jan Kodovsky等人提出将HUGO算法的阈值设为T=255[30],即为HUGO255。为了进一步提高类HUGO算法在高嵌入率情况下的安全性,Fridrich在文献[25]中提出MG(Multivariate Gaussian)算法,该算法利用不同分布但相互独立的量化多元高斯模型对载体图像进行建模,通过载体对象(Cover)和载密对象(Stego)最小化KL散度(Kullback Leibler),以生成嵌入失真函数,此外还利用拉格朗日乘子法推导出给定载荷和图像的最优嵌入变化概率。相较于HUGO隐写算法,MG隐写算法对于大于0.3bpp的有效载荷具有更强的安全性;但对于较小的有效载荷,HUGO相对安全一点。文献[31]提出在空间域定义加性隐写失真的WOW方法,该方法在改变一个像素之后,对方向高通滤波器输出的变化加权,随后用Holder范数的倒数聚合,来定义单个像素的成本。

HUGO、MG、WOW隐写算法利用最优搜索保持载密图像与载体图像高阶的统计特性,因此提高了抗统计分析的能力,安全性高于一般的隐写算法。Vojtěch Holub等人为了进一步改进WOW算法,提出了一种测量固定于中的嵌入失真的新方法,该方法独立于嵌入变化(和编码)所在的域,通过Daubechies小波滤波器组获得的方向残差来评估图像元素(如:像素或DCT系数)的改变值。简单来说,就是将嵌入更改限制在那些难以在多个方向建模的区域,同时避免对光滑区域和平滑的边缘进行隐写,由此衍生成(UNIversal WAvelet Relative Distortion,UNIWARD)通用小波相对失真系列的隐写算法。此外,基于空域的自适应隐写算法还有SUNIWARD(Spatial UNIWARD)隐写算法、HILL(HIgh-pass, Low-pass, and Low-pass)隐写算法[32]、MiPOD(Minimizing the Power of Optimal Detector)隐写算法[27]等。这些算法的核心思想是:基于复杂度优先的原则对元素进行更改,简而言之,载体图像区域嵌入的失真小,则被嵌入隐秘信息的概率大,反之,被嵌入隐秘信息的概率小。基于这一思想Li Bin等人提出cost-value分布的思想,结合了扩散原则(Spreading Rule)和聚合原则(Clustering Rule)进一步优化选取图片元素的策略。

值得注意的是,上述算法的嵌入失真都是加性的嵌入失真,而文献[33]提出了一个通过定义联合失真像素块、基于非加性失真隐写的框架。为了降低最小化联合失真函数的复杂度,该文献提出Dejoin(Decomposing Joint distortion)隐写算法[33],该方法证明了非加性失真嵌入函数在隐写中的可行性。

0x34 JPEG域自适应隐写算法

Fridrich等人最早在2005年提出一种新的JPEG自适应隐写算法——扰动量化算法[34]。该算法使用量化取整误差的方法来构造嵌入失真函数,该方法使用湿纸编码,在DCT系数取整时,干扰其取整方向以嵌入秘密信息。基于[18]和[34]两种算法,出现了MMe(Modified Matrix Encoding)和PQ(Perturbed Quantization)隐写算法,这两种算法是早期的JPEG自适应隐写算法的代表,其核心架构是“嵌入失真函数+隐写编码算法”。为了进一步改进PQ算法,文献[10]提出了PQe(PQ energy-adaptive)和PQt(PQ texture-adaptive) 隐写算法,这两种算法既融合DCT系数量化取整误差的思想,又考虑了DCT系数各个分块的能量大小和纹理复杂度,明显提升了PQ算法的性能。为了进一步提高JPEG隐写的安全性,Huang F.等人提出NPQ(Normalized PQ)隐写算法[35],该算法提出了新的信道选择规则,该规则可用于寻找最小的可检测失真的DCT系数。类似于SUNIWARD空域自适应隐写算法,文献[36]提出适用于变换域的JPEG图像隐写算法和Slide Informed UNIWARD(SIUNIWARD)隐写算法。为了让隐写算法可以抗空域和变换域隐写分析的能力,Wang Z.等人提出Hybrid隐写算法,该算法基于DCT系数量化步长和像素块差值,嵌入效率明显高于JUNIWARD隐写算法。此外,还有早期的EBS(Entryopy Block Steganography)隐写算法[37],能够抵抗高维检测攻击;UED(Uniform Embedding  Distortion)系列算法——UED-SC (UED based on Single Coefficient)、UED-JC(UED based on Joint Coefficients)、SI-UED(Side Informed UED)[38],[39],基于载体图像DCT系数块内、块间相邻系数生成相应的嵌入失真函数,具有较强的抗检测性优势。

0x40 总结

本章介绍空域隐写算法时,从最简单的LSB隐写原理开始介绍,之后再详细列举了LSB隐写的变种及随即调制、有限调色板隐写等方法;介绍变换域隐写算法时,先从JPEG压缩的原理出发,介绍了其流程,然后解释基于DCT的多种变换域隐写的方法;介绍自适应隐写算法时,则先介绍了自适应隐写算法的基本概念及公式,然后基于这些概念展开阐述各种自适应隐写算法的核心思想。

0x50 参考文献

[1] Zhang T, Ping X J. Reliable Detection of Spatial LSB Steganography Based on Difference Histogram[J]. Journal of Software, 2004, 15(1):151-158.

[2] Fridrich J , Goljan M , Du R . Detecting LSB steganography in color, and gray-scale images[J]. IEEE Multimedia, 2001, 8(4):22-28.

[3] Westfeld A, Pfitzmann A. Attacks on Steganographic Systems[C] International Workshop on Information Hiding. Springer-Verlag, 1999.

[4] Mielikainen, J. LSB matching revisited[J]. IEEE Signal Processing Letters, 2006, 13(5):285-287.

[5] Li X , Yang B , Cheng D , et al. A Generalization of LSB Matching[J]. IEEE Signal Processing Letters, 2009, 16(2):69-72.

[6] Fridrich J , Goljan M . Digital image steganography using stochastic modulation[J]. Proceedings of SPIE - The International Society for Optical Engineering, 2003, 5020(4):191--202.

[7] Marvel L M , Retter C T , Boncelet C G . Hiding Information in Images.[C]// International Conference on Image Processing. IEEE, 1998.

[8] Pennebaker W B , Mitchell J L . JPEG still image data compression standard[M]. Van Nostrand Reinhold, 1992.

[9] Westfeld A . F5—A Steganographic Algorithm[M]// Information Hiding. Springer Berlin Heidelberg, 2001.

[10] Fridrich J . Statistically undetectable jpeg steganography:dead ends challenges, and opportunities[C]// Workshop on Multimedia & Security. DBLP, 2007.

[11] Provos N . Defending Against Statistical Steganalysis[C]// Conference on Usenix Security Symposium. USENIX Association, 2001.

[12] Sallee P . Model-Based Steganography[C]// International Workshop on Digital Watermarking. Springer, Berlin, Heidelberg, 2003.[13] Sallee P. MODEL-BASED METHODS FOR STEGANOGRAPHY AND STEGANALYSIS[J]. International Journal of Image and Graphics, 2005, 5(01):23.

[14] Fridrich J , Goljan M , Lisonek P , et al. Writing on wet paper[J]. IEEE Transactions on Signal Processing, 2005, 53(10):3923-3935.

[15] Zhang W , Wang S , Zhang X . Improving Embedding Efficiency of Covering Codes for Applications in Steganography[J]. IEEE Communications Letters, 2007, 11(8):680-682.

[16] Zhang W , Zhu X . Improving the Embedding Efficiency of Wet Paper Codes by Paper Folding[J]. IEEE Signal Processing Letters, 2009, 16(9):794-797.

[17] Zhang W , Wang X . Generalization of the ZZW Embedding Construction for Steganography[J]. IEEE Transactions on Information Forensics and Security, 2009, 4(3):564-569.

[18] Kim Y , Duric Z , Richards D . Modified Matrix Encoding Technique for Minimal Distortion Steganography[J]. 2006.

[19] T Filler ,J Judas ,J Fridrich. Minimizing Additive Distortion in Steganography Using Syndrome-Trellis Codes. IEEE Signal Processing Society, 2011.

[20] 刘华, 汤光明. 一种融合湿纸码和STC码的高效隐写算法[J]. 计算机应用研究, 2012, 29(6).

[21] Pevný, Tomáš, Filler, Tomáš, Bas P . Using High-Dimensional Image Models to Perform Highly Undetectable Steganography[J]. Lecture Notes in Computer Science, 2010, 6387:161-177.

[22] Fridrich J, Goljan, Soukal D. Wet paper codes with improved embedding efficiency[J]. IEEE Transactions on Information Forensics and Security, 2006, 1(1):102-110.

[23] Kawaguchi E, Eason R O. Principles and applications of BPCS steganography[C]// Photonics East. International Society for Optics and Photonics, 1999.

[24] Wu D C , Tsai W H . A steganographic method for images by pixel-value differencing[J]. Pattern Recognition Letters, 2003, 24(9-10):1613-1626.

[25] Fridrich J , Jan Kodovský. MULTIVARIATE GAUSSIAN MODEL FOR DESIGNING ADDITIVE DISTORTION FOR STEGANOGRAPHY[C]// IEEE International Conference on Acoustics. IEEE, 2013.

[26] Alattar A M , Memon N D , Heitzenrater C D , et al. SPIE Proceedings [SPIE IS&T/SPIE Electronic Imaging - San Francisco, California, United States (Sunday 8 February 2015)] Media Watermarking, Security, and Forensics 2015 - Content-adaptive pentary steganography using the multivariate generalized Gaussian cover model[J]. 2015, 9409:94090H.

[27] Sedighi V , Cogranne R , Fridrich J . Content-Adaptive Steganography by Minimizing Statistical Detectability[J]. IEEE Transactions on Information Forensics and Security, 2015:1-1.

[28] Fridrich J , Filler T . Practical methods for minimizing embedding impact in steganography[C]// Electronic Imaging. International Society for Optics and Photonics, 2007.

[29] Pevný, Tomáš, Filler, Tomáš, Bas P . Using High-Dimensional Image Models to Perform Highly Undetectable Steganography[J]. Lecture Notes in Computer Science, 2010, 6387:161-177.

[30] Kodovsky J , Fridrich J , Holub V . On dangers of overtraining steganography to incomplete cover model[C]// Acm Multimedia & Security Workshop. ACM, 2011.

[31] Holub V , Fridrich J J . Designing steganographic distortion using directional filters.[C]// IEEE International Workshop on Information Forensics & Security. IEEE, 2012.

[32] Li B , Wang M , Huang J , et al. A new cost function for spatial image steganography[C]// 2014 IEEE International Conference on Image Processing (ICIP). IEEE, 2015.

[33] Zhang W , Zhang Z , Zhang L , et al. Decomposing Joint Distortion for Adaptive Steganography[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2016:1-1.

[34] Fridrich J , Goljan M , Soukal D . Perturbed quantization steganography[J]. Multimedia Systems, 2005, 11(2):98-107.

[35] Huang F , Huang J , Shi Y Q . New Channel Selection Rule for JPEG Steganography[J]. IEEE Transactions on Information Forensics and Security, 2012, 7(4):1181---1191.

[36] Holub, Vojtěch, Fridrich J . [ACM Press the first ACM workshop - Montpellier, France (2013.06.17-2013.06.19)] Proceedings of the first ACM workshop on Information hiding and multimedia security - IH&MMSec "13 - Digital image steganography using universal distortion[J]. 2013:59.

[37] Wang C , Ni J . An efficient JPEG steganographic scheme based on the block entropy of DCT coefficients[C]// IEEE International Conference on Acoustics. IEEE, 2012.

[38] Guo L , Ni J , Shi Y Q . An efficient JPEG steganographic scheme using uniform embedding[C]// Information Forensics and Security (WIFS), 2012 IEEE International Workshop on. IEEE, 2012.

[39] Guo L , Ni J , Shi Y Q . Uniform Embedding for Efficient JPEG Steganography[J]. IEEE Transactions on Information Forensics and Security, 2014, 9(5):814-825.

文章目录
  1. 1. 0x10 基于空间域的隐写算法
    1. 1.1. 0x11 基于LSB方法的隐写算法
    2. 1.2. 0x12 LSBM隐写算法
    3. 1.3. 0x13 随机调制隐写算法
    4. 1.4. 0x14 有限调色板图像隐写术
  2. 2. 0x20 基于变换域的隐写算法
    1. 2.1. 0x21 JSteg隐写算法
    2. 2.2. 0x22 F5隐写算法
    3. 2.3. 0x23 OutGuess隐写算法
  3. 3. 0x30 基于数字图像自适应隐写算法
    1. 3.1. 0x31 数字图像自适应隐写基本概念
    2. 3.2. 0x32 基于视觉效果的隐写算法
    3. 3.3. 0x33 空域自适应隐写算法
    4. 3.4. 0x34 JPEG域自适应隐写算法
  4. 4. 0x40 总结
  5. 5. 0x50 参考文献
,