,
(上海电力学院 计算机科学与技术学院, 上海 200090)
近年来,随着计算机网络、云计算以及数字图像处理等技术的发展,用户的隐私问题变得十分突出.对图像进行加密可以实现用户的隐私保护,但图像接收方需要获取密钥才能验证用户身份,此时图像内容又存在泄露的风险.如何在传递信息的同时不泄露图像内容;提取信息后又可以完美恢复图像内容,是一个亟待解决的问题[1].作为一个新兴的研究领域,在加密图像中实现可逆信息隐藏的技术,吸引了众多研究学者的关注.目前代表性的可逆信息隐藏方法包括利用差值扩展嵌入[2]、直方图平移技术嵌入[3]以及利用图像无损压缩技术嵌入[4]等.
加密技术可以有效保护图像的隐私,而信息隐藏则可以在图像中添加秘密信息,以实现版权保护、防伪认证及篡改检测等功能,同时可逆信息隐藏技术则实现了在提取信息后可以无差错恢复图像内容的功能.因此,在密文图像上进行可逆信息隐藏操作,既能保证图像的隐私,又能实现附加信息的传递,具有良好的应用前景.日常生活中,在加密图像上进行可逆信息隐藏的需求越来越多,例如,为了保证数据的机密性,也不希望传输方知道数据的内容,数据版权的拥有者通常会将数据加密压缩后存放在数据库中,同时传输方也要在数据上嵌入自己的水印来验证通信的完整性,保证数据在传输过程中未被破坏;在数字医疗系统中,医院需要拍摄病人的某些器官图像并保存起来,为了保护病人的隐私,这些器官图像必须经过加密再传送到数据库中,而数据库的管理人员则需要在这些加密图像上嵌入病人的基本信息,包括姓名、性别和年龄等以区别每张密文图像的归属,当医生提取病人的信息后,利用可逆技术实现对原始器官图像的无差错恢复.这样既保证了病人的隐私不被泄露,同时实现了病人个人信息与病例图像的完美对应.
现有的加密图像可逆信息隐藏方案中,通常采用两种方案来实施信息隐藏:一是先利用不同的加密手段将附加消息进行加密,再嵌入到载体图像中[5-8];二是将部分载体数据进行加密,同时利用另一部分载体数据携带额外信息[9-11],结果可能导致原始信息部分泄露.文献[1]通过修改加密图像像素最低有效位来嵌入可逆信息,首次打破上述方法存在的缺陷,但该方案中每个图像块只嵌入1 bit信息,导致嵌入量不大且错误率较高.随后,HONG W等人[12]针对这一问题,重新设计了波动函数,同时利用side-match技术,将相关性的计算范围扩展到上下左右几个分块中,提高了计算精确度.此方案在降低提取信息错误率方面获得了良好的效果,但在信息嵌入容量方面无明显改善.
本文针对已有的加密可逆信息隐藏方案,在嵌入容量和信息提取准确率方面对现有算法进行了改进.
文献[1]通过修改加密图像像素最低有效位来嵌入秘密信息,提出了一种加密图像中的可逆信息隐藏方法.内容所有者利用加密密钥产生伪随机序列,与原始图像像素的各位进行异或运算,从而将图像加密并发送给数据隐藏者.数据隐藏者把已加密的图像划分为大小为s×s的不重叠块,每个分块隐藏1 bit秘密信息.对于每一个分块,伪随机地将s×s个像素划分为S0和S1两组.如果嵌入的秘密信息为0,则把S0组中的每个加密像素的3个最低有效位(Least Significant Bit,LSB)取反,即:
(1)
如果嵌入的秘密信息为1,则把S1组中的每个加密像素的3个LSB取反,即:
(2)
其他数据保持不变,记嵌入信息的加密图像为I".
接收方在接收到I"后,利用解密密钥进行解密.在信息提取阶段,可利用以下波动函数以块为单位计算像素的空间相关性:
(3)
式中:pu,v——块中对应的像素值.
对于每个解密后的像素块,接收者分别把S0分组和S1分组中所有像素的3个LSB翻转以建立两个不同的新块,记为H0和H1.记H0和H1的波动函数值为f0和f1.由于自然图像空间相关性的存在,原始图像块的波动函数总体上会低于解密后的图像块,因此接收者可以利用f0和f1完成数据提取和图像恢复.如果f0 在文献[1]的基础上,本文利用图像分块旋转的思想构建一种新的秘密信息嵌入方案.本方案分为图像加密、秘密信息嵌入、图像解密、秘密信息提取及图像恢复4个步骤.其中,图像加密和图像解密沿用文献[1]的算法方案.算法整体框架如图1所示.内容所有者利用加密密钥Ken对原始图像进行加密操作,并输出密文图像,数据隐藏者对密文图像进行分块并利用一定规则嵌入,之后将嵌入信息的加密图像发给接收者;接收者利用解密密钥Ken(同加密密钥)对图像进行解密,得到待解密图像,最后根据原始图像的空间相关性提取嵌入信息并恢复原始图像. 图1 本文算法的整体框架 加密算法沿用文献[1]的加密过程.假设原始图像未被压缩且每个像素的灰度值在[0,255]之间代表8位.用bi,j,0,bi,j,1,bi,j,2,…,bi,j,7共8 bit表示像素位,其中(i,j)表示像素的位置;灰度值设为pi,j. (4) 利用密钥流对图像像素进行加密: Hi,j,k=bi,j,k⊕ri,j,k (5) 式中的ri,j,k由一个标准流密码的加密密钥Ken决定,可以确保其在不知道加密密钥的情况下,无法获得关于原始图像加密数据的任何信息. 在秘密信息嵌入阶段,嵌入的信息为二进制形式.首先将密文图像划分为互不重叠的像素块,记分块尺寸为s×s,取出任一分块每个像素的后3位LSB组成新矩阵,记为L(i,j,k),前5位最高有效位(Mose Significant Bit,MSB)的数值记为M(i,j,k),其中(i,j)表示像素中的位置,k为比特位,1≤i,j≤s,k=0,1,2.由随机密钥生成一个大小为s×s的模板矩阵R(i,j,k),其中的元素由3位二进制表示.秘密信息的嵌入流程如下. (1) 若嵌入数据为00,则保持模板矩阵R(i,j,k)不变,与L(i,j,k)进行异或操作: B(i,j,k)=R(i,j,k)⊕L(i,j,k) 1≤i,j≤s,k=0,1,2 (6) (2) 若嵌入数据为01,则将模板矩阵R(i,j,k)旋转90°,与L(i,j,k)进行异或: (7) (3) 若嵌入数据位为10,则将模板矩阵R(i,j,k)旋转180°,与L(i,j,k)进行异或: (8) (4) 若嵌入数据为11,则将模板矩阵R(i,j,k)旋转270°,与L(i,j,k)进行异或: (9) 根据上述4种情况依次对所有图像块实施秘密信息的嵌入.嵌入信息后的矩阵B(i,j,k)与高5位MSB矩阵M(i,j,k)进行组合,构成含密的密文图像块.其余的分块作相同操作,最终构成含密密文图像. 具体的信息嵌入过程如图2所示. 根据算法流程可知,在信息嵌入阶段,每个分块存在4种旋转情况,可嵌入2 bit的秘密信息,相对于文献[1]中仅嵌入1 bit信息的容量,本文算法显著提升了信息嵌入量.另外,由于取反操作会严重影响像素之间的空间相关性,若将像素中一半以上的比特位都取反,那解密后的图像质量会受到破坏;而灰度图中最后3位的数值对整个图像视觉质量的影响较小,因此算法选择只对每个像素的3个LSB进行取反. 图2 信息嵌入流程 当收到一个包含有秘密信息的加密图像时,接收者首先根据解密密钥(此处解密密钥与加密密钥相同)产生ri,j,k,然后根据式(5)的逆运算计算解密图像.对于初始的5个MSB,由于嵌入过程并未对其进行改动,因此可以正确恢复;而对于低位的3个LSB,若嵌入秘密信息为00,则也可以正确解密,若为其他形式的秘密信息,则解密后的像素值必然发生变化,与原始像素值存在较大差异,打乱了原始图像中固有的像素之间的相关性.本算法将利用这一特性对解密后的图像进行恢复. 在获取解密图像后,接收方首先将含有秘密信息的解密图像进行分块,针对每一个分块,将分别旋转0°,90°,180°,270°的模板矩阵与后3位LSB构成的图像块矩阵进行异或,异或结果再和前5位MSB构成的矩阵进行组合,得到处理后的图像块H0,H1,H2,H3,由式(10)分别计算各个图像块的波动值,记为f0,f1,f2,f3. (10) 根据4个波动函数值,得到其中的最小值f′,即: f′=min(f0,f1,f2,f3) (11) 进而可计算出嵌入的秘密信息: (12) 依次抽取每一块的嵌入数据,最终得到整体的秘密信息. 需要注意的是,文献[1]的算法中每个分块的边界像素没有参与到波动函数的计算中,若分块尺寸较小,则有可能影响信息提取的准确率.比如,对于一个大小为8×8的分块,总共包含64个像素,但约有43.75%的像素(28个)位于这4个边界上,随着分块尺寸变小,边界像素所占的比例会随之增高,就意味着参与计算块相关性的像素也相应减少,会对信息提取的准确率产生较大影响.本文算法充分利用了垂直和水平方向相邻像素的相关性,每个分块的波动程度能得到较好评估,因此本算法的性能更好. 针对本文的算法,选择4幅标准灰度图像对所提出的改进方案进行仿真实验.这些图像分别为:Lena (512×512),Fruits (512×480),Peppers (512×512),Sailboat (512×512).图3给出了4幅图像的具体示例,其中Lena和Peppers图像内容较为平滑,而Fruits和Sailboat为纹理较多的图像. 为了展示算法的性能,分别设置分块尺寸为s=4和s=8,并通过计算分块提取的错误率R来例证算法的优越性. (13) 图3 4幅实验图像 式中:c——提取错误的分块个数; r,l——图像在垂直和水平方向的分块个数. 具体错误率对比情况如表1所示.从表1可以看出,相比文献[1]的算法,不管对于纹理图像还是平滑图像,本文算法的性能都有着不同程度的提升.此外,由于纹理图像分块复杂程度较高,会有较高的提取错误率,相应的性能提升程度也会较低.对于平滑图像来说,本文算法的优越性则较为明显.图4给出了平滑图像Peppers在s=8时的提取错误块分布对比.由图4可以看出,本文算法中错误块数显著减少. 表1 文献[1]算法和本文算法的性能对比 % 此外,我们通过实验给出不同图像分块尺寸s与提取错误率之间的对比,如图5所示.由图5可以看出,不论是平滑图像还是纹理图像,当分块较小时,本文算法的性能明显好于文献[1]算法.对于图5(a)和图5(c),错误率以较快速度收敛为零,这是因为Lena和Peppers图像内容较为平滑,当分块较小时,会有一定的错误率,而当分块变大时,波动函数能够快速做出明确的判断,进而使得错误率明显降低.对于图5(b),分块必须达到一定程度,两种算法的错误率才逐渐接近零,这是因为Fruits图像的纹理较多,波动函数变化较大,使得判断出现一定误差. 另外,综合考查了几幅实验图像,研究嵌入容量与平均提取错误率之间的变化规律,结果如图6所示. 图6 嵌入容量与平均提取错误率的关系 由图6可以看出,在相同嵌入容量下,本文算法的平均提取错误率要比文献[1]中的算法明显降低,换句话说,本文算法在相同错误率下能够嵌入更多的秘密信息,这也说明了通过本文的改进机制,算法的性能得到了有效提升. (1) 本文中的算法实现了加密图像中的信息隐藏方案,同时可以在提取秘密信息后完美恢复原始图像; (2) 通过分块旋转设计,每个分块可嵌入2 bit秘密信息,信息的嵌入容量比已有算法提升了一倍; (3) 设计了新的波动函数恢复原始图像块,大大降低了信息提取的错误率; (4) 相对于已有的算法,本算法在同等嵌入容量情况下误码率更低,具有较高的实际应用价值. [1] ZHANG X.Reversible data hiding in encrypted image[J].IEEE Signal Processing Letters,2011,18(4):255-258. [2] JIAN T.Reversible data embedding using a difference expansion[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(8):890-896. [3] THODI D,RODRIGUEZ J.Expansion embedding techniques for reversible watermarking[J].IEEE Transactions on Image Processing,2007,16(3):721-730. [4] CELIK M,SHARMA G,TEKALP A,etal.Lossless generalized-LSB data embedding[J].IEEE Transactions on Image Processing,2005,14(2):253-266. [5] HUANG L C,TSENG L Y,HWANG M S.A reversible data hiding method by histogram shifting in high quality images[J].Journal of Systems and Software,2013,86(3):716-727. [6] AL-QERSHI O M,KHOO B E.Authentication and data hiding using a hybrid ROI-based watermarking scheme for DICOM images[J].Journal of Digital Imaging,2011,24(1):114-125. [7] CHIANG K H,CHANG-CHIEN K C,CHANG R F,etal.Tamper detection and restoring system for images using wavelet-based reversible data embedding[J].Journal of Digital Imaging,2008,21(1):77-90. [8] LIU X,LI S.An adaptive chaotic encrypted binary image digital watermarking algorithm based on DCT[C]//International Conference on Intelligent Computing and Integrated Systems (ICISS2010),2010:149-153. [9] BATTISTI F,CANCELLARO M,CARLI M,etal.Watermarking and encryption of color images in the Fibonacci domain[C]//Prcoeedings of SPIE,Image Processing:Algorithms and Systems VI,San Jose,California,USA.2008:6812(68121C). [10] LIAN S G,LIU Z X,ZHEN R,etal.Commutative watermarking and encryption for media data[J].Optical Engineering,2006,45(8):1678. [11] SUBRAMANYAM A V,EMMANUEL S,KANKANHALLI M S.Robust watermarking of compressed and encrypted JPEG2000 images[J].IEEE Transactions on Multimedia,2012,14(3):703-716. [12] HONG W,CHEN T S,WU H Y.An improved reversible data hiding in encrypted images using side match[J].IEEE Signal Processing Letters,2012,19(4):199-202.2 提出的算法
2.1 算法框架
2.2 图像加密
2.3 秘密信息嵌入
2.4 图像解密
2.5 信息提取与图像恢复
3 实验结果
4 结 论