信息隐藏-实验三

2022/11/07 Steganography 共 2638 字,约 8 分钟

实验目的

理解图像原始快速匹配分析(Raw Quick Pair, RQP)[1]的原理,并采用其攻击彩色空域图像的最低比特位替换(LSBR)隐写算法。

原理说明

图像原始快速匹配分析能够有效检测基于彩色空域图像的 $LSBR$ 隐写算法,其原理如下。

对于彩色空域图像而言,一幅图像中出现的实际颜色数目为 $U$,而图像像素总数 $MN$ 代表中图像中可能出现的颜色数上限,定义 $\frac{U}{MN}$ 为颜色复杂度。由于空域隐写通常使得图像中出现的颜色数目 $U$ 增多,根据颜色复杂度特征,可以判断一幅图像是否隐写。 该方法具体计算过程如下:

  1. 计算相邻颜色对的归一化值。若两个颜色值 $(R_1,G_1,B_1)$ 和 $(R_2,G_2,B_2)$ 满足 $\mid R_1-R_2\mid \le1$ , $\mid G_1-G_2\mid \le1$, $\mid B_1-B_2\mid \le1$. 则称它们为相邻颜色对。对于待分析的彩色图像𝐼,设其所含相邻颜色对的数量为 $P$,对 $P$ 进行归一化 $Q=P/{n \choose 2}$ . 其中,$n \choose 2$代表该图像的所有颜色对组合数。一般使用 $LSB$ 空域隐写方法在图像中嵌入隐蔽信息会导致 $Q$ 值增加,当图像中已含有隐蔽信息时,再次嵌入新的隐蔽信息后 $Q$ 值的增量小于在不含隐蔽信息的图像中首次嵌入的情况。
  2. 进行基于 $RGB$ 分量的 $LSB$ 二次嵌入。首先,计算待分析图像的 $Q$ 值,记为 $Q_1$。接着,使用基于 $RGB$ 分量的 $LSBR$ 隐写算法在待测图像中嵌入 $3\alpha MN$ 比特的测试数据,其中,$MN$ 为图像的像素总数,$\alpha$ 代表嵌入率。计算二次嵌入后的隐写图像 $𝑄$ 值,记为$Q_2$。
  3. 计算二次嵌入前后 $Q$ 值比例值。计算二次嵌入前后 $Q$ 值的比例 $R=Q_2/Q_1$, 并与某个分析阈值 $T$ 进行比较。当 $R<T$ 时判定为有隐写,当 $R\ge T$ 时判定为未见隐写。

实验步骤

  1. 进行分析参数配置:设置 $RQP$ 分析的消息嵌入率,以及检测窗口的大小和位置;

  2. 进行 $RQP$ 分析:对于彩色空域图像的 $LSBR$ 隐写算法产生的载体和某种嵌入率的隐写样本,先随机选取其中的一部分图像计算 $RQP$ 分析值,并得到最佳判断阈值,再根据此阈值对剩余图像进行隐写分类判决,记录该嵌入率下的 $RQP$ 判断阈值和隐写分析的真阳性率、真阴性率和正确率。

说明:根据试验结果,当嵌入率在 $0.04$ 左右,width 和 height 为50时,未隐写的图片R值不为1,其它的载密图片得到的R值均为1。已经达到十分优异的区分效果,但是由于单一的阈值无法达到完全区分的效果,故实际试验采用SVM方法进行试验

实验要求

  1. 实验报告必须包含对 $RQP$ 的原理说明;
  2. 实验报告必须包含详细的实验步骤描述,并配有相应的截图;
  3. 实验报告必须详实记录 $RQP$ 的具体配置参数、每组隐写分析实验的训练集、测试集配置、判断阈值和分析结果;
  4. 最终上传的压缩包中,除实验报告外,还应包含:实验过程中所编写的所有源代码。

试验结果

试验设置

$R$ 值提取方式同 $RQP$ 方法,每张图片将提取两个特征值。每个嵌入位置如下所示,其中嵌入率设置每组配置不同,后续再进行说明。

var01 = struct('startX',1,'startY',1,'width',50,'height',50,'rate','xxx');
var02 = struct('startX',51,'startY',51,'width',50,'height',50,'rate','xxx');

共设置了六组分类试验,分别为:

  • 第一大组: (LSBR000-LSBR100),(LSBR000-LSBR300),(LSBR000-LSBR500)
  • 第二大组: (LSBR100-LSBR300),(LSBR100-LSBR500)
  • 第三大组: (LSBR300-LSBR500)

每组试验共200对图片,各类别一张图片。实验时随机选用150对作为训练集,剩下50对作为测试集。

SVM分类器采用高斯核,具体参数配置如下:

SVM_Model = fitcsvm(data(1:train_num,:), label(1:train_num), 'Standardize',true,...
        'KernelFunction','rbf',KernelScale='auto');

结果

  1. LSBR000-LSBR100(rate1=0,rate1=0.1)
    1
  2. LSBR100-LSBR300(rate1=0.1,rate1=0.3) 2
  3. LSBR100-LSBR500(rate1=0.1,rate2=0.5) 3
  4. LSBR300-LSBR500(rate1=0.3,rate2=0.5) 4

LSBR000-LSBR300 和 LSBR000-LSBR500与LSBR000-LSBR100情况完全相同,故在此不进行展示。

由试验结果可发现,通过使用SVM进行分类比简单的使用阈值分类(在一般情况下,相对于别的同学的试验)能够达到更好的效果。

所有试验的真阳性率、真阴性率和正确率:

\[TP=FP=ACC=1\]

且通过两两分类,最终能够完美的达到四分类的效果。

实验提示

  1. samples.rar 包含本次实验所需的全部样本,其中共有 4 个文件夹,文件 夹命名格式为“BOSS_LSBR_EmbedRate”EmbedRate 代表嵌入率,例如,文件夹“BOSS_LSBR_300”包含的是采用彩色空域图像的 $LSBR$ 隐写算法,在 0.3bpp 的嵌入率下制备的隐写样本;
  2. $RQP$ 分析的 matlab 函数接口为 R = analysis(imgPath, var),其中,imgPath 表示待分析图像的路径,var 代表配置数,其为结构体变量,成员包括 rate,width,height,startX,startY,它们依次表示:对待测图像进行二次嵌入的嵌入率(该值一般很小,建议取值区间为[0.01, 0.05]),检测窗口的宽度、高度(不宜过大,否则影响算法执行时间,一般小于 100 像素),检测窗口在图像中的水平、垂直偏移(以像素为单位)。

参考文献

1. J. Fridrich, R. Du, and M. Long. Steganalysis of LSB encoding in color images. In Proc. ICME 2000, New York City, New York, USA, July 31 - August 2, vol.3: 1279-1282, 2000.

文档信息

Search

    Table of Contents