APP下载

一种新型汉明码混合变换及在图像信息隐藏中的应用

2018-06-17李亚峰郑紫微杨任尔叶超勇陈贞佐

移动通信 2018年4期
关键词:图像

李亚峰 郑紫微 杨任尔 叶超勇 陈贞佐

【摘 要】为保证在数字媒体隐藏信息前后图像的直方图保持不变,提出了一种新的汉明码混合变换算法,即汉明码结合直方图保持的信息隐藏算法。该算法先利用二元汉明码嵌入方案,确定原图像的改写位并进行改写翻转,成功嵌入秘密信息。然后根据盈亏补偿平衡点的思想,对每个嵌入的比特秘密信息,都进行相邻位直方图数据的检测并补偿,使信息隐藏前后图像的直方图改变保持最小值。通过对密写分析的结果进行对比,表明该种算法具有良好的图像信息隐藏性能。

【关键词】信息隐藏;汉明码;图像;混合变换

A Novel Hamming Code Mixed Transform and its Application in

Image Information Hiding

LI Yafeng1,2, ZHENG Ziwei2, YANG Rener2, 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表示監督码元位数,构造一个k(信息位)=4的汉明码。根据(1)式,可得r>3。当r=3,则n=7。

用a6、a5、a4、a3表示信息位,则可得到a2、a1、a0三位监督位:

(2)

由7个码元按照下列方法运算得到校正子:

(3)

不难看出:

当a6、a5、a4或a2出现错误时,S1=1;

当a6、a5、a3或a1出现错误时,S2=1;

当a6、a4、a1或a0出现错误时,S3=1;

其他情况下校正子为0。

校正子与错码位置存在如表1所示的对应关系。对其进行计算获得(7, 4)码的全部码字,如表2所示。

表1 校正子与错误位置的对应关系

S1S2S3 错误位置

000 无错

001 a0

010 a1

011 a2

100 a3

101 a4

110 a5

111 a6

(7, 4)码具有纠正1个错误的能力,当7位信息位时,监督码需要4位(24>7+4+1),当64位信息位时,监督码需要7位(27>64+7+1)。

3 保持直方图不变的信息隐藏算法研究

基于以上思想,本文构造出了汉明码嵌入和直方图保持相结合的算法。如图1所示,秘密信息经过预处理,与经过预处理的载体图像和生成矩阵进行运算,如果等式成立,则直接把秘密信息嵌入;如果结果不成立,则需要在载体图像中找到位置和对应值,并进行修改,最后结合直方图保持算法,嵌入信息。最终秘密信息的提取,可以通过对矩阵进行逆运算得到。

图1 保持直方图不变的信息隐藏算法流程图

下面详细分析该算法的实施步骤。

3.1 秘密信息的嵌入

(1)图像及秘密信息的分块处理

1)步骤1:定义数据

以大小I=512×512的图像为例,n为图像中的像素,取值范围为(0~255)。令cimage为原来的图像,simage为隐藏后的图像,bimage为分块后的图像,m為秘密信息,bm为分块后的秘密信息。

2)步骤2:图像的分块

以(7, 4)汉明码来分析,基于汉明码的编码规则,令原始图像cimage为每7个元素为一组进行分块,则隐藏后的图像simage也同样按照该规律分组,即:

simage[0]-simage[6] simage[7]-simage[13] simage[14]-simage[20] ……

令:bimage为分块后的图像,则:

(4)

3)步骤3:隐藏信息的分块

m为每三个元素为一组进行分块,即:

m[0]-m[2] m[3]-m[5] ……

分块后的秘密信息为bm:

(5)

4)步骤4:把秘密信息bm插入到分块后的图像bimage中。

(2)秘密信息的嵌入

1)步骤1

主要讨论采用基于(7, 4)汉明码的方式插入信息。假设发送方要传递相对长度为ap=p/(2p-1),p≥0的秘密信息,即有p比特秘密数据m[0], …, m[p]须被嵌入到(2p-1)个像素中。此时,发送者和接收者共享一个p(2p-1)的二进制随机矩阵H,矩阵H的列由长度为p的非零二进制数构成。在(7, 4)汉明码中,p=3,此时矩阵H为:

(6)

根据以上分析,首先将分块后的秘密信息bm,隐藏在图像I中,得到隐藏秘密信息后的分块图像bimage。然后将分块后的图像bimage进行二值化得到bj,再进行矩阵乘法,得到:

使bm=Hbj,即=

(7)

其中,得到的列向量Hbj即为bj的伴随式。

2)步骤2

根据公式(5)可以得出m',如果秘密信息m=m',则无需修改(bj0, bj1, bj2, bj3, bj4, bj5, bj6, bj7)。如果m不等于m',需要通过计算L=m'⊕m,遍历标准矩阵的7列,在矩阵H中找到和向量L相同的位于第几列的列向量,记下列序号t。此时,t即为要改变的位置。然后将这一列对应的二进制比特流中相应的那个像素的LSB翻转。经过修改,将产生一组新的二进制比特流(bj0, bj1, bj2, bj3, bj4, bj5, bj6, bj7)',其中修改位t与原数列相比,经过了翻转。

下面用具体实例说明信息是如何嵌入的。给定一组载体像素值g=(21, 20, 25, 27, 23, 31, 29)'以及秘密消息m=(0, 0, 1)'。首先将像素值变为比特流,即取其二进制,x=g mod 2(1, 0, 1, 1, 1, 1, 1)',之后计算伴随式Hx=(0, 1, 0)',此时H如式(6)所示。然后在矩阵H中找到和向量Hx-m=(0, 1, 1)'相同的位于第三列的列向量。因此,如果要将消息m嵌入到本组载体数据中,需要将第三像素对应的LSB反转。在本例中,可以将g[3]由25改为24,也可以改为26,从而达到同样的目的。

3.2 保持直方图不变的信息隐藏算法

对于本文提出的直方图保持的隐写算法,是基于以上在确定了改写位t的情况下,考虑采用什么样的方法,尽可能地保持直方图不变。主要是根据盈亏补偿的思想,每嵌入一个比特的秘密信息,就进行相邻位的检测补偿,即采用平衡自适应思想,把嵌入的每一步都进行盈亏平衡操作。最终使隐写后的直方图与原图像的直方图改变保持最小值。也就是在上述实例中,本文提出了盈亏平衡的操作。

(1)步骤1

盈亏补偿的具体算法过程为:假设嵌入秘密信息的位置为t,此时的值为bimage[t]。令a=bimage[t],那么比较嵌入信息处左右两个像素的频率大小,即h(a-1)和h(a+1)的大小。如果h(a-1)>h(a+1),则要补偿到h(a+1);反之,如果h(a-1)

(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算法通过改变秘密信息的統计特性改善它与载体图像最低位的匹配性能,从而提高了图像隐写术的抗检测性能[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.

猜你喜欢

图像
改进的LapSRN遥感图像超分辨重建
基于生成对抗网络的CT图像生成
基于FPGA的实时图像去雾系统
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
有趣的图像诗
高分三号星载合成孔径雷达图像
基于FCNN和ICAE的SAR图像目标识别方法
遥感图像几何纠正中GCP选取
趣味数独等4则