APP下载

密文域可逆信息隐藏研究进展及评述

2021-07-08爽,

关键词:密文直方图解密

易 爽, 周 娟

(1.物证技术重庆市高校工程研究中心, 重庆 4000120; 2.西南政法大学刑事侦查学院, 重庆 4000120)

0 引言

数字图像作为最常用的一种媒体资源被广泛应用到生活、军事、医疗、法律等各个领域。随着云计算的兴起和云存储的广泛应用,原本在本地PC或手机端存储、编辑、处理数据的模式逐渐变为由云计算平台提供服务和支持的模式。用户在将自己的图像存于第三方云服务提供商时,又不信任对方,因此,需要将自己的数据先进行加密,再上传到云服务中心。云服务提供商为了方便数据的管理和认证,需要对所有数据打上标记再存储,这些标记即隐藏的秘密信息,而这些过程完全不需要知道图像的内容信息。因此,信息隐藏过程是在图像的密文域上进行的。而对于一些数据认证要求高的应用场景要求信息的提取与图像的恢复完全可逆,因此,密文域可逆信息隐藏(Reversible data hiding in encrypted domain)技术应运而生。

密文域信息隐藏技术为网络安全提供新的方法和技术支持,在众多领域都有较大的应用需求。比如在医疗健康领域,为了保护患者的隐私,远程医疗和诊断中的医学图像需要先经过加密再存储和传输,管理者需要在密文图像中嵌入患者的性别、年龄、诊断结果等身份认证信息和病历信息[1]。整个加密和信息提取过程都需要完全可逆,以避免因数据错误而导致的医疗纠纷事件。再比如国家机密文件管理系统中[2],对于高级别的机密文件,即使加密也不能任意在公网上传输。为了防止因人为因素造成的文件泄露,可以在密文文件中加上指明文件密级的标记,这样当高密级文件在公网上传输时就能被网关拦截下来。因此,密文域信息隐藏技术在数据的保密通信和云计算环境下的存储和管理中都起着举足轻重的作用,是当前隐私保护研究的重点和热点之一。

1 系统框架

密文域可逆信息隐藏系统一般包含3个参与者,即图像持有者、信息隐藏者、接收方。整个系统框架如图1所示。首先,图像持有者将载体图像C进行加密,然后将生成的密文图像E传给信息隐藏者;其次,信息隐藏者将自己的秘密信息S嵌入到密文图像中,得到载密密文图像M;最后,接收方从载密图像中提取出秘密信息S并恢复出原始图像C。值得注意的是,在加密、解密、信息隐藏、信息提取时,都需要相应的密钥,为了简化流程,在此不作过多描述。

图1 密文域可逆信息隐藏系统框架

根据信息提取和图像解密两个步骤是否可分,将密文域可逆信息隐藏算法分为两个大类:不可分离的算法和可分离的算法。对于不可分离的算法,信息提取和图像解密是同时进行的,信息提取是基于解密图像的平滑度分析;对于可分离的算法,根据信息提取和图像解密的顺序不同,又可分为先解密后提取,和先提取后解密两个子类。对于先解密后提取的算法,假如接收方只有图像解密密钥,则可以对载密密文图像直接进行解密,得到载密明文图像C’,该图像与原始载体图像人眼从直观上看基本没有区别;假如接收方同时具有信息提取密钥,则可以进一步对信息进行提取,获得秘密信息S,进而通过图像恢复算法还原出原始图像C。对于先提取后解密的算法,接收方先从载密密文图像中提取秘密信息S,得到密文图像E,再对其解密得到原始载体图像C。

2 研究进展

密文域的可逆信息隐藏技术由美国学者W.Puech等人[3]在2008年的SPIE会议上首次提出,然而该文当时并没有引起学术界的重视,随后的两年也没有任何相关成果发表,直到2011年,Zhang[1]在IEEE SPL上发表了又一篇论文之后,才逐渐掀起了这个领域的研究热潮。下文便对密文域可逆信息隐藏技术近十年来的研究和进展进行整理,对其经典算法和相应的改进措施进行分析,最后对主要算法进行性能比较。

2.1 不可分离的算法

对于不可分离的密文域可逆信息隐藏算法,其基本思想是利用两种直接解密图像的平滑度来判断嵌入的比特信息是0还是1,由此判定解密图像是两者之一的哪一个,因此,此类算法对于纹理较多的图像来说会存在信息提取的误差。

在Zhang[1]的方法中,原始图像首先被分割成不重叠的图像块,每个图像块用流密码进行加密。信息隐藏阶段,每个密文图像块嵌入1比特信息,其具体操作是先将当前密文图像块的像素随机分成两组,记为S0和S1,当嵌入的比特信息为0时,将S0的所有像素的3 LSB(Least Significant Bit)位进行翻转(0变为1,1变为0),若嵌入的比特信息为1,则对S1的所有像素3 LSB位进行翻转。信息提取阶段,先对每个载密密文图像块直接进行解密,再按照与信息隐藏阶段同样的方式将每个解密图像块的像素分割成S0和S1两个组,分别对S0和S1两个组的像素的3 LSB位进行翻转,得到两个解密图像块C0和C1,最后通过设计波动函数来计算C0和C1的平滑度,若C0的平滑度更高,则嵌入信息为0,而C0即为最终解密的图像块,否则,嵌入信息为1,而C1即为最终解密的图像块。

上述算法的优点在于计算复杂度低,易于实现,由于信息隐藏只改变了低3位的比特值,因此,即使信息提取错误,直接解密图像的PSNR(Peak Signal to Noise Ratio)值能始终保持37.9 dB以上。但此算法嵌入率比较低,且信息提取和图像恢复的正确性依赖于原始图像的特征,因此,对于图像块较小或者纹理较为丰富的图像来说,存在较大的信息提取误差。

随后,学者们对Zhang[1]的算法进行了改进,比如考虑图像块之间的相关性设计性能更好的波动函数来降低信息提取的错误率[4];通过对原始图像像素值进行十字型精确预测来增大嵌入率,并通过对信息的重复嵌入来减少提取误差和增强容错性[5-6];采用公钥调制机制和位异或方式来嵌入信息,并设计SVM(Support Vector Machine)分类器来降低信息提取错误率[7];通过对MSB(Most Significant Bit)位的替换来嵌入信息和提升图像恢复性能[8]等等。

以改进的文献[7]算法为例,作者先将图像分为大小相等的不重叠的图像块,然后用流加密的方式对每个图像块进行加密。在信息隐藏阶段,先根据嵌入容量设计一系列跟图像块大小和位深度一致的公钥Q0,Q1,…,QS-1,其中S=2n,n为每个图像块嵌入的信息比特数。其次,对于每个密文图像块,将待嵌入的n比特信息转换为对应的公钥Qi,再跟图像块进行比特级异或得到最终含密文的图像。如,假设每个图像块嵌入3比特信息,则设计8个公钥Q0,Q1,…,Q7,再将3比特二进制数信息转换为十进制数i,找到对应的公钥Qi,利用该公钥与密文图像块进行比特级异或。信息提取和图像恢复阶段,先对含密文的图像块进行流密码的直接解密操作,再用S个公钥依次对直接解密的含密文图像块进行比特级异或,得到S个最终解密的图像块。由于S个最终解密图像块中只有一个才是原始图像块,通过SVM技术对这S个像素块进行平滑度度量,平滑度最高的那个图像块即为原始图像块,再通过图像块的编号计算出对应嵌入的二进制信息。此算法通过设计公钥机制,不需要额外的信息隐藏密钥,增强了算法的安全性;除此之外,采用SVM分类器大大提高了信息提取和图像恢复的准确性。

2.2 可分离的算法

为了使算法的应用更具灵活性,大量的学者们致力于研究可分离密文域的可逆信息隐藏方案。现有的可分离方案可以分为两个类别:加密前预留空间来进行信息隐藏和加密后腾出空间嵌入信息。下面,对这两类算法分别进行总结和分析。

2.2.1 加密前预留空间

由于密文图像冗余度低,在密文图像中腾出空间来嵌入信息的难度较大,因此,Ma等人[9]首次提出在明文图像中先预留出承载秘密信息的空间,再对图像进行加密的方案。加密前预留空间的方法大致采用了以下两类技术:基于传统可逆信息隐藏技术和基于压缩编码技术。

(1)基于传统可逆信息隐藏技术

Ma等人[9]的文献先将载体图像分割成两部分,平滑度高的区域和平滑度低的区域;其次,用传统可逆信息隐藏中的直方图平移法[10]将平滑度低的区域的低位(低1位至低3位)比特值嵌入到平滑度高的区域;再次,对图像进行流加密,并在密文图像中标出哪些位置可供信息隐藏;最后,信息隐藏者根据标识将秘密信息采用位替换的方式进行嵌入。由于信息提取不需要利用载体图像的内容信息,因此,其是可分离且无损的。随后,Mathew等人[11]在此基础上提出了改进方案,即将图像分割成更精细的块来更好地划分平滑区域和非平滑区域,以便提高腾出空间的容量。

(2)基于压缩编码技术

为了在载体图像中腾出空间,自然而然会联想到利用压缩编码技术。因此,Cao[12]等人借鉴Ma等人[9]论文的基本思想,先对图像块进行稀疏表示,将残差较小的图像块(即平滑的图像块)编码后用作空间预留,其对应的残差则用传统可逆信息隐藏的方式隐藏到非平滑图像块中,以便恢复时达到完全无损。Chen等人[13]结合扩展的游程长度编码和基于图像块的MSB平面重排机制,将MSB平面进行压缩来腾出空间。Yin等人[14]采用中位数边缘检测器(Median Edge Detector)对图像进行预测,然后对原像素值和预测像素值相同的高比特位进行可变长度的霍夫曼编码,得到较高的压缩效率。

2.2.2 加密后腾出空间

对于计算能力不足的终端,比如移动终端用户,进行大量的计算来处理加密前腾出空间的操作可能不适用,因此部分学者致力于开发加密后腾出空间来进行信息隐藏的算法。对于此类算法,从技术上主要分为以下3类:基于同态加密技术、基于压缩技术和密文冗余保留技术。

(1)基于同态加密技术

同态加密的基本思想是对明文进行加法/乘法运算后再进行加密,与加密后对密文进行相应的加法/乘法运算是等价的。这种加密算法使得在密文上的操作如同在明文上一般,等于间接地把明文中的信息冗余延伸到了密文中,而且又不破坏密文的安全性。基于这个优点,同态加密广泛应用于图像加密方案。这类算法先采用加同态机制对明文图像进行加密,如Paillier加密机制,然后通过同态属性将信息隐藏到密文图像中。

Chen等人[15]首次提出在密文域可逆信息隐藏中引入同态加密机制,该算法将每个像素分成一个偶整数和一个比特值,两者之和等于原始像素值,然后对两部分值分别用Paillier加密方案进行加密;信息隐藏则通过修改密文中两个相邻像素第二个像素值来完成。在接收方,通过对解密的像素点进行比较可提取出秘密信息和恢复原始图像。此算法的优点在于采用了公钥加密机制,解决了图像持有者、信息隐藏者与接收方共享密钥所导致的安全问题,但由于像素值的拆分,每个密文图像比原始图像尺寸扩大了一倍,并且在嵌入信息后,两个加密部分的明文像素值之和大于255,因此始终存在溢出。

随后,Shiu等人[16]和Li等人[17]的文献中分别采用差扩展技术[18]和直方图平移技术[10]对上述算法进行了改进。Zhang等人[19]则采用Paillier和Damgard-Jurik[20]两种机制进行加密,提出了无损、可逆以及两者结合的信息隐藏方案。由于Paillier加密方案本身的特性,上述同态加密的算法安全性高,但存在计算量大、像素位深度扩张的问题,即密文图像的像素比特位远大于明文图像,这也无形中增加了存储负担。

(2)基于压缩技术

在Zhang等人[21]的文献中,作者先用流密码对图像进行加密,然后对密文图像的LSB位进行分块,每个块再通过矩阵运算来进行压缩,腾出的空间则用作信息隐藏。在本算法中,通过控制参数可以改变压缩力度,通过增加LSB平面数量可以增加嵌入率。由于信息的嵌入直接采用位替换的方式,因此提取时直接读取相应位置的信息即可。由于图像的恢复依靠失真函数来实现,因此在压缩力度较小或平滑度高的图像中,图像恢复可能存在有损情况。Zhang等人[22]的另一篇文献同样采用流密码技术对原始图像进行加密,然后用LDPC码(Low-Density Parity-check Code)对密文图像进行压缩,基于对图像恢复质量的考虑,此算法仅对第4 LSB平面的一半比特数据进行压缩。

(3)基于密文冗余保留技术

密文冗余保留技术是指在密文图像中保留图像的部分相关信息,并利用此相关信息和传统可逆信息隐藏技术、编码技术等进行信息隐藏。Qian等人[20]的文献采用映射函数将载体图像的像素值一一映射到另外的值上,以达到加密的目的。信息隐藏则通过多进制的方式来修改直方图的值,将最高的直方映射到n个最低的直方中。Yi等人[23]使用下采样的方式获得原始图像1/4的像素,并用这些像素去预测剩余3/4的像素,得到预测误差,然后对下采样图像和预测误差分别进行加密,其中预测误差用置乱的方式进行加密。由于密文中预测误差值同样保留了形如拉普拉斯分布的直方图统计信息,在信息隐藏阶段,则通过直方图平移的方式来隐藏信息。随后,Yi等人[24]又提出改进措施,使用带权重的棋盘预测器来对下采样的3/4的像素进行预测,加密方式和文献[23]类似,在信息隐藏阶段通过对预测误差进行编码的方式来完成。Yin等人[25]将图像分成不重叠的块,通过对图像块和图像块内部的像素进行随机置乱的方式进行加密。由于像素值没有改变,因此,密文图像和图像块保留了原始图像的统计直方图信息。信息隐藏则采用直方图平移的方式来完成。由于仅仅是置乱操作,图像加密的安全性不高,Yi等人[26]和Huang等人[27]则以像素块为单位进行流加密和图像块进行置乱操作。在加密阶段,由于同一个图像块中的像素采用同样的随机比特流进行位异或运算,因此,块内的像素相关性得以保留。在信息隐藏阶段,两者均采用了像素值预测误差直方图平移技术[28],只是前者引入了重复嵌入机制。实验表明,两者的算法在增强了安全性的同时也提高了嵌入率。不同于Huang等人的方法,Yi等人的文献[29]以像素块为单位进行取模的方式来修改像素值,并同样采用块置乱的方式来改变像素位置。信息隐藏阶段则通过对块内像素值的预测误差进行二值编码的方式来实现。

2.3 性能比较

本节对密文域可逆信息隐藏的代表性算法进行性能评估和总结,包括加密前是否预留空间、加密方式、信息隐藏方式、图像扩张率、是否可分离、是否无损、嵌入率,其结果如表1所示。统一采用Lena图像(如图2所示)作为测试用例,其图像尺寸为512×512像素,每个像素为8比特。嵌入率(单位:bpp,bit per pixel)和图像扩张率分别利用公式(1)和公式(2)进行计算。由于基于Paillier加密的算法存在图像扩张,统一把载秘密文图像转换到每个像素8比特位深来进行计算。

表1 密文域可逆信息隐藏算法性能评估

图2 测试图像Lena

(1)

(2)

由表1可以得出:从技术上来说,密文域的信息隐藏也沿用了明文域中的信息隐藏相关技术,比如位替换、直方图平移、直方图修改等;从嵌入率来说,采用加密前预留空间的算法比加密后直接嵌入信息的算法嵌入率普遍要高,因为在明文图像中做压缩来腾出空间比直接在密文中操作要相对容易;从加密方式来看,采用Paillier加密的方式会加大密文图像的尺寸,从而增大存储空间;从信息的提取和图像的恢复是否无损来说,采用可分离的方式设计的算法大多是无损的,而通过计算原始图像平滑度的方式来恢复数据的一般都是有损的,这取决于原始图像的平滑程度;从算法的功能性和灵活性来说,更多的学者致力于研究可分离的、无损的、嵌入率高的算法,而嵌入率和各方面性能也有了大幅度提高。

3 结语

密文域信息可逆隐藏的算法众多,基于篇幅限制,本文仅针对主流的算法作了归纳和分析,分别介绍算法的类别、所用的关键技术、以及对主要性能指标进行了总结,并对相关的技术进行了展望。随着用户对安全需求的不断增加,密文域可逆信息隐藏技术将有更广阔的发展空间。

近十年以来,密文域的可逆信息隐藏技术蓬勃发展,已经取得了较多的研究成果,但同时也存在一些有待优化的地方。综上所述,密文域可逆信息隐藏技术未来的发展趋势包括以下几个方面:

(1)从安全性角度来说,由于加密是为了破坏原始载体的冗余,信息隐藏则是要依靠密文的冗余,两者是对立的,在增强安全性的条件下势必要降低嵌入率,因此,如何设计安全性高,同时又能满足嵌入率需求的算法是学者们需要探究的问题之一。

(2)从评价标准来说,现有的评价机制基本是基于嵌入率和图像恢复的质量而言的,然而,在一味追求嵌入率的情况下就会导致弱化安全性,从而违背本研究领域的初衷。因此算法的评价应该首先考虑安全性,其次才是嵌入率。

猜你喜欢

密文直方图解密
解密电视剧 人世间
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
嵌入式异构物联网密文数据动态捕获方法
炫词解密
炫词解密
炫词解密
一种新的密文策略的属性基加密方案研究
用直方图控制画面影调
例析频率分布直方图