符合学术规范的学术服务

定长编码和哈夫曼编码的密文域可逆信息隐藏

分类:计算机职称论文 时间:2022-04-14

  摘 要: 目的 密文域可逆信息隐藏是一种可以在加密图像中嵌入秘密信息、保证秘密信息可以无错提取以及明文图像可以无损恢复的技术,越来越受到研究者们的关注,并广泛应用于云服务器端的用户隐私保护。 针对密文域可逆信息隐藏算法中嵌入率不高的问题,提出一种联合定长编码和哈夫曼编码的密文域可逆信息隐藏算法。方法 使用定长编码与哈夫曼编码相结合的分组编码方式对原始明文图像高位平面进行压缩,通过重排列将空出空间排放在低位平面中,并使用流密码加密重排后的图像。 然后将秘密信息嵌入密文图像低位平面的空出空间中。 合法接收方可分离地实现秘密信息的无错提取以及原始明文图像的无损恢复。 结果 实验结果表明,所提算法的嵌入率在 UCID(an uncompressed color image database)、BOSSBase(Break Our Steganographic System)和 BOWS-2 (Break Our Watermarking System 2nd)这 3 个数据集上达到 2. 123 4 bit / 像素、2. 410 7 bit / 像素和 2. 380 3 bit / 像素, 分别比同类算法高出 0. 246 6 bit / 像素、0. 088 1 bit / 像素和0. 135 6 bit / 像素。 结论 所提算法利用自然图像相邻像素间的相关性,对具有比特连续性的高位平面进行编码、压缩,从而为秘密信息的嵌入腾出更多空间,提升了嵌入率。

定长编码和哈夫曼编码的密文域可逆信息隐藏

  关键词:可逆信息隐藏;密文域;定长编码;哈夫曼编码;分离的

  0 引 言

  数字图像可逆信息隐藏( reversible data hiding, RDH) 是一种将秘密信息嵌入图像,接收方可以根据 密 钥 提 取 秘 密 信 息 并 恢 复 原 始 图 像 的 技 术 (Zhang,2013;王继林 等,2018)。 对于军事、医疗和法律等极为重视数据安全的领域,RDH 技术至关重要。 随着云存储和云计算技术的发展,大量私密数据被上传并存储在服务器端。 为了保护用户隐私, 在用户数据上传服务器之前,需要进行加密处理。由此,密文域的可逆信息隐藏(reversible data hiding in encrypted images,RDHEI)技术受到了广泛关注。 RDHEI 技术具体包含 3 方面:内容拥有者、信息隐藏者和接收者。 内容拥有者即原始图像所有者在将明文图像发送到云端之前对其进行加密。 信息隐藏者即云管理者在不知道图像的原始内容或用于加密图像的密钥的情况下,可以在加密的图像中嵌入秘密信息。 接收者可以根据加密密钥和隐藏密钥完全恢复原始图像并无误提取秘密信息。

  一些 RDHEI 技术中,接收方的秘密信息提取与原始图像的恢复是同时进行的( Zhang,2011;Zhou 等,2016),应用比较局限。 研究者提出分离的密文域可逆信息隐藏算法,实现了可分离的信息提取和图像恢复,对于用户隐私保护和云数据安全与管理具有重大意义。 RDHEI 技术虽然保证了图像的安全性,但加密导致图像的冗余度降低,其载荷量要低于明文域的 RDH 技术。 目前的可分离 RDHEI 技术关注如何更大程度压缩明文图像或密文图像,根据压缩空间在信息隐藏过程中出现的次序, 可将 RDHEI 技术分为 3 类。

  第 1 类 RDHEI 技术是在图像加密之后腾出空间(vacating room after encryption, VRAE),即直接对密文图像进行压缩以嵌入秘密信息。 这种方法保证了内容拥有者和数据隐藏者功能相分离,应用比较广泛,但由于密文图像的冗余度低,很难获得较大容量的空余空间,导致嵌入率比较低。 Zhang(2012) 通过牺牲密文图像的低位平面来嵌入辅助信息和秘密信息,实现了可分离的信息提取和原始图像恢复。 Qin 等人(2018)根据密文图像各分块的平滑程度来使用不同的压缩方法空出空间。 Qin 等人(2019)通过位平面、块和像素置乱的方法对明文图像加密,增强了图像的安全性,并用稀疏矩阵编码的方法对密文图像编码,取得了不错的信息嵌入率。 王继军等人(2020)通过构造遍历矩阵对明文图像进行加密, 对密文图像计算高质量插值图像对应的期望插值, 并构造抛物线引导秘密信息嵌入,保证了载密图像的高质量,同时获得了较高嵌入率。

  第 2 类是在加密的同时腾出空间(vacating room by encryption, VRBE)。 通过设计特殊加密方法(如同态加密),使明文图像加密后仍能保持图像的部分区域相关性,从而使一些高效的 RDH 方法能够直接用在密文图像上。 项世军等人(2016) 使用同态加密的方式对明文图像加密,在保证图像安全性的同时保持了密文图像的部分区域相关性。 Xiao 等人(2017)在同态密文图像上使用像素值排序,获得了较好的性能。 Huang 等人(2016)对明文图像中每个分块使用同一个字节的加密密钥,即每一分块中的所有像素均采用相同的加密密钥,以此来保证密文图像的各分块中仍能保持区域相关性。 Yi 和 Zhou(2019)提出了一种参数二叉树标记算法,充分利用图像分块内的局部相关性,取得了较高的嵌入率。 Fu 等人(2019)使用块置换和流加密的方式加密图像,保留了各分块的冗余度,数据隐藏者使用哈夫曼编码压缩密文图像高位平面,进一步提升了信息嵌入率。

  第 3 类是在加密之前预留空间( reserving room before encryption, RRBE)。 由内容拥有者对明文图像进行压缩,腾出空间后再进行加密,这种方法充分利用了明文图像的空间相关性, 极大地提高了 RDHEI 技术的嵌入率。 Ma 等人(2013)将明文图像各分块分为平滑类和非平滑类,将 RDH 算法用于平滑的块,空出的空间用非平滑块的低位平面填充,非平滑块空出的空间用于嵌入秘密信息。 Yi 和 Zhou (2017)在位平面分块中的 0 或 1 的个数较少的时候,只保存该分块的类别和其中 0 或 1 的个数信息, 空余空间用于嵌入秘密信息。 袁源等人(2019) 在 Yi 和 Zhou(2017) 的基础上,充分利用了相邻位平面之间的相关性,通过相邻位平面的异或操作来减少其冗余度,得到了较大的嵌入空间。 还有不少算法均采用像素预测和存储预测误差的方法空出空间。 Puteaux 和 Puech(2018a)对明文图像最高位平面进行预测,嵌入率不超过 1 bit / 像素。 Puyang 等人(2018)在 Puteaux 和 Puech(2018a)的基础之上预测两个高位平面,将嵌入率提升到 1. 3 bit / 像素左右。 Puteaux 和 Puech(2018b)进一步充分利用明文图像的相关性,预测所有位平面,将嵌入率提升到 1. 8 bit / 像素左右。 Wu 等人(2020)基于 Yi 和 Zhou (2019)的参数二叉树标记算法,将其应用在整个图像上,充分利用了明文图像的相关性,较大程度提升了信息嵌入率。 Yin 等人(2020)使用 MED(median edge detector)方法对像素进行预测,并使用哈夫曼编码记录预测值与原始值出现差异的最高位平面位置,空出了较大空间。 Chen 和 Chang(2019)利用扩展的行程编码对明文图像的前 5 个高位平面进行压缩,并通过位平面重排列将空出的空间排放在 3 个低位平面中,分离的实现了信息无错提取与原始图像无损恢复,并取得了较高的嵌入率。

  本文基于 Chen 和 Chang(2019)提出了一种定长编码和哈夫曼编码相结合的高位平面编码方案, 使用哈夫曼编码代替 Chen 和 Chang(2019)中扩展行程编码的定长码字编码,同时变长码字编码也不再使用其长度商和余数的组合,而是使用定长编码。基于该编码方案设计出一种 RRBE 的 RDHEI 算法。提取原始图像的高位平面并将其分块,提取出每一分块的比特流。 根据高位平面比特流中相同比特的长度进行编码:对于相同比特长度较短的比特串进行哈夫曼编码;对于相同比特长度较长的比特串进行定长编码,将图像低位平面的比特流填充到高位平面压缩后的空出空间中。 然后对图像进行加密, 并将秘密信息根据隐藏密钥嵌入密文图像腾空的低位平面中。 在接收方可以仅利用隐藏密钥提取载密图像低位平面中的信息并解密成原始秘密信息,也可以仅使用 图 像 加 密 密 钥 恢 复 原 始 明 文图像。

  1 联合编码

  对于灰度图像的 8 个位平面,高位平面代表图像的轮廓特征,体现着图像的区域相关性,所以明文图像的高位平面相邻比特相关性很强(如图 1 位平面 8 所示)。 相比之下,低位平面对像素值的影响较小,其随机性强(如图 1 位平面 1 所示),若对其进行编码压缩,不仅不能获得较大的压缩空间,还会增加过多的额外比特。 所以本文算法只对前 5 个高位平面进行压缩,而后 3 个低位平面不做压缩,对各高位平面中相同比特较长的连续比特串进行定长编码,对相同比特长度较短的比特串进行哈夫曼编码。由于自然图像高位平面的空间相关性,由高位平面扫描而成的比特流大多较为连续,上述组合编码能够充分利用这个特性,对高位平面比特流进行压缩能够腾出较大的空间。

  1. 1 分块扫描

  对高位平面进行分块,可以充分利用图像的局部相关性,提取出更为连续的比特串。 本文算法采用了 Chen 和 Chang(2019)中(如表 1 所示)的 4 种分块扫描方式,将位平面转换成比特流。

  如图 2(a)所示,选取一个 4 × 4 的高位平面,块大小为 2 × 2 ,图 2(b)为表 1 中 4 种扫描方式得到的对应比特流。

  1. 2 编码方案

  为了充分利用扫描得到的比特流的比特连续性,设计了一种联合编码方案:短比特串的哈夫曼编码与长比特串的定长编码相结合。

  1. 2. 1 短比特串的哈夫曼编码

  用 Ls 来表示短比特串的长度,当比特流中相同比特的长度 L 小于 Ls 时,继续选取后 Ls - L 位比特构成一个长度为 Ls 的比特串。 当比特流末尾的串长度不足 Ls - L 时,通过补 0 将其扩展为长度为 Ls 的比特串。 统计高位平面中短比特串出现的概率, 使用哈夫曼算法对该类短比特串进行编码,并在码字前添加前缀(flag = 1)组成短比特串的编码,其中前缀 flag = 1 用来表示该组编码属于短比特串编码。

  哈夫曼算法根据短比特串所出现的概率对其进行变长编码,由此构造出一个平均编码长度最短的编码表。 如短比特串长度为 2,有 00、01、10、11 共 4 种串,若其出现的概率依次为 0. 1、0. 1、0. 3、0. 5,根据哈夫曼编码,出现概率越大的比特串采用越短的码字,编码如图 3 所示。 这 4 种比特串分别对应码字 110、111、10、0,该编码表的平均编码长度为 1. 7, 小于原始的编码长度 2。

  在图 1 所示的位平面中,选取 Ls = 3 ,统计前 5个高位平面中长度为 3 的短比特串所出现的概率, 其中 000 和 111 视为长比特串,将在定长编码中介绍。 表 2 为其短比特串对应概率和哈夫曼编码。 哈夫曼编码属于前缀编码,在解码过程中可以按比特流顺序扫描,当遇到前缀 flag = 1 时,表明该组编码为短比特串的哈夫曼编码,此时根据哈夫曼编码表依次扫描,直到与编码表中某一码字完全匹配时停止,该码字对应的短比特串即为原始比特串。

  1. 2. 2 长比特串的定长编码

  当相同比特的长度 L 大于等于 Ls 时,对该连续比特串用定长编码,如图 4 所示。 flag 表示编码的类别,这里 flag = 0 表示该组为长比特串的定长编码,tail 表示比特串为连续的 0 或 1。 中间 Lfix 位用来表示比特串长度 L 的二进制码,当 log2 L 超过 Lfix 时使用多组编码。 如 L = 40 = (101000)2 , Lfix = 4 时,使用 log2 L / Lfix = 2 组编码,将 L 的二进制长度扩展为 2 × Lfix = 8 位 (00101000)2 ,第 1 组中间 Lfix 位为0010,第2 组中间 Lfix 位为1000,两组 flag、tail 均相同。 解码时根据相邻组的 flag、tail 是否相同来确定是否表示同一比特串,将表示同一比特串的相邻分组中间四位拼接起来,即为该串长度 L 的二进制码。

  图 5 展示了图 1 中位平面 4 长度为 64 的比特流的编码过程(其中短比特串的哈夫曼编码表由表 2 所示)。

  2 联合编码的 RDHEI 算法

  本文提出的联合定长编码和哈夫曼编码的密文域可逆信息 隐 藏 算 法 结 构 如 图 6 所 示。 根 据 RDHEI 技术中的 3 方分为 3 部分,高位平面压缩与图像加密、信息隐藏、信息提取和图像恢复。 原始图像所有者对高位平面采用分块扫描得到比特流,对比特流中连续长比特串进行定长编码,对短比特串进行哈夫曼编码,从而腾出较大空间,通过重排列将空出空间排放在低位平面中,并使用流密码加密重排后的图像。 信息隐藏者利用隐藏密钥将秘密信息嵌入密文图像低位平面已空出的空间中。 在接收方,可以通过隐藏密钥进行秘密信息提取,通过加密密钥对原始明文图像进行无损恢复。

  2. 1 高位平面压缩与重排

  本文算法中的编码方案针对前 5 个高位平面进行编码压缩,在随机性强的低位平面编码压缩率较低,且会增加过多的额外比特,故后 3 个低位平面不做编码处理。 压缩后的位平面重排列基于 Chen 等人(2019)的重排列方案,添加了辅助信息 Lfix 和 Ls 以及哈夫曼编码表信息。 图 7 详细给出了对图 1 中位平面压缩编码和重排列的具体过程。 首先在最高位平面(位平面 8)的开始位置存储辅助信息,包括块大小 ( 4 位)、 压 缩 的 位 平 面 数 量 ( 3 位)、 Lfix (3 位)、 Ls (3 位)、哈夫曼编码表(29 位)。 其中哈夫曼编码表按照短比特串依次存储码字,以 011110 为分隔符(在图 7 中,为更好展示,使用更短且与码字无冲突的 0110 为分隔符),各码字中每连续 3 个 1 后添加一个 0,从而防止码字与分隔符冲突,解码时依次寻找分隔符,分隔符之间的比特串即为对应短比特串的码字,通过删去各码字中 3 个连续 1 后的 0 得到正确的码字。 所有经过压缩的高位平面, 均需两个比特存储该位平面的扫描类型(Type1:00, Type2:01, Type3:10, Type4:11),用 log2 (mn) = 6 位比特( m = 8,n = 8 为原始图像的尺寸)表示该高位平面压缩后的比特流长度 Lc ,接着后 Lc 位比特存储该高位平面压缩后的比特流。 压缩后的高位平面剩余的比特位则用低位平面填充。 在最低位平面 (位平面 1)中用 log2 (mn) + 2 = 8 位表示空出的空间总大小 Lv ,后 Lv - (log2 (mn) + 2) 位(以位平面 1、2、3 的顺序依次计数)用来嵌入秘密信息。

  2. 2 图像加密

  经过上述压缩和重排后的位平面比特表示为Ii,j,k , i,j 表示位平面的第 i 行第 j 列, k 表示第 k 个位平面,使用流密码对重排后的图像进行加密,用加密密钥 Ken产生一个随机矩阵 Em×n , m,n 为原始图像的尺寸。

  2. 3 信息嵌入

  压缩后的图像经重排列后,空出空间大小信息和空出空间在图像低位平面中,如图 7 所示,在图像加密过程中空出空间大小信息不经过加密。在信息嵌入过程中,首先根据最低位平面中空出空间大小信息计算出用于嵌入秘密信息的空间, 然后使用隐 藏 密 钥 Kh 将 秘 密 信 息 嵌 入 空 出 空间中。

  2. 4 信息提取与图像恢复

  当接收方拥有隐藏密钥 Kh 时,可以直接从载密图像的最低位平面中提取得到空出空间的总大小 Lv ,低位平面后 Lv - (log2 (mn) + 2) 位(以位平面 1、2、3 的顺序依次计数)即为嵌入的秘密信息,然后通过 Kh 解密得到原始秘密信息,从而不需要对载密图像进行解密就可提取出秘密信息。

  当接收方拥有加密密钥 Ken时,可以恢复出加密之前的原始明文图像。 首先通过加密密钥生成随机矩阵 Em×n ,与载密图像做按位异或操作,提取出最高位平面中的块大小、压缩位平面数量、定长编码长度、短比特串长度以及哈夫曼编码表等辅助信息。根据各高位平面中压缩串长度提取位平面的压缩串,即压缩后的比特流,对其解码还原原始高位平面,将高位平面中填充的低位平面还原,从而得到原始图像的所有位平面,即可恢复原始明文图像。

  3 实验结果与分析

  密文域可逆信息隐藏算法的性能可以从有效载荷、错误提取的比特数和重构后的图像质量来评估, 而一般算法都能满足秘密信息的无错提取和原始明文图像的无损恢复,因此有效载荷是密文域可逆信息隐藏的关键评价指标。 为了验证本文算法的有效性,实验选取了 5 幅标准测试图像进行性能测试,如图 8 所示。 同时测试了 UCID(an uncompressed color image database)( Schaefer 和 Stich,2003)、BOSSBase (Break Our Steganographic System)(Bas 等,2011)和 BOWS-2(Break Our Watermarking System 2nd) (Bas 和 Furon,2017) 这 3 个数据集证明算法的普适性。为了定量分析本文算法的性能,使用峰值信噪比 PSNR(dB)和结构相似度 SSIM 两个指标来衡量原始明文图像的恢复质量,选用秘密信息的嵌入率 ER (bit / 像素)作为衡量算法有效载荷大小的关键指标。

  图 9 展示了测试图像在不同短比特串长度和定长编码长度上的嵌入率,选取块大小均为 2 × 2 。 可以看出定长编码长度为 5 时比长度为 4 时嵌入率更高,同时随着短比特串长度的增加,嵌入率出现先增后减的趋势,在 Ls = 7 时图像嵌入率较高。 定长编码长度取决于原始比特流中出现的连续比特的长度,若取值过大,会增加过多的额外比特,影响压缩率。 而短比特串长度过大时,哈夫曼编码对短比特串的压缩效率也会降低。 所以实验中将定长编码长度设置为 Lfix = 5 ,短比特串长度设置为 Ls = 7 。

  图 10 比较了本文算法与同类算法 Puteaux 和 Puech ( 2018a ), Puyang 等 人 ( 2018 ), Yi 和 Zhou (2019),Chen 和 Chang(2019)在测试图像上的嵌入率。 为了获得更好的性能,将 Yi 和 Zhou(2019)算法中的参数设置为 α = 5 , β = 2 ,块大小为 3 × 3 , 设置 Chen 和 Chang(2019)算法中的定长码字长度为 3,块大小为 4 × 4 。 从图 10 可以看出, Puteaux 和 Puech(2018a)算法对测试图像的嵌入率在 1 bit / 像素以下, Puyang 等人(2018) 方法通过替换两个高位平面使嵌入率提升到 1 bit / 像素以上,Yi 和 Zhou(2019)方法和 Chen 和 Chang(2019)方法进一步提升性能,都获得了较好的嵌入率。 本文算法采用定长编码和哈夫曼编码相结合的方式,对图像的前 5 个高位平面进行压缩,块大小选取为 2 × 2 ,定长编码长度为 Lfix = 5 ,短比特串长度为 Ls = 7 。 在测试图像中,除了 Baboon 图像,其余各图像分别较同类算法中最高嵌入率高出 0. 023 5 bit / 像素,0. 051 8 bit / 像素, 0. 159 1 bit / 像素和0. 060 7 bit / 像素。 在 Baboon 图像中,非平滑区域较多,导致比特流中短比特串较多,定长编码压缩效率低,从而秘密信息嵌入率较低。

  更多文献可查看:研究信息隐藏相关领域的论文文献

  为进一步验证本文算法的普适性,将本文算法应用在 UCID、BOSSBase 和 BOWS-2 这 3 个数据集上,同样块大小选取为2 × 2 ,定长编码长度为 Lfix = 5 ,短比特串长度为 Ls = 7 ,测试结果如表 3 所示。本文利用前 5 个位平面进行压缩,空出空间经过重排列排放在 3 个低位平面中,因表示空出空间大小的比特可忽略不计,故所能达到的最高嵌入率约为 3 bit / 像素,此时高位平面压缩出的空间不小于3个。——论文作者:吴友情1,2 ,张睿灵1 ,汤进1 ,殷赵霞1∗

全学科期刊推荐 中英文发表指导

* 稍后学术顾问联系您

学术顾问回访> 详细沟通需求> 确定服务项目> 支付服务金> 完成服务内容

SCI期刊

国际英文期刊

核心期刊

国外书号出书

国内纸质出书

2023最新分区查询