隐写术的主要目的是在任何文件(通常是图像,音频或视频)中隐藏预期的信息,而无需实际更改文件的外观,其外观应与以前相同。基神敬蚂于DCT系数的变稿慎换进行数字隐写,主要思想是将秘密消息嵌入在量化后的DCT系数的最低比特位上。但对原始值为0、1的DCT系数不进行嵌入。提取秘密消息时,只需将载密图像中不等于0、l的量化DCT系数的LSB取出即可。
该工具用于提取一个如雹文件中包含的多个文件。常见的文件隐藏在PNG,JPG等图片信息,不仅限于用在图片文件的信息段带提取握橡芦配合我之前的简文中提及的Binwalk,Stegsolve神器。基本能解决大多数的Misc题目。
安装步骤:
下面会介绍三个重要的隐写分析算法以展开隐写分析的研究,而这三个算法属于通用盲检测算法范畴,此类算法根据JPEG图像的像素点或者DCT系数的特性宏盯,提取出JPEG图像的共生矩和直方图特征,利用这些特征作为分类器的输入,分类器根据这些特征训练可得到检测橘绝含器,以检测图片是否嵌入了秘密信息。
残差图像的离散余弦变换(DCTR)[1]是通用的盲检测算法。该算法用JPEG中的DCT基来获得残差直方图,因此特征提取只需要计算64个8x8核DCT基,利用这些卷积核与解压JPEG图像卷积得到一个二维矩阵,然后将这个二维矩阵量化、截断得到子图像,最后根据这些子图像提取出直方图特征,再将这些直方图特征通过对称性原则对其进一步压缩,融合成8000维的特征向量。DCTR较于一般的通用盲检测算法,圆笑最大的优势在于效率非常高,提取出的特征的维数也相对较低,本小节将详细解释DCTR的每个步骤。
给定一个像素为 (M,N均为8的倍数)的灰度图像, , 64个 非抽取的DCT基定义为 ,则有:
其中, ,“ ”表示无填充卷积。为提高可读性,定义 和 为DCT模型下空域的索引,即像素点的下标,他们的取值范围为 。经过上面这一步,我们会得到多个 的矩阵,下面我们会看到未抽样DCT的值 是如何受 的单个DCT系数细微的改变而发生巨大的影响的。
假设二次采样后每 的矩阵为 ,这些矩阵的四个顶点为:
是对应的JPEG图像上的一个修改的系数,这个系数存在于 矩阵中。 位置上DCT系数的变化将影响一整块 矩阵中的所有像素,以及在 中以 这个点为中心的整个15 × 15的领域。特别地,这些值的修改有下面的“单元响应” 来完成:
由公式 假设我们已知某个二次采样后的 矩阵的四个顶点分别定义为:A、B、C、D,对于一个特定的值 ,即 为 矩阵中的其中一个元素,它的位置为 , . 我们以8x8左上角的顶点为参照点,则其他B-D的点分别为: ,这个8x8的矩阵为构成为量化DCT系数的 块。并设定 块右、下、右下的8x8块分别为 区域,则分别有四个矩阵: , 分别表示横向和纵向的空域坐标轴的位置,由上所述可得:
由公式 我们可知 在 的变化,不见影响 区域的 矩阵每个像素点 ,还会影响其他三个相邻区域的 三个8x8矩阵的DCT系数。由此我们可以通过两个坐标准确定位一个像素点: 确定了 矩阵的位置, 确定了 矩阵里元素的相对位置,因此我们可以准确定义一个二维矩阵 作为 的子矩阵( 网格中以左上角顶点为参考对象,相对坐标为 )。由此,邻接矩阵的关系为:
因此特征向量由 归一化的直方图构成:
其中, 质心为 的整数,实际上就是每个直方图的bins, 是量化步长, 中的 是一个判决器,当等式成立时为1,否则为0。
综上,DCTR算法的流程如图:
GFR全称Gabor Filter Residual[2],这里我们把它称为二维Gabor残差过滤器。GFR能够从不同的尺度和方向准确地描述图像纹理和边缘特征,可以从丰富的图像中抽象出统计特征,以此来更有效地反映JPEG图像被嵌入秘密信息后的变化,提高数字图像隐写分析的性能。GFR利用不同尺度和方向的二维Gabor滤波器[3]对解压后的JPEG图像进行分解,然后从图像滤波系数中提取隐写分析特征。其中二维的Gabor过滤器作为本地带通滤波器在空间域和变换域具有一定的最优联合定位的特性,其能够有效地描述图像纹理和边缘特征。相比于利用64个DCT核对图像滤波的DCTR,二维Gabor过滤器可以捕获嵌入变化更多的尺度和方向,所以GFR可以更能利用自适应隐写的特性。
Gabor变换属于短时傅里叶变换(STFT),其在傅里叶变换中加入了高斯窗,实现了空间域和变换域的局部分析。当使用二维Gabor滤波器进行图像处理和分析时,首先对图像进行二维Gabor滤波器滤波,然后对其特征提取、边缘检测、去噪等处理或分析。首先,将输入的图像 与二维Gabor函数 卷积,得到一个Gabor特征图 :
其中, , 表示图像像素点集。公式 中的 函数采用文献[4]的Gabor函数族,它是高斯函数和余弦函数的乘积:
其中, 。σ越小,表示空间分辨率越高,图像滤波系数反应的局部属性在小尺度;反之,意味着空间分辨率越低,反映再图像的大尺度。最后,所以Gabor滤波器均中心化,其所有元素减去核均值,行成高通滤波器。
提取特征时,GFR隐写分析算法的步骤如下:
综上,GFR的过程与DCTR过程最大区别在于选取的64个卷积核不一样,GFR更能代表图像的整体纹理特征,其步骤如下图:
相位感知投影模型(PHARM)[5]使用基于小内核的像素预测器来避免混合具有不同系谱的随机变量,该方法没有是用大量的像素预测器来实现特征的多样化,而是使用了少量的Small-Support线性像素预测器,并采用了与投影空间富模型(PSRM)类似的方式来实现模型的多样化。下面会粗略介绍一下SRM[6]和PSRM[7]来引出PHARM。
假定两个符号 ,分别表示 维的灰度Cover图像和灰度Stego载体图像中的二维像素值数组, 均为8的倍数。无论是SRM还是PSRM都是从45个不同的像素预测器估计给定图像的噪声成分开始的。像素预测器分两种类型:线性和非线性。每个线性预测器都是一个由核矩阵 描述的移不变有限脉冲响应线性滤波器。通过将预测图像从原始图像中减去,得到噪声残差 ,( 在接下来的公式中表示一个 矩阵的索引)它是一个与 的维数相同的矩阵:
由此,我们得到了基本的噪声残差 ,其中“ ”表示 和 镜面填充卷积,使得这两个矩阵卷积后的维数保持不变。 举一个最简单的线性残差的例子: 表示邻接横向残差,其预测器 ,则表示将像素值估算为水平相邻的像素值。
SRM中的非线性预测器通过取两个或两个以上的残差的最小值或最大值来得到的。例如,分别对 像素在水平和垂直方向上预测,得到水平和垂直方向上的残差 :
则非线性的最值残差如下:
与SRM通过四个方向来捕获残差的统计特性不同的是,PSRMQ3是用残差投影到多个随机方向的一阶统计量。给定噪声残差 ,这里直接列出量化值的直方图函数[3]:
其中, ,而 , 是随机矩阵: 。
在PHARM中,仅使用线性(“spam”类)残差和以下7个内核:
这些核使用贪心正向特征选择算法获得最佳互补核,该算法使用下面列出的25个预测核的检测误差的OOB(Out-of-bag)估计,其中下面列出的第一、第二和第三阶内核使用的预测器与面向相应方向的SRM中使用的预测器相同:
上面6种类型的预测核不需要都使用,在后续提取JPEG图像的PHARM特征时,使用了一阶、二阶和 核。
本章详细介绍了DCTR、GFR、PHARM三种隐写分析算法的原理和具体步骤.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)