【摘 要】为保证在数字媒体隐藏信息前后图像的直方图保持不变,提出了一种新的汉明码混合变换算法,即汉明码结合直方图保持的信息隐藏算法。该算法先利用二元汉明码嵌入方案,确定原图像的改写位并进行改写翻转,成功嵌入秘密信息。然后根据盈亏补偿平衡点的思想,对每个嵌入的比特秘密信息,都进行相邻位直方图数据的检测并补偿,使信息隐藏前后图像的直方图改变保持最小值。通过对密写分析的结果进行对比,表明该种算法具有良好的图像信息隐藏性能。
【关键词】信息隐藏;汉明码;图像;混合变换
A Novel Hamming Code Mixed Transform and its Application in
Image Information Hiding
LI Yafeng1,2, ZHENG Ziwei2, YANG Ren’er2, YE Chaoyong2, CHEN Zhenzuo2
[Abstract] In order to keep the histogram of the image unchanged before and after it is written, a novel hamming code mixed transform is proposed, which is an information hiding algorithm based on hamming code combined with histogram-preserving. First, the embedded binary hamming code is used by the algorithm to determine the reposition of the original image, reverse it and successfully embed the secret information. Then, according to the idea of the balance between profit and loss compensation, it is adjacent to a histogram data detection and compensation for bits of each embedded secret information to keep the minimum value for the image histogram change before and after the steganography. The experimental results show that the algorithm has good performance in image information hiding.
[Key words]information hiding; hamming code; image; mixed transform
1 引言
信息隐藏(Information Hiding)是在不对载体信号产生过分影响的条件下,将额外的信息嵌入到数字媒体当中,以实现版权保护、隐蔽通信等功能[l]。隐写算法研究的主要目的是通过秘密信息植入,使秘密信息可以在公开的数字媒体中实现隐蔽通信。
目前隐写算法研究的一个重要问题是如何实现对现有载体作微量改动实现大量信息嵌入。通常在相同信息嵌入率的情况下,载体被修改的越少,从中检出隐藏信息的可能性越小,信息安全性越高。信息隐藏的目标是在获得较大隐写容量的同时对载体进行较少的修改。纠错码的引入在信息隐藏性能提升方面取得了较好的效果[2]。
1998年R Crandall提出了“Matrix Encoding”算法[3],该算法通过修改n个载体像素中的r个最低位来嵌入数据,提高了嵌入效率,但总体容量较小。2007年Zhang等人基于“Matrix Encoding”算法,提出了“Hamming+1”算法[4],该算法用“Matrix Encoding”算法嵌入前k比特数据,然后用前n个像素的次低位与第(n+1)个像素的最低位嵌入第(k+1)比特数据,实现了嵌入容量的小幅提升。文献[5]通过将载体图像分割成矩阵块,重复利用载体矩阵块像素,结合湿纸码和汉明码提出了一种新的隐写算法,其隐藏效率仅在某一范围内高于PPC和F5算法。文献[6]通过量化方式实现水印嵌入,提出了一种基于小波域的均值量化音频水印算法。文献[7]提出一种具有自适应嵌入和盲提取特性的离散余弦变换和汉明码相结合的数字图像水印算法。
对于目前关于汉明码的隐写算法,大部分是从嵌入效率和嵌入容量方面进行分析比较的[8],对于经汉明码隐写后图像的直方图是否能够保持以及保持的程度如何,并没有具体的算法提出。
本文基于汉明码算法和图像直方图保持特性,提出了一种保持直方图特性的汉明码隐写方法。该方法将汉明码嵌入与直方图保持算法相结合,使通过数字隐写后的直方图特性基本保持不变,使攻击者难以判断该图像是否经过隐写,因此这种隐写算法的安全性较原始方法有了很大提高。大量实验表明这种算法在进行图像隐写分析时表现出了良好的性能。
2 汉明码
汉明码是一种由Bell实验室的Hamming发明的错误校验码码集,是效率最高的具有纠正一位错码能力的分组码[9-10]。与其他的错误校验码类似,汉明码通过容量的增加,并采用了奇偶校验位,实现了数据的有效性验证。汉明码还可以发现错误位置并对其进行改正,它满足:
2r-n>1 (1)
其中,n表述码元总位数,r表示O督码元位数,构造一个k(信息位)=4的汉明码。根据(1)式,可得r>3。当r=3,则n=7。 (2)步骤2
如果嵌入的比特是相对特殊的位置,如是特殊的0和255两个数,那么处理的方法是单独拿出来,做补偿假设。
该方法通过对每个嵌入比特的秘密信息进行遍历并补偿,使通过数字隐写后的直方图特性基本保持不变,攻击者难以判断该图像是否经过隐写,直方图失真参数也比没有保持前小了很多。同时计算复杂度也很低,抵抗了常用的隐写分析,达到了较好的隐写效果。
3.3 秘密信息的提取
假设标志位flag,根据公式(3)还原出m,依次检测并给标志位加1,即flag=flag+1,最终提取出秘密信息m。
3.4 载体图像的实验结果分析
(1)直方图失真分析
载体图像与隐写图像的直方图分别记作hc[n]与
hs[n] (n∈{0, 1, …, 255}),那么直方图失真(Histogram
Distortion)定义为:
(8)
直方图失真Dh表示载体图像嵌入秘密信息后直方图改变的情况,Dh越小,表示了隐写系统的抗统计检测性越好。
利用本文提出算法,分别对1号、2号、3号、4号图进行秘密信息的隐藏,其中,图2为原载体图像,图3为隐藏了秘密信息后的图像。
从以上2组图中可以发现,上下相对应的两幅图像在主观视觉上是分辨不出差异的,这说明该隐写算法具有良好的视觉隐蔽性。
用本文提出的算法在主观视觉上很难分别差异,通过对直方图失真的分析,对以上4幅图进行直方图相应的算法比对。其中,算法LHA是传统LSB隐写的改进算法,即采用直方图补偿算法对LSB隐写后的直方图完成修复[13]。而在秘密信息发送端,对隐藏的信息进行DES加密,然后通过LSB隐写术把加密后信息嵌入载体图像的算法为D-LHA算法[14]。LHA算法不仅降低了对载体图像的内存需求,还平衡了秘密信息的二进制流分布,增强了信息隐秘性。而D-LHA算法通过改变秘密信息的y计特性改善它与载体图像最低位的匹配性能,从而提高了图像隐写术的抗检测性能[13-14]。下面将以上两种算法与Hanmming算法和本文提出的算法进行比较,由结果可知,对于相同的图像,本文提出的算法,直方图失真参数Dh最小,即效果相对较好。几种相关算法的直方图失真参数比较如表3所示。
(2)大量图像数据研究
基于Visual Studio 2013平台对本文所提出的算法进行比较。本文所使用的实验图片(像)均来自标准的测试图像库,图像大小为标准的512×512的灰度图像。对标准测试图库中的84幅常用隐写图像进行算法仿真,最终得到了大量有效数据。从中选取了较有代表性的10幅图像,进行了数据对比分析。数据分析记录见表4,实验结果如图4所示。
表4 汉明码嵌入+直方图保持算法前后直方图失真参数比较
图片序号 直方图失真Dh
(7, 4)汉明码嵌入 直方图失真Dh
(7, 4)汉明码嵌入
+直方图保持算法
1 3 290 914
2 3 032 1 052
3 4 374 1 318
4 3 388 1 104
5 4 412 1 936
6 5 852 788
7 3 934 1 622
8 5 110 1 784
9 3 504 1 308
10 4 148 1 446
图4 (7, 4)汉明码嵌入结合直方图保持算法直方图失真对比
由图4可以看出,单独采用(7, 4)汉明码嵌入的方法进行信息隐藏,隐藏后图像的直方图失真Dh参数为3 000、4 000、5 000左右,而汉明码嵌入与直方图保持方法相结合后,直方图失真Dh参数都能达到1 000左右,根据公式(6)说明Dh越小,隐写系统的抗统计检测性越好,系统越稳定,安全性越高。仿真结果说明了汉明码结合直方图保持隐写算法的有效性。
4 结论
本文提出了汉明码嵌入结合直方图保持的隐写算法,对几种有关直方图保持的算法和(7, 4)汉明码嵌入结合直方图保持算法进行了大量实验数据的仿真和对比,实践证明,图像在信息隐藏后的直方图特性基本保持不变,使攻击者难以判断该图像是否经过隐写。因此,该种隐写算法在安全性、复杂度和性能方面有很大优势。
参考文献:
[1] R J Anderson, F A P Petiteolas. On the limits of steganography[J]. IEEE Journal Selected Areas in Communication, 1998,16(4): 474-481.
[2] Fridrich J, Soukal D. Matrix embedding for large payloads[J]. IEEE Transactions on Information Forensics and Security, 2006(3): 390-394.
[3] Crandall R. Some notes on steganography, Posted on steganography mailing list[EB/OL]. [2018-01-28]. http://os.inf.tu-dresden.de/westfeld/Crandall.pdf.
[4] Zhang W, Wang S, Zhang X. Improving embedding efficiency of covering codes for applications in stegmography[J]. IEEE Communications Letters, 2007,11(8): 680-682. [5] 朱雪秀,⒕欧遥张卫明. 一种基于汉明码和湿纸码的隐写算法[J]. 电子与信息学报, 2010,32(1): 162-165.
[6] 佘芳,张国平,葛镜,等. 汉明码在数字音频水印嵌入中的应用[J]. 信息技术, 2016(2): 64-67.
[7] 任克强,张丹丹,吴帆. 融合DCT和汉明码的自适应鲁棒图像水印[J]. 光电工程, 2016,43(11): 54-61.
[8] Fridrich J. 数字媒体中的隐写术-原理、算法和应用[M]. 北京: 国防工业出版社, 2009.
[9] F J M Williams, N J Sloane. The Theory of Error-Correcting Codes North-Houard[Z]. Amsterdam, 1977.
[10] Wang Xing Yuan, Zhang Ji Ming. A novel image authentication and recovery algorithm based on chaos and Hamming code[J]. Acta Phys, 2014(2).
[11] Wanqi Li, Che Nian, Ren Jinlin, et al. Histogram-preserving stegnography using maximum flow algorithms[C]//2011 Second International Conference on Digital Manufacturing &Automation, 2011: 590-593.
[12] G Nasif, R M Barron, R Balachandar, et al. DES evaluation of near-wake characteristics in a shallow flow[J]. Journal of Fluids and Structures, 2014,45(2): 153-163.
[13] Ren Keqiang, Zhang Dandan,Wu Fan. Adaptive Robust Image Watermarking Based on DCT and Hamming Code[J]. Opto-Electronic Engineering, 2016,43(11).
[14] J Fridrich, J Kodovsky. Rich models for steganalysis of digital images[J]. IEEE Transactions on Information Forensics and Security, 2012,7(3): 868-882.