基于多载体的二值图像信息隐藏算法

2014-02-09 07:46袁亚琴马巧梅陈够喜杨秋翔
计算机工程与设计 2014年4期
关键词:编码载体长度

袁亚琴,马巧梅,陈够喜,杨秋翔

(中北大学电子与计算机科学技术学院,山西太原030051)

0 引 言

随着全球信息数字化进程的日益加快,很多的重要资料,如手写签名、个人档案、学历证书、设计图样、机要文件等被扫描成数字化文档,以二值图像的方式存储,因此在其中隐藏保护性信息尤为重要。目前适用于二值图像的信息隐藏方法有图像分块嵌入法[1-7]、结构微调法[8]、游程修改嵌入法[9]等。文献[4]将二值图像分块,根据每块中黑白像素的个数不同,自适应地确定可嵌入秘密信息的比特数。文献[6]提出了一个翻转点选择标准,利用STC(syndrome trellis codes)编码算法实现信息的嵌入。文献[9]把游程长度变化看作直方图调整,从而组合了游程编码和直方图调整两种技术实现信息隐藏。上述文献都是将秘密信息隐藏到单幅二值图像中,安全性较低。本文提出一种将秘密信息嵌入到两幅二值图像中的新方法,提取过程中不需要原始载体图像,在实现了盲提取的同时,提高了秘密信息的安全性。

1 改进的多载体隐藏模型

文献[10,11]提出了基于多载体的信息隐藏模型,在此基础上,本文提出了针对二值图像特点的多载体信息隐藏模型。改进的多载体隐藏模型如图1所示。

图1 改进的多载体隐藏模型

定义1 改进的多载体隐写系统。设置乱过程为Sk,游程编码过程为R,嵌入过程为En,提取过程为Dm,则该系统表示为六元组Γs=(C,S,Sk,R,En,Dm)。

定义2 假设sc是置乱算法,K是密钥,S是秘密信息,S′是经过置乱后的秘密信息。若置乱过程表示为Sk:S×K->S′|sc,则Sk可表示为四元组Sk=(sc,K,S,S′)。

定义3 假设RLC是游程编码,C是载体图像集(包括C1、C2),L是C经过游程编码后产生的游程序列集(包括L1、L2),则游程编码过程表示为R:C->L|RLC。

定义4 假设en是嵌入算法,C′是载体图像经过嵌入后的载密图像集(包括C1′、C2′),则嵌入过程是一个三元组En=(en,S′,L,C′),嵌入过程表示为En:en(S′,L)=C′。

定义5 假设dm是提取算法,L′是载密图像经过游程编码后产生的游程序列集(包括L1′、L2′),K是密钥,则提取过程可表示为

多载体信息隐藏系统的工作原理如下:

(1)多载体预处理。包括多载体选择、对载体进行游程编码和载体间相关性研究等。

(2)秘密信息预处理。包括对秘密信息置乱、密钥设计和秘密信息之间相关性分析。

(3)秘密信息的嵌入和提取。主要包括嵌入算法设计、嵌入算法间相关性研究和提取秘密信息等工作。

2 改进的多载体隐藏方案

2.1 秘密信息置乱预处理

为了提高系统的安全性,本方案对待隐藏的秘密信息进行置乱预处理。本方案置乱算法采用的是Logistic映射混沌系统,其定义见下式

其中,xn∈(0,1),b∈(0,4]。b值确定后,由初值x0在Logistic映射的作用下产生序列xn。Logistic映射对b值和初值x0具有敏感的依赖性。所以b和x0可以作为密钥保存,加强了系统的安全性。

Logistic映射产生的混沌序列均为大于0小于1的实数值,为使其能够和秘密信息进行逻辑计算,在这里定义一种公式,见下式

由此,便可将混沌实数序列顺利转变为混沌01序列。

2.2 多载体预处理

载体图像采用的是二值图像。对载体图像采用游程编码方式进行预处理。二值图像只有0和1两种像素值,“0”代表黑,“1”代表白。对二值图像采用行扫描方式进行扫描,连续出现“0”的一段称为“0”游程,即黑游程,且出现“0”的个数称为“0”游程长度。连续出现“1”的一段称为“1”,即白游程,且出现“1”的个数称为“1”游程长度。“0”游程和“1”游程总是交替出现。例如,一段二值数据“1111001000110”用游程编码可以表示为421321。本方案中,对两幅二值图像进行游程编码预处理,得到两个游程序列。

2.3 信息嵌入

把置乱后的秘密信息嵌入到两个载体图像的游程序列中。具体算法如下:

(1)选取合适的密钥b、x0和序列长度,利用2.1节的Logistic映射将秘密信息进行置乱。

(2)根据2.2节的游程编码算法分别统计载体图像C1、C2游程长度,得到两个黑白游程交替序列L1、L2(假设L1>L2)。

(3)检测游程序列L1、L2中对应的黑游程长度。若待嵌入数据为0,修改较大的黑游程长度(将其减1)使得两黑游程长度奇偶性相同;若待嵌入数据为1,修改较大的黑游程长度(将其减1)使得两黑游程长度奇偶性相异。

(4)若待嵌入数据长度length>L2,继续检测游程序列L1的剩余黑游程长度。若待嵌入数据为0,修改黑游程长度为偶数;若待嵌入数据为1,修改黑游程长度为奇数。

下面给出一个嵌入实例。

表1给出了一个2行8列的两原始载体图像实例,0和1分别表示黑像素和白像素。

表1 载体图像

从表1可以看出,两载体图像经过游程编码后得到的游程序列L1、L2为[2,1,3,1,3,2,2,2]和[2,2,2,1,5,2,2]。假设待嵌入数据为001,顺序扫描L1、L2中的黑游程,首先扫描到的黑游程长度分别为2、2,检查第一个待嵌入数据为0,而两黑游程长度同为偶数,所以不作修改;接着分别扫描到L1、L2中第二个黑游程长度3、2,此时待嵌入数据为0,将L1的黑游程长度减1(修改长度较大的黑游程),其后的白游程长度加1,即载体一第1行第6列的像素0修改为1;继续分别扫描到L1、L2中第三个黑游程长度3、5,此时待嵌入数据为1,将L2的黑游程长度减1,其后的白游程长度加1,即载体二第2行第4列的像素0修改为1。嵌入结果见表2,下划线部分为修改后的像素。

表2 载密图像

在一般图像中,若L1、L2中相应的黑游程长度同时为1,修改任一黑游程长度都会使得与其相连的两个白游程合二为一,这样无法正确提取隐藏数据。本方案设置一个阈值T,T表示两黑游程长度之和,T>2时可排除两黑游程长度同时为1的情况。

2.4 信息提取

信息提取需要载密图像和置乱参数,具体算法如下:

(1)利用游程编码分别统计载密图像C1′、C2′游程长度,得到两个黑白游程交替序列L1′、L2′。

(2)检测游程序列L1′、L2′中对应的黑游程长度。若两黑游程长度奇偶性相同,提取数据0;若两黑游程长度奇偶性相异,提取数据1。

(3)若待嵌入数据长度length>L2′,检测游程序列L1′的剩余黑游程长度。若黑游程长度为偶数,提取数据0;若黑游程长度为奇数,提取数据1。

(4)输入密钥b、x0,利用式(1)的Logistic映射对提取的数据进行逆置乱,得到秘密信息。

从表2可知,载密图像C1′、C2′经过游程编码后得到的游程序列L1′、L2′为[2,1,2,2,3,2,2,2]和[2,2,2,1,4,3,2]。顺序扫描L1′、L2′中的黑游程,首先扫描到的黑游程长度分别为2、2,两长度奇偶性相同,则提取数据0;接着扫描到的黑游程长度分别为2,2,两长度奇偶性相同,则提取数据0;最后扫描到的黑游程长度分别为3、4,两长度奇偶性相异,则提取数据1。因此,得到数据001,将该数据进行逆置乱,最终得到秘密信息。

3 实验仿真及结果分析

3.1 仿真结果

分别采用二值文本图像和普通二值图像,进行上述算法的验证,置乱时参数选用X0=0.2323、b=4。图2(a)和图2(b)是两幅大小为302×184的二值文本图像,图2(c)和图2(d)是嵌入192bit后的文本图像。

图3(a)和图3(b)是两幅大小为512×512的普通二值图像,图3(c)和图3(d)是嵌入192bit后的图像。

为了更好地说明本文提出方案的优越性,分别嵌入不同数量的秘密信息进行了实验验证。实验结果表明,嵌入不同数量的秘密信息,均能准确提取所嵌入的信息,同时二值图像均无可明显察觉到的失真。

图3 普通二值图像的隐藏

3.2 性能分析

为了体现本文提出算法的性能优越性,下面采用峰值信噪比(peak signal to noise ratio,PSNR)、基于距离倒数的失真测度(distance reciprocal distortion measure,DRDM)、嵌入时修改比特量和安全性几个方面进行比较分析。

(1)PSNR分析

PSNR是目前用于图像质量评价的最常用的指标。在图像隐藏中,PSNR值越大,图像失真越小。表3给出了利用图3的普通二值图像为载体进行3种不同方法嵌入信息时的PSNR值。

表3 普通二值图像的PSNR比较

从表3可以看出,在同等嵌入bit量的条件下,采用本文方法的载密图像PSNR比其它两种方法的小,整体失真较小。

(2)DRDM分析

DRDM主要用于评价人类视觉系统的二值文本图像。DRDM值越小,图像失真越小。图4反映了采用图2的二值文本图像为载体进行3种不同方法嵌入信息时DRDM的差异。

图4 二值文本图像的DRDM比较

从图4可以看出,在同等嵌入bit量的情况下,采用本文方法的载密图像DRDM比其它两种方法的小,整体失真较小。

(3)嵌入时修改比特量分析

表4的实验数据反映了3种不同方法的实际修改bit量的差异。

表4 不同方法的实际修改bit量比较

从表4可以看出,在同等嵌入bit量的情况下,采用本文方法的实际修改bit量比其它两种方法少。

由于采用本文方法嵌入时,需要修改的比特量较小,所以可以提供更高的嵌入容量。对于图3的普通二值图像,采用本文方法的最大嵌入容量为2627,提供了高于其它两种方法的嵌入容量。

(4)安全性分析

本文提出的基于多载体二值图像信息隐藏方案,和其它二值图像隐藏方案相比,在安全性上有了一定提高:一方面,利用Logistic映射对秘密信息预先进行置乱加密处理,Logistic映射对初始条件具有敏感的依赖性,对于仅有微小差别的初值,在迭代了一定次数后便会产生截然不同的混沌序列,即使攻击者截取到载密图像,没有解密密钥,也无法提取秘密信息,安全性高;另一方面,文献[10]研究并详细证明了多载体信息隐藏的安全性比单载体高,本文将秘密信息隐藏到两幅载体图像,与已有方法相比,提高了安全性。

假设C′是载密图像集,K是解密密钥,RLC是游程编码,dm是提取算法,则秘密信息S恢复函数f表示为

在提取过程中,载密图像集C′全部参与,并且获取正确的解密密钥K才能恢复出秘密信息。

4 结束语

本文提出了一种基于多载体的信息隐藏算法。该算法将秘密信息嵌入到公开的两幅二值图像中,符合人眼的视觉特性,提高了传输过程中的安全性。在提取秘密信息的过程中,不需要原始载体图像及其它辅助信息,是一种完全的盲提取。本文不足之处在于,嵌入信息过程中使用了游程编码,如果遇到两幅载体图像短游程较多,且嵌入信息较大的情况,视觉效果会降低。如何更好地协调嵌入容量、不可见性及安全性,尚待进一步研究。

[1]Yang H J,Kot A C.Pattern-based data hiding for binary image authentication by connectivity-preserving[J].IEEE Transactions on Multimedia,2007,9(3):475-486.

[2]LIAO Qinan.Binary images steganography with scalable embedding capacity and low modification rate[J].Journal of Chinese Computer Systems,2012,33(11):2522-2525(in Chinese).[廖琪男.嵌入率可调和低修改率的二值图像密写算法[J].小型微型计算机系统,2012,33(11):2522-2525.]

[3]Gou H M,Wu M.Improving embedding payload in binary images with super-pixels[C]//Proceeding of IEEE International Conference on Images Processing,2007:277-280.

[4]XIE Jianquan,YANG Chunhua,XIE Qing,et al.A large capacity information hiding algorithm in binary host image[J].Journal of Southeast University(Natural Science Edition),2007,37(zI):10-14(in Chinese).[谢建全,阳春华,谢勍,等.一种大容量的二值图像信息隐藏算法[J].东南大学学报(自然科学版),2007,37(zI):10-14.]

[5]CHENG Yongli,ZHANG Jing.Data hiding algorithm for binary images based on image partition[J].Journal of Southeast University(Natural Science Edition),2007,37(zI):158-163(in Chinese).[程永丽,张静.一种基于分块的二值图像信息隐藏算法[J].东南大学学报(自然科学版),2007,37(zI):158-163.]

[6]LIU Jiufen,FU Lei,ZHANG Weiming.Information hiding algorithm based on binary image[J].Computer Engineering,2011,37(18):121-123(in Chinese).[刘九芬,付磊,张卫明.基于二值图像的信息隐藏算法[J].计算机工程,2011,37(18):121-123.]

[7]FU Lei,LIU Jiufen,ZHANG Weiming,et al.Lossless data hiding algorithm for binary images[J].Journal of Information Engineering University,2012,13(4):421-425(in Chinese).[付磊,刘九芬,张卫明,等.一种无损的二值图像信息隐藏算法[J].信息工程大学学报,2012,13(4):421-425.]

[8]LI Xiao,GAO Baojian,WANG Cuifang.Binary document authentication technology based on Chinese character structure hiding[J].Computer Engineering and Applications,2010,46(3):102-104(in Chinese).[李晓,高宝建,王翠芳.基于汉字结构隐藏算法的二值文本认证技术[J].计算机工程与应用,2010,46(3):102-104.]

[9]XU Dezhi,TONG Xuefeng,XUAN Guorong,et al.Reversible binary image data hiding by histogram modification[J].Journal of Computer Applications,2009,29(6):1651-1653(in Chinese).[徐德智,童学锋,宣国荣,等.基于直方图调整的二值图像无损数据隐藏[J].计算机应用,2009,29(6):1651-1653.]

[10]CHEN Gouxi,CHEN Junjie.Research security for batch steganography[J].Journal of Chinese Computer Systems,2011,32(4):644-646(in Chinese).[陈够喜,陈俊杰.多载体信息隐藏安全性研究[J].小型微型计算机系统,2011,32(4):644-646.]

[11]ZHANG Pengcheng,CHEN Gouxi,ZHANG Meng,et al.Zero-steganographic model for digital carrier images sharing[J].Computer Engineering and Design,2012,33(10):3792-3796(in Chinese).[张鹏程,陈够喜,张萌,等.基于数字载体图像分存的零隐写模型[J].计算机工程与设计,2012,33(10):3792-3796.]

猜你喜欢
编码载体长度
创新举措强载体 为侨服务加速跑
生活中的编码
长链非编码RNA APTR、HEIH、FAS-ASA1、FAM83H-AS1、DICER1-AS1、PR-lncRNA在肺癌中的表达
坚持以活动为载体有效拓展港澳台海外统战工作
绳子的长度怎么算
Genome and healthcare
创新代表履职载体 充分发挥代表作用
爱的长度
以葵园为载体构建英语开放的现代课堂
长度单位