基于无损压缩的加密图像可逆信息隐藏

2016-04-05 10:02郑淑丽胡东辉李丹丹合肥工业大学计算机与信息学院安徽合肥230009

郑淑丽,曹 敏,胡东辉,李丹丹(合肥工业大学计算机与信息学院,安徽合肥 230009)



基于无损压缩的加密图像可逆信息隐藏

郑淑丽,曹敏,胡东辉,李丹丹
(合肥工业大学计算机与信息学院,安徽合肥230009)

摘要:针对现有方法存在的隐藏容量低、操作不灵活的缺陷,文章提出了一种基于无损压缩的加密图像可逆信息隐藏算法。图像拥有者对原始图像进行替换加密;秘密信息隐藏者将加密图像随机划分为若干个大小相等且互不重叠的块,并且在每个加密块中采用无损压缩技术获得空余空间来隐藏秘密信息;接收者采用提取密钥进行秘密信息提取后,再结合解密密钥能够正确恢复出原始图像。实验仿真结果表明,与现有方法相比,所提出的算法在峰值信噪比和信息隐藏率上都具有很好的效能。

关键词:加密图像;可逆信息隐藏;替换加密;无损压缩;峰值信噪比;隐藏率

近年来,随着多媒体技术的快速发展以及在公共网络中安全传输的需求不断增加,加密技术[1]和可逆信息隐藏技术[2-4]成为保证信息安全的2个重要技术,学者们大都采用其中一种技术来保证信息传输的安全,然而在军事、商业、医疗[5]和司法证据等领域却需要将这2种技术相结合才能解决实际问题。例如为了保护患者的隐私,首先影像师将其拍摄的患者身体器官图像加密后发送给数据库管理员,然后数据库管理员将患者的个人信息嵌入到相应的加密图像中,并将所形成的含有秘密信息的加密图像存储到数据库中,只有当医生同时拥有解密密钥和提取密钥时才可以获得患者的个人信息以及病情。由此可见,加密技术和可逆信息隐藏技术相结合不仅有十分重要的理论意义,还具有重要的现实意义。

目前,一些学者提出了加密技术和可逆信息隐藏技术相结合的方案。文献[6]采用AES算法加密原始图像,用简单的替换方法使得加密图像的每一块携带1 bit的额外信息,在接收端通过对含额外信息的加密图像局部标准差的分析来提取额外信息。为了减少计算复杂度,文献[7]将加密图像划分为若干块,通过翻转一组特定像素的3个最低有效位(LSBs)使得每个加密块中携带1 bit秘密信息,在接收端利用自然图像的空间相关性来提取秘密信息以及恢复原始图像。文献[7]未充分考虑图像块的边缘像素,这使得提取的秘密信息错误率变高且恢复出的图像质量变差,为此,文献[8]采用新的波动度量函数和边缘匹配技术来改进这一不足之处。在文献[7-8]中,秘密信息只能在接收到的图像解密后才能被提取出来。为了实现接收端图像解密和秘密信息提取操作的可分离性,文献[9]利用低密度奇偶校验矩阵的综合特征来无损压缩加密图像的LSB平面,用压缩后获得的空余空间进行信息隐藏。为了降低无损压缩加密图像的复杂度,文献[10-11]提出了一种新的加密图像可逆信息隐藏框架,即在加密之前获得隐藏秘密信息的空余空间,将信息隐藏容量提高了10倍左右,但是此方法的图像加密和秘密信息隐藏不具有可分离性,不完全符合隐私保护的应用需求。本文对文献[7-9]的方法在隐藏容量和恢复图像质量这2个方面的不足进行了改进,提出了一种基于无损压缩技术的加密图像可逆信息隐藏算法。该算法提出采用无损压缩技术来无损压缩加密块中每个像素的多个最低有效位(mLSBs),有效地提高了秘密信息的隐藏容量,并且增强了直接解密图像(含秘密信息的解密图像)的图像质量。此外,本文算法具有加密与信息隐藏的可分离性,符合隐私保护的应用需求,并且接收端的秘密信息提取和图像解密具有灵活性。

1 图像无损压缩

在秘密信息隐藏中主要通过无损压缩技术来获取隐藏秘密信息的空余空间。灰度图像像素可以用8个位平面表示,其中位平面越高的信息位,其对图像质量的影响越大。鉴于LSB平面的不重要性和人眼视觉系统的不敏感性,因此可以在图像像素的LSB平面进行秘密信息隐藏。文献[7-8]中所采用的无损压缩技术都是对图像像素的LSB平面进行相应的处理操作,但存在秘密信息隐藏容量低、计算复杂度高和直接解密图像的图像质量较差等不足。为了提高秘密信息隐藏容量,降低计算复杂度以及增强直接解密图像的图像质量,本文算法中采用的无损压缩技术主要是通过辅助集合技术来实现的,以达到获得更大的秘密信息隐藏空间的目的。辅助集合技术就是通过辅助集合将mLSBs所形成的比特流序列用相对较短的比特流序列来表示的一种技术。

本文算法采用(1)式所示的辅助集合,记为(Coset1~Coset4),其中每个Coset中的2个长度为3的比特流序列,且满足汉明距离为3的条件,都可以压缩为一个长度为2的比特流序列。在接收端,为了完整地恢复出原始图像,接收者首先要提取秘密信息,然后通过辅助集合恢复加密图像,最后解密此加密图像获得原始图像。

2 算法实施

加密图像中的可逆信息隐藏过程分3个阶段进行,如图1所示。首先图像拥有者用加密密钥r0对原始图像A进行替换加密生成加密图像B,此过程称为图像加密阶段。然后秘密信息隐藏者依据嵌入密钥k1将秘密信息隐藏在加密阶段获得的B中,生成含秘密信息的加密图像C,此过程称为秘密信息隐藏阶段。最后接收者将接收到的C依据提取密钥k2和解密密钥r1依次提取出秘密信息和恢复出原始图像,此过程称为秘密信息提取与图像恢复阶段。

图1 加密图像中可逆信息隐藏过程

2.1图像加密阶段

图像的替换加密技术是通过改变图像中像素点的灰度值实现加密的,而研究表明,混沌由于具有均匀性和对初值的敏感性,以及混沌序列具有均匀的不变分布和非周期不收敛性,且其遍历统计特性等同于白噪声,因此,可以用混沌序列来进行图像内容加密,在加密时取r0(秘钥)作为logistic映射的初始值,得到一个混沌序列,并对混沌序列进行预处理,得到有效数据序列r,利用这个有效数据序列对原始图像A(N1×N2)进行异或,得到秘密图像比特流B,公式如下:

其中,ri,j(k)为序列r的第k位比特值;bi,j'(k)为B中位置为(i,j)的像素值在第k位平面的比特值。

2.2秘密信息隐藏阶段

在秘密信息隐藏阶段,秘密信息隐藏者主要依据辅助集合技术实现对B的无损压缩。具体实现过程如下:

(1)将B均匀划分为若干个互不重叠的图像块,然后采用嵌入密钥k1作为种子生成随机序列,并且依据随机间隔法/随机置换法选择n个图像块,每个图像块含有l个像素。

(2)提取块内l个像素的m个LSBs,形成一个比特流序列X={ b1',b2',…,bml'},然后将X中每连续3 bit依次划分为若干个序列x,同时产生一个相应的长度为3的序列y,且满足x和y的汉明距离至多为1。

(3)依据(Coset1~Coset4)将x替换为长度为2的比特序列,得到1 bit的空余空间,同时将x对应的y依次存入辅助表L。重复此操作,直到块中所有x都被替换成长度为2的比特序列。

(4)将秘密信息依次隐藏在空余空间所在的位置上,得到含秘密信息的比特流序列X'={ b1″,b2″,…,bml″}。

(5)设秘密信息是一个长度为h的二进制序列,选择下一个图像块,重复步骤(2)~步骤(4),直至h比特的秘密信息都隐藏在图像B中。

综上所述,得到含秘密信息的加密图像C。该秘密信息隐藏方案中每块最大信息隐藏率为:

在此秘密信息隐藏阶段,辅助表L中包含y 和Coset1~Coset4,将L的内容用边带传送方式发送给接收者。此阶段实现了每个加密块中可以隐藏多比特的秘密信息。

2.3秘密信息提取与图像恢复阶段

根据接收者所拥有的密钥不同会出现3种不同的情况,如图2所示。①接受者只接收到C和提取密钥k2,依据k2所含的信息,只能提取出秘密信息;②接收者只接收到C和解密密钥r1,此时只能恢复出直接解密图像D,其内容与原始内容基本一致;③接收者收到C、k2和r1,此时不仅可以提取出秘密信息还可以无损恢复出原始图像。以上3种情况表明,本文算法实现了秘密信息提取和图像解密2种操作的可分离。

图2 接收端的3种情况

秘密信息提取与图像恢复操作步骤如下:

(1)当接收者拥有C和k2时,其只能获得秘密信息。在本文算法中k1=k2。①接收者首先将C均匀划分为若干个互不重叠的图像块,然后用k2生成随机序列,并根据随机间隔法/随机置换法选择n个图像块,最后依次提取1~n个图像块中所有像素的m个LSBs,形成一个比特流序列b″(I,1),b″(I,2),…,b″(I,ml),记为X';②已知在X中依据Coset1~Coset4依次将每连续3 bit无损压缩成2 bit,并将秘密信息隐藏在压缩后得到的1 bit的位置上,则在X'中可以根据秘密信息的长度、隐藏顺序和位置,完整地提取出秘密信息。

在此种情况下,接收者根据k2可以完整地提取出秘密信息。由于用来隐藏秘密信息的加密块都是随机选择的,这就使得任何恶意的攻击者在没有提取密钥的情况下无法获得秘密信息。

(2)当接收者拥有C和r1时,其只能获得直接解密图像D。在本文算法中由于混沌序列对初值的敏感性,因此r0和r1相同。

假设在接收端C每个像素比特位信息为:

接收者可以根据(2)式获得位置为(i,j)的像素值的第k位平面的比特值bi,j‴(k)。

由(5)式可得到位置为(i,j)的像素值p‴(i,j)。将所得的像素依次整合后得到D。

由于秘密信息隐藏者在隐藏秘密信息时并没有对B中像素的(8-m)个最高有效位(MSBs)进行操作,所以解密后的(8-m)个MSBs与原始图像一致,因此直接解密后得到的D与A的内容基本一致。但是,在此种情况下,接收者无法获得隐藏的秘密信息。

(3)当接收者拥有C、k2和r1时,其不仅可以获得秘密信息,还可以恢复出原始图像A。在此种情况下,接收者提取秘密信息的操作同步骤(1),因此接收者可以完整地提取出秘密信息。

秘密信息提取后,接收者需要无损地恢复出原始图像A,具体操作如下:①接收者首先提取每块对应的X'中剩余的比特流,并将其中每2个连续比特位依次划分为1个比特序列x',然后依据Coset1~Coset4找到对应的2个汉明距离为3的序列x(i,1)和x(i,2);②根据辅助表L找到x'对应的长度为3的序列y,分别计算y与x(i,1)和x(i,2)的汉明距离,若x(i,1)与y的汉明距离小于等于1,则x(i,1)是B中的比特序列x;同理,若x(i,2)与y的汉明距离小于等于1,则x(i,2)是B中的比特序列x;③重复上面3个操作,直到恢复出所有的x,至此,实现了B的无损恢复;④由B像素的比特位和r1生成的有效数据序列的比特位依次进行异或操作可以获得A中像素的比特流,再依据像素和其比特位的对应关系计算出A的所有像素值,整合这些像素便可无损恢复出A。

3 实验结果及分析

为了验证本文算法的有效性,实验中随机选取了100幅512×512×8的tiff格式的灰度图像作为测试图像(均来自于信息隐藏领域的一个自然图像库),限于篇幅,仅以其中Baboon、Boat、Barbara、Lake、Man、Lena 6幅为例阐述实验过程和结果。实验重点是对本文算法的可逆性、信息隐藏率R以及直接解密图像的峰值信噪比PSNR与文献[7-9]的算法进行比较,其中直接解密图像的PSNR表示原始图像与直接解密图像的PSNR。实验结果均来自Matlab R2012a工具的仿真实验数据。实验设计方案如下:

(1)算法的可逆性。对含秘密信息的加密图像进行秘密信息提取和图像恢复后所得到的图像与原始图像的一致性进行测试。

(2)测试对于给定的R所选取的最低有效位的个数(m=1,2,3)对直接解密图像的PSNR值的影响情况。

(3)将直接解密图像的PSNR与文献[7-9]的进行比较,即证明直接解密图像的图像质量相比于原始图像是否有明显退化。

(4)将加密图像信息隐藏率与文献[7-9]方法进行比较,即证明信息隐藏容量是否得到提高。

为了证明本文算法的可逆性,实验中首先利用加密密钥加密原始图像生成加密图像,然后依据嵌入密钥在此加密图像中隐藏秘密信息生成含秘密信息的加密图像,最后根据提取密钥和解密密钥获得秘密信息和恢复图像,在此着重比较恢复图像和原始图像的一致性,Lena图像的秘密信息隐藏和恢复结果如图3所示。

图3 Lena图像的秘密信息隐藏和恢复结果

图3a为原始Lena图像;图3b为采用加密密钥加密后获得的图像,选取最低有效位个数m=1,且每个加密块含像素的个数l=1 500;图3c为采用嵌入密钥在图3b中隐藏1.1×104的秘密信息后所得到的图像;图3d为使用解密密钥解密图3c后所获得的直接解密图像,PSNR=55.00 dB;图3e为采用提取密钥和解密密钥对图3c进行秘密信息提取和图像恢复后所获得的图像。

本文算法恢复出来的图3e和原始的图3a之间的均方差MSE为0,即恢复出来的图像与原始图像一致,证明了本文算法的可逆性。本文算法中的替换加密技术主要是依赖于有效数据序列(属于混沌序列范畴)。鉴于混沌的随机性、对初值的敏感性和确定性,用混沌序列进行加密后的图像在传输过程中具有很强的抗解密攻击能力。在秘密信息提取和图像恢复过程中,采用的汉明距离充分考虑了比特流之间的相关性,此时接收者可以完整地提取秘密信息以及无损地恢复出原始图像。

为了证明本文算法具有较高的的图像质量和隐藏容量,实验中对加密图像中秘密信息的隐藏方式和隐藏位置进行修改。具体的修改方法如下:

随机选择一定数量的含1 500个像素的加密块,采用辅助集合技术对每个像素的3个最低有效位进行无损压缩来隐藏秘密信息,并且隐藏秘密信息时保证每个像素的5个最高有效位不变。图4所示为分别采用本文算法和文献[7-9]算法编码隐藏秘密信息时直接解密图像的PSNR值的变化情况。

图4 不同算法的PSNR值实验结果

图4中对于给定的R,若直接解密图像的PSNR越大,则说明直接解密图像具有越好的图像质量。以图4d的Baboon为例来说明,在0~0.020 bpp的信息隐藏率范围内本文算法中直接解密图像的PSNR值比文献[7-9]的增加了15.36 dB左右。从图4中可以看出,以6幅子图像为例说明,在所有相同的信息隐藏率范围内,本文算法的PSNR值比文献[7-9]的提高了约15 dB。原因在于本文算法中秘密信息隐藏在像素的最低有效位中,最低有效位对图像质量影响较小,因此直接解密图像具有良好的图像质量。此外,当PSNR值在可接受的范围内时,本文算法可以获得更宽的R值范围。实际上,在直接解密图像的峰值信噪比相同且可接受的的前提下,本文算法的信息隐藏率是文献[7-9]的近5倍,比如,当直接解密图像的峰值信噪比为45.00 dB时。这主要是因为本文算法在信息隐藏过程中所采用的辅助集合技术充分利用了每个加密块中所有像素的最低有效位。

文献[7-9]中的算法会导致秘密信息提取或图像恢复存在差错,然而本文算法通过对大量含秘密信息的加密图像进行秘密信息提取和图像恢复的结果都显示不存在任何差错。

在实际情况下,信息隐藏容量越大,图像无损恢复越难。本文算法不仅能隐藏大量秘密信息,还能无损恢复出原始图像;而且本文算法满足可分离机制,实现了接收端操作顺序灵活,既可以先解密,又可以先提取秘密信息。

4 结束语

本文在研究了现有相关算法的基础上,提出了一种基于无损压缩的加密图像可逆信息隐藏方案。针对文献[7-9]方法在秘密信息隐藏容量和直接解密图像的图像质量的不足,提出了利用辅助集合技术来无损压缩加密图像中像素的多个最低有效位。实验结果表明,本文算法实现了可逆性,接收端的操作满足可分离性,并显著地提高了直接解密图像的图像质量和信息隐藏容量。本文算法在图像压缩和秘密信息隐藏中所采用的辅助表带来了额外的开销,如何降低开销是下一步的研究工作。

[参考文献]

[1]张小华,刘芳,焦李成.一种基于混沌序列的图象加密技术[J].中国图象图形学报,2003,8(4):374-378.

[2]Thodi D M,Rodriguez J J.Expansion embedding techniques for reversible watermarking[J].IEEE Trans on Image Processing,2007,16(3):721-730.

[3]Kim H J,Sachnev V,Shi Y Q,et al.A novel difference expansion transform for reversible data embedding[J].IEEE Transactions on Information Forensics and Security,2008,3(3):456-465.

[4]郑淑丽,王美玲,邢慧芬,等.一种基于位平面的差值扩展可逆水印算法[J].合肥工业大学学报:自然科学版,2012,35 (10):1345-1348.

[5]邓小鸿,陈志刚,毛伊敏.基于无损水印的医学图像篡改检测和高质量恢复[J].中国图象图形学报,2014,19(4):583-591.

[6]Puech W,Chaumont M,Strauss O.A reversible data hiding method for encrypted images[C]//Proc SPIE 6819,Security,Forensics,Steganography,and Watermarking of Multimedia Contents X,2008:68191E.doi:10.1117/12.766754.

[7]Zhang X P.Reversible data hiding in encrypted images[J].IEEE Signal Processing Letters,2011,18(4):255-258.

[8]Hong W,Chen T S,Wu H.An improved reversible data hiding in encrypted images using side match[J].IEEE Signal Processing Letters,2012,19(4):199-202.

[9]Zhang X P.Separable reversible data hiding in encrypted image [J].IEEE Transactions on Information Forensics and Security,2012,7(2):826-832.

[10]Ma K D,Zhang W M,Zhao X F.Reversible data hiding in encrypted images by reserving room before encryption[J].IEEE Transactions on Information Forensics Security,2013,8(3):553-562.

[11]Zhang W M,Ma K,Yu N H.Reversibility improved data hiding in encrypted images[J].Siginal Processing,2014,94:118-127.

(责任编辑张镅)

Reversible data hiding in encrypted images based on lossless compression

ZHENG Shu-li,CAO Min,HU Dong-hui,LI Dan-dan
(School of Computer and Information,Hefei University of Technology,Hefei 230009,China)

Abstract:Aiming at the defects of existing algorithms in the embedding capacity and the operation of receiver,an algorithm of reversible data hiding in encrypted images based on lossless compression is proposed.Firstly,the substitution encryption technology is used to encrypt the original image.Secondly,the data hider randomly divides the encrypted image into several equal and non-overlapping blocks,then the ones are compressed with a lossless manner to create a sparse space to embed secret data.Finally,the receiver can obtain secret data and original image by using the data-hiding key and decryption key.The experimental results show that compared with the previous methods,the proposed method achieves excellent efficiency in peak signal-to-noise ratio(PSNR)and embedding rate.

Key words:encrypted image;reversible data hiding;substitution encryption;lossless compression;peak signal-to-noise ratio(PSNR);embedding rate

作者简介:郑淑丽(1974-),女,安徽蚌埠人,博士,合肥工业大学副教授,硕士生导师.

基金项目:国家自然科学基金资助项目(61272540);安徽省自然科学基金资助项目(1508085MF115)

收稿日期:2014-12-16

Doi:10.3969/j.issn.1003-5060.2016.01.010

中图分类号:TP309.7

文献标识码:A

文章编号:1003-5060(2016)01-0050-06