1. F5隐写
F5隐写是较为先进的隐写算法,其采用矩阵编码和DCT混洗技术。DCT混洗保证图像质量,图像的直方图特性。矩阵编码则提高了图像的嵌入效率。
1.1 矩阵编码
1.2 DCT混洗
所谓混洗,就是在信息嵌入前,将图像的DCT系数的顺序打乱,得到一个新的DCT系数序列,之后进行秘密信息的顺序嵌入。嵌入后再将DCT系数恢复到其原来的位置中。在实际的算法实现中,本文设计的“混洗”方案如下:
图1
在本方案中,并不改变DCT所在位置,而是在随机数发生器下,由密钥得到一系列数(在DCT个数范围内,且每个数仅出现一次),将其作为DCT位置信息,依次对DCT系数进行信息嵌入,即非顺序嵌入,同样达到了使隐秘信息分布均衡的目的,且不用生成新的DCT序列,也不用恢复到原来的序列,提高了算法的效率。
2. F5检测
传统的隐写检测采用单一的统计值分析,随着智能分类工具如线性分类器、非线性分类器、几何分类器的出现,对隐写载体的多统计值分析并建立分类函数成为可能,且检测效果有了较大的改进。多统计值分析主要包括载体图像的估计,特征值的提取,分类器的训练三个步骤。
2.3 分类器
支持向量机(SVM)是采用可训练的学习方法,能够解决线性不可分问题的一种分类器。其主要思想可概括为以下两点:1.采用核函数将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,常用的核函数如下表2.基于结构风险最小化理论之上在特征空间中建构最优分割超平面。
2.4 仿真结果与分析
仿真实验所使用图库为300幅分辨率512X512的彩色JPEG图像。其中,200幅作为分类器训练样本,100幅作为分类器检测样本。采用所编写的F5隐写软件分别嵌入2KB,4KB,8KB信息量,对其进行检测,检测效果与Farid提出的传统检测算法对比如表1:
由检测结果可得,采用多统计值分类器检测对低嵌入量的隐写图像具有较高的检测率和较低的误检率。
JPHide隐写软件运用blowfish算法在载体上嵌入秘密信息,Steghide则运用图论,两者同样是较为先进的隐写算法。
对其所隐写的图片进行分类器的训练和检测得到检测结果如表2:
表2
从上表可以看出,由于所提取的特征值是针对F5隐写的特征变化,因此在较低嵌入率下,检测系统的性能不如其在所针对F5隐写的检测时的性能。但在相对较高的嵌入率,检测系统表现出较好的适应性。
参考文献
[1] Q. Z. Liu,A. H. Sung, M. Y. Qiao, Z. X Chen and B. Ribeiro, “Neighboring Joint Density-Based JPEG Steganalysis,” ACM Transactions on Intelligent Systems and Technology. 2011, 2(2): 1-16.
[2] FRIDRICH J. Detecting hidden messages using higher-order statistical models[ C ] / /Proc of International Conference on Image Processing. New York: Rochester, 2002: 905-908.
[3] 刘祖根。图像隐写分析算法研究[D]。浙江:浙江大学,2007
[4] 张飞,平西建,张涛。针对F5算法的盲检测隐写分析[A]。计算机工程与设计,2009 ,30(5)
[5] 赵险峰,登国.特征函数和质量因子的 JPEG图像隐写分析[J].北京:中国科学院研究生院学报,2010