按需发送的加密图像中的可逆信息隐藏
2015-10-28韩喜玉钱振兴张新鹏姜飞
韩喜玉,钱振兴,张新鹏,姜飞
上海大学通信与信息工程学院,上海200444
按需发送的加密图像中的可逆信息隐藏
韩喜玉,钱振兴,张新鹏,姜飞
上海大学通信与信息工程学院,上海200444
提出了一种新的加密图像中的可逆信息隐藏算法.发送方对图像进行下采样并计算残差,得到子图像和残差两部分数据,再使用加密密钥对两部分数据分别进行加密后发送给服务器端.服务器端对残差部分的加密数据进行算术编码,产生冗余空间并使用嵌入密钥隐藏额外数据.接收端根据持有密钥的情况,从服务器端获取不同的数据版本.与以往方法相比,所提出的按需传输数据的新机制可有效减少服务器传送的数据量,且在图像可无损恢复的前提下大大提高了数据嵌入率.
可逆数据隐藏;加密;信息隐藏;算术编码
加密图像中的可逆信息隐藏(reversible data hiding,RDH)是将信息准确提取后能使原始图像无损恢复的有效工具.正是由于秘密信息提取后原始图像内容能够无损恢复,RDH就成为一个热门的研究方向,并应用于很多领域,如医学图像、军事图像、法律取证等.RDH是一个相对成熟的技术,主要方法有基于无损压缩的可逆信息隐藏[1]、基于插值扩展的可逆信息隐藏[2-4]、基于直方图平移的可逆信息隐藏[5-6]、基于像素预测的可逆数据隐藏[7-8].随着对个人隐私保护观念的日益加深,数据加密变得异常重要,尤其是云计算[9]背景下在加密数据中嵌入信息显得极为重要.例如在某些情况下,图像持有者需要将一幅图像上传至服务器,但他/她不愿意公开图像内容,于是加密图像进行隐私保护,以防止图像内容泄露.另外,服务器希望在收到的加密图像中嵌入一些有用信息,以方便管理图像,此时就需要引入加密图像中的信息隐藏概念.
文献[10]把加密图像分成若干不重叠的块,块的大小为s×s;为了能够嵌入信息,根据信息隐藏密钥将每一块随机分成两个像素集合S0和S1;翻转每一个像素集合(S0或S1)中的像素的最低3位有效位(least significant bits,LSB),以表示嵌入1 bit信息;翻转S0的3LSBs成一个新的块H0,翻转S1的3 LSBs变成H1,比较H0和H1的平滑度来提取信息和恢复原始图像.文献[11]对上述方法进行改进,在数据提取和图像恢复时利用像素的空间相关性和边(side)匹配机制,降低了图像恢复错误率.文献[12]亦提出了一种可分离加密图像中的可逆信息隐藏方法.利用奇偶校验矩阵,实现图像的“压缩”并嵌入信息.文献[13]将加密后的图像分成两部分,其中一部分利用LDPC编码进行无损压缩,多余的空间可用来嵌入信息;接收方利用压缩后的数据和未压缩的原始像素值,恢复原始图像的内容.文献[14]利用加密图像的直方图统计特征调整直方图,可以实现数据嵌入.文献[15]在图像加密之前将图像的一部分像素最低有效位无损嵌入到其他像素中,多余的空间可以进行信息嵌入.文献[16]提出一种基于预测模型的方法,图像的一部分像素用其他像素预测,对残差的调整、平移可以为信息隐藏预留空间.文献[17]提出了一种通用的可逆信息隐藏方法,适用于图像、视频、文件等任何加密信号.在假设加密信号仍然有冗余的前提下,将加密后的信号分成若干个不重叠的组,然后把每组GRC码调整成定长编码形式,以嵌入信息.该方法的每个分组可以嵌入2 bits信息,提高了嵌入率.
本文提出了一种新的算法,包括图像加密、信息嵌入、数据提取/图像恢复三部分.主要有两大优点:在原始图像无损恢复的前提下大大提高了嵌入率.根据接收方所持密钥类型提出了一种新的发送机制,如果接收端含有加密密钥,得到的是加密的子图像;如果只有嵌入密钥,得到是一段秘密信息;如果两个密钥都存在,得到的是所有数据.这种按需发送的机制,使服务器减少了数据传输量.
1 总体方案
本文的算法框架如图1所示.在发送端,对原始图像进行下采样,获得4幅子图像并且计算残差.加密包括子图像加密和残差的映射(将残差映射成连续排列的整数).在服务器端,得到一组加密数据后对残差进行熵编码,压缩得到的冗余空间可用来嵌入数据.信息隐藏密钥主要用于打乱秘密数据的排列顺序.
在接收端,如果只含有一个加密密钥,接收者只能收到一幅加密子图像,于是可以根据加密密钥无损恢复原始子图像;在只持有加密密钥的前提下,接收者实际上是想近似获得原始图像内容.如果持有信息隐藏密钥,服务器会发送含有隐秘数据的信息段,此时可以根据嵌入密钥准确提取信息;如果持有两种密钥,那么接收方可以获得所有的数据,原始图像可以无损恢复,且隐秘信息也可完整提取.与传统的加密图像中的可逆信息隐藏算法不同的是:在只含有一种密钥(加密密钥或信息隐藏密钥)的情况下发送所有的数据.若采用本文提出的按需发送机制,则可以减少数据传输量.
图1 算法框架Figure 1 Our framework
2 图像加密和数据隐藏
2.1图像加密算法
假设一幅8比特灰度图像I大小为M×N,满足I(i,j)∈[0,255],1≤i≤M,1≤j≤N.图像加密之前需要进行下采样,计算残差和数据重组.对I进行下采样得到子图像IA、IB、IC、ID,分别满足IA∈I(i,j),i mod 2=1,j mod 2=1,IB∈I(i,j),i mod 2=1,j mod 2=0,IC∈I(i,j),i mod 2=0,j mod 2=1,ID∈I(i,j),i mod 2=0,j mod 2=0,计算3组差值
将dB、dC、dD分别转化成一维行向量,得到最终的残差.图2是最常见图像Lena、Airplane等D的统计.横坐标表示D的值,为了方便,统计-50和+50之间的残差值;纵坐标表示每个残值对应的数目.从图2中可以看出,对于较平滑的图像(Lena、Airplane),其残差分布较集中,且残差值为“0”和“-1”的较多.正是由于这种数据的冗余性,信息隐藏者可以对其压缩,用来嵌入数据.
获得残差后对图像进行重组,首先根据文献[12]的流密码对IA进行加密,则IA的每一个像素IA(i,j)分解为IA(i,j,0),IA(i,j,1),···,IA(i,j,7)
式中,k=0,1,···,7.
利用密钥Kenc生成随机比特流ri,j,k,通过异或操作可以得到加密的子图像A
图2 常见图像D的分布Figure 2 Distribution of usual D
2.2信息嵌入
信息隐藏者得到加密数据U后,提取V.对V进行统计,得到P互不相同的值,是对按照式(8)计算得到的.对V进行熵编码,根据算术编码[18]得到
式中,AC为V的算术编码码流,LC为算术编码的长度,fun()表示算术编码函数.为了便于解码和信息嵌入,对算术编码码流进行重新构造,L为LC的二进制表示形式,且L的长度固定为2lb(MN),此时可以得到最大嵌入信息量Em如式(1)所示,单位为bit
于是最大嵌入率Bm为
式中,Bm表示每个像素可以嵌入的最大比特数量,单位为bpp(bits per pixel).空间预留完成后,根据信息嵌入密钥Kemb,将隐秘信息置乱得到信息序列M.最终嵌入信息后的数据流Y如图3所示.
图3 发送信息格式Figure 3 Format of sent data
3 信息提取和图像恢复
接收方有以下3种情况:只含加密密钥(Kenc,F)、信息隐藏密钥Kemb、两种密钥都有.根据所含密钥的不同,服务器发送不同的内容给接收方.
3.1只有加密密钥
3.2只含有信息隐藏密钥
在只含有信息隐藏密钥情况下,接收者只有提取秘密信息的权利,因此服务器将M发送至接收方,在传输过程中有效减少了传输信息量.接收方只能获得置乱后的秘密信息序列M,而无法获得原始图像内容.利用信息隐藏密钥Kemb,把信息M恢复成原始顺序,得到序列︿M,完成数据的提取.因为信息隐藏密钥仅仅是打乱秘密信息的排列顺序,所以在提取完信息M后根据嵌入密钥可以准确地恢复秘密信息.如果没有嵌入密钥Kemb,那么只能提取排列错误的信息,而无法获得隐秘信息的内容.
3.3持有两种密钥
在图像加密密钥(Kenc,F)和信息隐藏密钥Kemb都具备的情况下,服务器将所有的数据发送给接收方.此时不仅能准确提取信息,还能无损恢复原始图像的内容.根据密钥Kemb可准确提取信息.原始图像的恢复包括子图像IA的恢复和残差D的恢复,步骤如下:
步骤1根据图像加密密钥Kenc,对子图像进行解密,得到XA.
步骤2提取图3中的L(长度2lb(MN)),确定算术编码的长度,然后将算术编码的码流C提取出来,对C进行算术解码
式中,D0为解码后得到的序列,Defun()表示算术解码函数,
步骤3根据加密密钥F将残差D0转化成原始的残差值,得到D′0;接着恢复3个子图像的残差d2、d3、d4,大小均为mn×1.把3个子残差恢复成二维矩阵,得到恢复的子残差d′2、d′3、d′4.
步骤4根据恢复的子残差和子图像XA,恢复3个子图像XB、XC、XD
步骤5最后,恢复原始图像X
式中,1≤i≤M,1≤j≤N.
4 实验结果
使用512×512的灰度图像来验证本文算法,图4为常见图像“Lena”、“Bridge”、“Baboon”的实验结果.图(a)、(d)、(g)为原始图像;在3段加密数据中,分别嵌入589315 bits、645663 bits、265771 bits的数据,图(b)、(e)、(h)为提取信息后恢复的原始图像,与原始图像完全一致,图(c)、(f)、(i)为根据加密密钥恢复的子图像.
本文对5幅图像(512×512)进行参数统计,结果如表1所示.包括最大嵌入容量Em,算术编码长度L的统计.可以看到平滑图像(Lena、Airplane等)嵌入量较高,因为平滑图像(Lena、Airplane等)像素间的相关性较大,根据式(1)~(3)计算时残差分布较集中.分布越不均匀,进行无损压缩时的效果就越好,可嵌入的信息量就会增加.
图4 图像质量比较Figure 4 Comparison of image quality
表1 不同图像的参数比较Table 1 Parameters comparison of diferent images
如表2所示,比较采用不同算法得到的最大嵌入率Bm,所用图像均为512×512的灰度图像.文献[10]直接在加密图像中进行分块和翻转操作以“压缩”图像,嵌入信息.加密后的图像特性随机很高,信息熵较大,压缩率较低,导致信息嵌入量很低.再者,如果块较小,即使提高了嵌入率,也会增加图像恢复错误率.文献[15]将原始图像分成A、B部分.将A的LSBs无损嵌入到B中,则A中空余的空间可用于信息隐藏.本文则经过熵编码进行压缩,故嵌入量较高.文献[16]中对部分像素进行预测,利用直方图平移算法产生空间,但是仍然没有压缩残差产生的空间多.
表2 几种算法的最高嵌入率比较Table 2 Comparison of max embedding rate from several methodsbpp
由于在图像加密之前进行了图像采样和作残差,发送给信息隐藏者的是加密的残差和子图像.通过映射对残差加密,把残差良好的冗余性保留下来.能够获得高嵌入率的原因正是残差的良好的可压缩性.实验中采用了算术编码,若采用其他无损编码方式,如哈夫曼编码、LDPC编码、LZW编码等,也可达到类似的效果.实验结果表明,本文算法具有最大的嵌入率.
5 结语
本文提出了一种新的加密图像中的可逆信息隐藏算法.在发送端,对原始图像进行下采样和计算残差,并且对子图像和残差进行加密.在服务器端,利用残差的可压缩性进行熵编码,根据信息隐藏密钥在压缩后的空间中嵌入信息;在接收端,可根据所含密钥类型获取不同的数据版本.如果含有加密密钥,那么接收方得到加密的子图像;如果含有信息隐藏密钥,可得到秘密信息的数据;在两个密钥都有的情况下,可获得所有数据.与传统算法相比,本文算法不但在无损恢复原始图像的前提下提高了嵌入容量,而且采用了一种新的按需发送机制,可以有效减少数据的传送量.
[1]Fridrich J,Goljan M,Du R.Lossless data embedding for all images formats[C]//Electronic Imaging 2002,International Society for Optics and Photonics,2002:572-583.
[2]Kundur D,KarThik K.Video fngerprinting and encryption principles for digital rights management[J].Proceedings of the IEEE,2004,92(6):918-932.
[3]Celik M U,Sharma G,Tekalp A M.Lossless generalized-LSB data embedding[J].IEEE Transactions on Image Processing,2005,14(2):253-266.
[4]Thodi D M,Rodríguez J J.Expansion embedding techniques for reversible watermarking[J]. IEEE Transactions on Image Processing,2007,16(3):721-730.
[5]Ni Z,Shi Y Q,Ansari N.Reversible data hiding[J].IEEE Transactions on Circuits and Systems for Video Technology,2006,16(3):354-362.
[6]Tai W L,Yeh V M,Chang C C.Reversible data hiding based on histogram modifcation of pixel diferences[J].IEEE Transactions on Circuits and Systems for Video Technology,2009,19(6):906-910.
[7]Luo L,Chen Z,Chen M,Zheng X,Xiong Z.Reversible image watermarking using interpolation technique[J].IEEE Transactions on Information Forensics and Security,2010,5(1):187-193.
[8]Li X,Yang B,Zeng T.Efficient reversible watermarking based on adaptive prediction-error expansion and pixel selection[J].IEEE Transactions on Image Processing,2011,20(12):3524-3533.
[9]Hwang K,Li D.Trusted cloud computing with secure resources and data coloring[J].IEEE on Internet Computing,2010,14(5):14-22.
[10]Zhang X.Reversible data hiding in encrypted image[J].IEEE on Signal Processing Letters,2011,18(4):255-258.
[11]Hong W,Chen T S,Wu H Y.An improved reversible data hiding in encrypted images using side match[J].IEEE on Signal Processing Letters,2012,19(4):199-202.
[12]Zhang X.Separable reversible data hiding in encrypted image[J].IEEE Transactions on Information Forensics and Security,2012,7(2):826-832.
[13]Zhang X,Qian Z,Feng G,Ren Y.Efficient reversible data hiding in encrypted images[J]. Journal of Visual Communication and Image Representation,2014,25(2):322-328.
[14]Qian Z,Zhang X H X.Separable reversible data hiding in encrypted images by n-nary histogram modifcation[C]//The Third International Conference on Multimedia Technology,Atlantis Press,2013:869-876.
[15]Ma K,Zhang W,Zhao X,Yu N.Reversible data hiding in encrypted images by reserving room before encryption[J].IEEE Transactions on Information Forensics and Security,2013,8(3):553-562.
[16]Zhang W,Ma K,Yu N.Reversibility improved data hiding in encrypted images[J].Signal Processing,2014,94:118-127.
[17]Abdul Karim M S,Wong K S.Universal data embedding in encrypted domain[J].Signal Processing,2014,94:174-182.
[18]WiTTen I H,Neal R M,Cleary J G.Arithmetic coding for data compression[J].Communications of the ACM,1987,30(6):520-540.
[19]Zhang D,Wu X.An edge-guided image interpolation algorithm via directional fltering and data fusion[J].IEEE Transactions on Image Processing,2006,15(8):2226-2238.
(编辑:管玉娟)
Reversible Data Hiding in Encrypted Images Transmitted on Demand
HAN Xi-yu,QIAN Zhen-xing,ZHANG Xin-peng,JIANG Fei
School of Communication and Information Engineering,Shanghai University,Shanghai 200444,China
This paper proposes a new method of reversible data hiding in encrypted images.The sender down-samples the original image and calculates the residuals to generate two sets of objects:sub-images and residuals.These are encrypted with an encryption key and sent to the server.The server applies arithmetic coding on the encrypted residuals to generate spatial redundancy,and then hides extra data using the embedding key.With the key,the receiver obtains diferent versions of the data transmitted by the server.Unlike the conventional methods,a transmission-on-demand mechanism is used,which can efectively reduce the amount of transmitted data on the server.With the image perfectly recovered,the data embedding rate is greatly improved.
reversible data hiding,encryption,data hiding,arithmetic coding
TN911.73
0255-8297(2015)01-0050-09
10.3969/j.issn.0255-8297.2015.01.006
2014-10-17;
2014-12-04
国家自然科学基金(No.61103181,No.61472235,No.61202367);上海自然科学基金(No.14ZR1415100,No.12ZR1443700);上海市青年科技启明星人才计划基金(No.14QA1401900);上海市教委创新基金(No.14YZ020)资助
钱振兴,副研究员,研究方向:信息隐藏、加密信号处理,E-mail:zxqian@shu.edu.cn