加密图片的可逆信息隐藏

  • 1.背景介绍
  • 2. 加密后腾出空间VRAE
  • 3. 加密前预留空间RRBE
    • (1)生成加密图像
    • (2)加密图像的信息隐藏
    • (3)信息提取和图像恢复
  • 4. 基于可逆图像变换RIT
    • (1)块匹配
    • (3)转换过程
    • (4)信息提取图像恢复过程
  • 参考文献

19年暑期课程作业,自己的作品部分,整理了一下。 同时会上传自己当时写的论文,PPT,演讲稿, 请不要抄袭,不要直接当成作业交,好好学习。


1.背景介绍

为了解决网络环境中存在的安全问题,科学家最早采用加密技术对传输的信息进行加密,通过设计加密算法将要通信的数据按照加密算法进行重新排列,并将置乱后的数据传输出去,接收方必须利用解密算法和正确的密钥才能正确地解密,从而还原出原始的通信数据,加密技术也一直沿用至今。加密技术将秘密信息变换成一些杂乱无章的密文但是也吸引了攻击者,为了克服现有加密算法存在的问题,实现更安全的信息传输,信息安全领域新的分支,能够应用到机密信息保护、版权保护以及安全通信等领域中起到至关重要的作用,所以,信息隐藏技术引起了科研工作者的广泛关注,成为信息安全领域的一个研究热点。
传统的信息隐藏算法,通常只考虑如何提取隐秘信息,而没有考虑如何恢复原宿主信号。 在一些应用场合如医学诊断、法庭举证、艺术作品中,不光需要嵌入隐秘信息对宿主媒介进行保护, 还需要适时地能够无失真地恢复出原始的宿主媒质,传统的信息隐藏算法不能满足其要求。作为信息隐藏技术的一个新的分支,可精确恢复原媒质信息的可逆信息隐藏技术最近正被广泛研究。
可逆信息隐藏主要是指在嵌入信息时,虽然可能会对宿主数据的质量造成一定的破坏,但如果隐藏载体在传输过程没有发生变化,那么合法用户和权威机构在接收端可以根据提取算法提取出隐藏信息,并能够修复失真,实现原始数据的精准恢复。可逆信息隐藏技术与一般的隐藏技术没有原理上的本质区别,但是可逆技术在合法用户得到嵌入信息的过程中,将因信息嵌入而引起的宿主数据失真完全修正。 这种技术在医学、军事、法律证据中有着非常广泛的应用前景。
本章主要综述可逆信息隐藏在加密图像中的应用,以云存储为例,尤其是对于需要较大存储空间的公式化媒体文件,如图像或视频,云存储越来越受欢迎,为了管理这些图像,云服务器可能会在图像中嵌入一些额外的数据,如图像类别和符号信息,并使用这些数据来识别图像的所有权或验证图像的完整性。显然,云服务提供商无权在将数据嵌入外包映像的过程中引入永久性失真。因此,需要采用可逆数据隐藏(RDH)技术,在提取嵌入的消息后,无损地恢复原始图像。虽然RDH有助于管理外包的图像,但它不能保护图像内,因此加密图像的可逆信息隐藏也是重要的研究方向,可逆信息隐藏的模型如图2.1所示,秘密信息与密钥K相结合,通过可逆嵌入算法隐藏 到载体中,形成含载密图像,接收端以K为密钥,通过提取算法提取出秘密信息和原始载体图像。

(a)嵌入过程

(b)提取过程 图2.1. 可逆信息隐藏算法模型

现在已经有的在加密图像中信息隐藏实现方法从压缩的角度一般分为两种,VRAE和RRBE。一种是加密后腾出空间(vacating room after encryption, VRAE),一种是加密前预留空间(reserving room before encryption, RRBE)。对于这两种框架,发送者压缩后发送密文给云服务器,这种具有特殊形式的杂乱代码的密文会引起服务器注意,试图挖掘加密用户的信息,假定云服务器对于收集信息有兴趣,那么加密的信息对云服务器更有吸引力。还有第三种就是利用可逆图像变换(reverse image transform , RIT)实现加密图像可逆信息隐藏(Reversible Data Hiding in Encrypted Images, RDH-EI)。主要是利用将原始图像的内容转换为具有相同大小的另一个目标图像的内容。转换后的图像用作“加密图像”,发送给云。
本章第二节主要介绍VRAE框架的几种经典实现,第三节介绍RRBE的实现,第四节介绍RIT实现加密图像可逆信息隐藏。

2. 加密后腾出空间VRAE

图2.2 VRAE框架模型 如图2.2所示,在这种框架中,内容拥有者(content owner)首先将原始的图像使用一个密码加密,生成加密图像,之后内容拥有者将加密图形送给第三方信息隐藏者(data hider例如数据库管理者,云服务器等),信息隐藏者利用预留的空间将一些信息无损的嵌入加密图像中,并持有一个信息隐藏秘钥,最后接受者(receiver),可能是内容所有者本人或者其他第三方平台可以通过信息隐藏秘钥提取嵌入的信息,进一步通过加密秘钥解密加密的图像得到原始图像。 本节内容将简单阐述三种实现方法,加密过程都是利用流密码对8位灰度图像的每个位平面进行加密生成加密图像。方法一将加密的图像分割成若干个a*a的不重叠的块,每个块用于携带一个额外的位。为此每个块中的像素根据信息隐藏秘钥被伪随机分成两个组S1和S2。如果要嵌入的附加位等于0,那么翻转S1中每个加密像素的3个LSB, 否则翻转S2中加密像素的3个LSB。对于数据提取和图像恢复,接受者将S1中所有加密像素的3个LSB,形成一个新的解密块,对于S2中的所有像素同样翻转形成另一个新块,他们之一将被解密为原始块,由于原始图像的空间相关性,原始图像会比干涉块平滑得多,根据这个原理相对应的提取出嵌入比特,然后当分割块比较小或者原始图像具有许多精细的纹理时,会存在位提取和图像回复失败的风险。 方法二对方法一进行了改进,通过充分计算每个块的平滑度并采用边皮匹配减少了方法一的误差率,根据两个候选块之间的绝对平滑差降序排序进行信息提取和块修复,并且还可以用于评估没有修复的块的平滑度,这被称作边匹配(side match)。 方法三使用伪随机排列,将加密图像分割成大小为L的若干组,每个组的P个位平面使用奇偶校验矩阵被压缩,空余空间将用于嵌入数据。假设任意一组像素为x1,x2,…,xL, 加密原始图像c,它的P个位平面一共包括P·L位。数据隐藏者生成一个奇偶矩阵G大小为(P·L-S)×P·L,压缩c得到重要标志s,s = G·c,s的长度为(P·L-S),所以S位就空余出来可以进行信息嵌入。至于接受者,8-P最重要的位像素(MSB)被提供做解密,然后接受者通过MSB估计相邻的xi,得到估计版本c’,另一方面接受者测试s中的每个满足 Ω(s)={u | G·u=s}的元素,从每一个容器Ω(s)中可以得到一个c的存储版本,然后选择最相近的一个作为存储位面预测试版本c’。

3. 加密前预留空间RRBE

图2.3. RRBE框架模型

如图2.3所示,内容拥有者(content owner)首先预留足够的空间,然后再利用秘钥将原始图像加密,之后进行嵌入,现在,加密图像中的数据嵌入过程本质上是可逆的,因为数据隐藏者(data hider)只需要将数据容纳到先前清空的空闲空间中。数据提取和图像恢复与VRAE基本一致。RRBE实现过程主要分成四个阶段:生成加密图像,加密图像的信息隐藏,数据提取和图像恢复。

(1)生成加密图像

第一阶段主要可以分成三步:图像划分,自我可逆嵌入以及图像加密。原始图像将被分为A和B两个部分,之后A的LSB被可逆的嵌入B,那么A的位空间就可以空余容纳信息了,最后加密重新排列的图像。
① 图像划分
这一步我们的目标是创建一个尽量平滑的B区域,为了执行性能更好的嵌入算法。假定原始图像C,大小为M×N,像素表示Ci,j,设置参数l, 每一块包含m行,因此m = l/N,对于每一块定义一个函数测量光滑度,如下式所示:

函数f值越大,表示对应块的纹理越多,越不光滑,所以我们选择最高的f值的块作为区域A,剩下的相对光滑的块作为区域B。
② 自我可逆嵌入
这一步的目标是将区域A的LSB嵌入区域B中。如图2.4所示,B区域中的像素都被分成两个部分:白色的像素,它的索引值i, j满足(i + j)mod 2=0;黑色的像素,它的索引值i, j满足(i+j)mod 2 = 1(边界像素后面会提到)。每个白色像素Bi,j,我们可以利用周围四个黑色像素插值运算估计它的值如下式所示,

其中Wi表示权重,我们可以计算实际像素和估计值得偏差Bi,j – Bi,j’,得到一个偏差序列。然后根据相同的方法,计算黑色像素和估计值,得到一个偏差序列。总的来说,为了嵌入信息,每一层都会通过这样的计算构造两个偏差序列。

图2.4. 图像划分和嵌入步骤

利用偏差值构造柱状图,首先将其分成两个部分,左边部分和右边部分,分别寻找最高峰值点记做LM和RM,一般而言,LM = -1,RM = 0,再将每个部分的零点记做LN 和RM为了将信息嵌入偏差等于RM的位置,将RM+1到RN-1之间所有的值都向右移动一步。左边部分的嵌入相同,只是移动方向是向左,移动可以通过对应的元素减1实现。
假设我们需要做这种嵌入操作x次去容纳增加信息,在前面的x-1次已经容纳了大部分信息,剩下的第x次可能只剩下少数的信息需要嵌入,所以可能不需要移动峰值到零点之间的所有的值。为了解决这个问题,我们可以定义两个参数LP和RP,通过移动零点和LP,RP之间的值,我们可以将信息嵌入LP和RP而不是峰值,如图2.5是一个示例图,其中LP = -2, RP = 2。

(a)原始直方图 (b)位移后直方图

图2.5 信息嵌入LP,RP(信息长度=1000bits, LP=-2,RP=2)

和其他的RDH算法一样,溢出问题可能会发生在255变成256或者0变成-1的过程中,为了避免这一点,我们仅仅将对应像素为1-254的偏差信息嵌入,但是像素从0变成1以及从254变成255的时候模糊情况还是会发生,这些在嵌入过程中被创造出来的边界像素被称作伪边界像素(pseudo-boundary),为了区分自然边界和伪边界,我们引入一个边界映射地图,它是一个二进制的序列,0表示自然边界像素,1表示伪边界像素,如图2.4所示公式无法计算B区域边界的估计值,为了更好地利用B的边缘,我们将边界映射地图嵌入其中。
③ 图像加密
一个灰度值Xi, j可以被8位二进制表示,Xi, j(0),Xi, j(1),Xi, j(2),Xi, j(3),Xi, j(4),Xi, j(5),Xi, j(6),Xi, j(7),如下

加密位Ei, j(k)可以通过下式计算得到:


其中r i,j(k)是通过秘钥K计算得到的。
最后我们还要在加密版本的A的LSB的前10像素嵌入10位信息,告诉信息隐藏者(data hider)行的数量以及他可以嵌入信息的位平面的数量。

(2)加密图像的信息隐藏

一旦信息隐藏者(data hider)得到加密图像E,即使他没有得到原始图像但他依旧可以嵌入信息。设置参数AE,它是从E的LSB的前10个加密像素。知道他可以修改的位平面和行数量,信息隐藏使用附加信息m替换原有的位平面,最后信息隐藏者根据嵌入结束的位置
设置一个标签m,并且根据隐藏秘钥对m进行加密,最终得到图像E’。任何没有得到隐藏秘钥的人无法提取附加信息。

(3)信息提取和图像恢复

如果数据库的管理者持有隐藏秘钥他可以直接进行关键信息m的提取,在加密图像的基础上当需要新信息时,管理员可以直接通过LSB替换更新嵌入信息,所有的过程都是在加密域上进行的,不会泄露原本的内容。
接受者持有隐藏秘钥和解密秘钥,他可以进一步解密得到原始图像。

4. 基于可逆图像变换RIT

(a)VRAE (b)RRBE © RIT

图2.6. 三种RDH-EI框架比较

图2.6(a)是加密后腾出空间(VRAE),图像所有者(发送者)用密钥k将图像I加密为E(I),云服务器通过压缩加密后的图像E(I)嵌入数据,生成存储在云中的Ew(I)。当获取检索请求时,云服务器将Ew(I)返回给接收方,可能是经过授权的第三方,第三方通过密钥k联合解压解密的过程生成I。复杂性由必须加入解压解密过程才能获得原始图像的接收方承担。
图2.6(b)是预留空间加密,(RRBE),图像所有者(发送者)从图像I中预留空间,并使用密钥k将其加密为E(I),然后将其发送到云服务器,云服务器将数据嵌入预留的空间并生成Ew(I)。Ew(I)存储在云中,云服务器可以从中提取用于管理的数据。当一个授权用户(接收者)想要检索图像,云服务器可以从Ew(I)恢复E (I)并且将E(I)发送到用户,用户可以解开E(I),并且可以使用钥匙K得到I. 复杂度由发送方承担,发送方应为RDH预留空间。
图2.6(c)是基于可逆图像转换RIT,加密图像I通过密钥k被“加密”为另一个明文图像E(I),因此用户的所有图像,无论是否加密,都将以明文的形式存储在云中。云服务器可以使用任何经典的纯文本图像RDH方法将数据嵌入到E(I)中。E(I)可以通过云从水印图像Ew(I)中恢复,并将其发送回反变换的授权用户,用密钥k得到原始图像I。这种方法有两个好处,第一是发送给云服务器的是明文,不会引起云服务器注意,第二是服务器可以使用纯文本图像的RDH方法,将数据轻松嵌入明文图像中。
基于RIT的图像加密实现过程包括三个步骤:块匹配,块转换,关键信息嵌入。
首先,我们将原始图像I和目标图像J分别分割成N个不重叠的块,然后将I和J的块组合一个序列对,如(B1,T1),…,(Bn,Tn),其中Bi为I的原始块,Ti为J的对应目标块,1≤i≤n。经过变换,生成一个类似Ti的Ti’。然后,我们将目标图像J中的每个Ti’替换为Ti,得到转换后的图像J’。最后一步嵌入附加信息,关键信息是从J‘得到I的重点,关键信息会被压缩,被K加密,秘钥K在接收者手中,只有接受者拥有K,可以解密E(I)。

(1)块匹配

为了使变换后的图像J’和目标图像J看起来像,我们需要一些处理计算,首先计算标准差-方差SD如下式,当匹配原图像和目标图像时,我们希望方差相近的两个块进行匹配。

为了进行可逆运算,从转换后的图像J’恢复原图像I,原始块的位置应该记录嵌入图像中,如果有N个块,索引位数将是NlogN,显然N越大,块尺寸越小,那么转换图像的质量越好,但是N会很大,每个块甚至没有这么大的空间保存索引。

图2.7. 海量图片的4*4块方差分布结果 如图2.7是将海量图像进行4*4划分,计算每一块的方差,得到的实验数据方差分布展示,从图中可以看出方差之间分布集中在0附近,随着方差增大,出现的频率也骤减,我们将方差分为两类, 指定一个参数α,根据百分比,划分方差SD数据0到N属于class 0 ,(其中数量比例是α%),另一种为class 1。这种分类方法可以解决刚才索引太大的问题下面通过一个例子说明。

(a)原始图像 (b)目标图像 (c)转换图像

图2.7. 块匹配例子

图2.8 配对结果 如图2.7是一个例子,假设一个图像包含10个块,图(a)是原始图像,图(b)是目标图像,图(c)是转换图像,第一行表示方差表格,第二行CIT表示类表,α= 70,所以我们将原始图像中7个块划分为class0,另外三个划分为class1。在目标图像中,第八块和第九块都是方差5,第八块被标记为class0,但是第九块为class1,因为class0已经有7块了。通过这样的划分,可以得到第二行的CIT序列。配对原则就是原始图像中classi中的第i块就和目标图像中对应classi中第i块。根据配对原则,原始图像第一块和目标图像第四块是匹配的,因为他们都是类1中的第一个块,结果如图2.8所示。 后续的图像T和T’转换操作并不会改变方差,所以目标图像T和转换图像T’有相同的CIT。接收者为了从转换图像得到原始图像只需要知道原始图像的CIT,就可以得到第三行的表格,通过转换得到原始图像。 ## (2)块转换 设原始图像,目标图像,转换图像的序列表示分别为B={P1,P2,…Pn}, T= {P1’, P2’…Pn’}, T’ ={P1’’, P2’’…Pn’’},分别计算B和T的平均值UB,UT。对于T’中每个像素Pi’’=Pi+UT-UB,令△U = UT-UB,为了保证Pi’’属于0-255,并减小△U的范围,定义△U为:

通过计算Pi’’得到转换图像T’。
对每个块旋转β{0,9,180,270}随机选择其中一个角度,旋转减少旋转块和目标块的均方误差。

(3)转换过程

已知输入:原本的图像I和秘钥K
要求输出:加密图像E(I)
①寻找目标图形J,J和I有相同大小;
②将I和J分割为无重叠的4*4的块,假设每个图像包含N个块,计算每个块方差和平均值;
③利用参数α划分方差,分别生成I和J的CIT,根据CIT,将I和J中的块匹配;
④对每一对(Bi, Ti),计算偏差△Ui与B中每个像素相加,旋转任意角度βi,得到转换图形Ti’;
⑤在目标图形J中,将每一个块Ti用Ti’替换,生成转换图形J’;
⑥所有的转换对的△ui和βi以及图形I的CIT,序列压缩,参数α选择一种经典加密算法加密,秘钥K;
⑦将加密的序列作为关键信息,嵌入图像J’,输出加密图像E(I)。

(4)信息提取图像恢复过程

输入:加密图像E(I), 秘钥K
输出:原本图像I
① 提取关键信息,并保存图像J‘;
② 使用秘钥K解开关键信息,然后解压序列得到图像I的CIT,△ui, βi, 还有α;
③ 分割J‘为N个4*4的块,计算每个块的方差,然后根据α生成J’的CIT;
④ 根据图像J和J‘的CIT,重新组合J’的块;
⑤ 对每个块T‘,根据βi旋转T’,每个像素都减去△ui,输出原本图像I。

参考文献

[1] J.Zhou etal.,“Secure reversible image data hiding over encrypted domain via key modulation,” IEEE Trans. Circuits Syst. Video Technol., vol. 26, no. 3, pp. 441–452, Mar. 2016.
[2] Zhang W, Wang H, Hou D, et al. “Reversible Data Hiding in Encrypted Images by Reversible Image Transformation”[J]. IEEE Transactions on Multimedia, 2016, 18(8):1-1.
[3] Ma K, Zhang, Weiming, Zhao, Xianfeng, et al. “Reversible Data Hiding in Encrypted Images by Reserving Room Before Encryption”[J]. IEEE Transactions on Information Forensics & Security, 2014, 3(7):553-562.
[4] X. Zhang, “Reversible data hiding in encrypted images,” IEEE Signal Process. Lett., vol. 18, no. 4, pp. 255–258, Apr. 2017.
[5] 俞春强, 彭琦, 陈艳. 可逆信息隐藏综述[J]. 现代计算机:专业版, 2015(11):68-72.
[6] 高真. 密文图像中的可逆信息隐藏算法研究[D].

Reversible Data Hiding in Encrypted Images by Reversible Image Transformation相关推荐

  1. High Capacity Reversible Data Hiding in Encrypted Image Based on Adaptive MSB Prediction

    论文阅读 题目:<High Capacity Reversible Data Hiding in Encrypted Image Based on Adaptive MSB Prediction ...

  2. 论文简述Reversible Data Hiding in Encrypted Images with Two-MSB Prediction加密图像可逆信息隐藏算法

    一 误差预测所用方法 1.中值预测器 使用中值预测器MED(Median Edge Detector),对图中x的左.上和左上三个相邻像素,预测出x的预测值px. 2.根据预测误差产生的位图(Loca ...

  3. Reversible data hiding

    Reversible data hiding 简介 原理 用途 引用 简介 简单的介绍一下可逆信息隐藏吧,它是信息隐藏的一种,英文名是Reversible data hiding,它是一种保护信息的手 ...

  4. 可逆数据隐藏python实现(Reversible Data Hiding)

    这是一篇针对可逆数据隐藏的经典研究论文(IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY , VOL. 16, NO. 3, ...

  5. Efficient reversible data hiding for JPEG images with multiple histograms modification(论文阅读)

    目录 论文背景 论文贡献 基于未压缩图片的可逆数据隐藏 现有的基于JEPG图像的可逆数据隐藏方法 论文提出的方法 一般论文都是先提出问题后解决问题,所以在阅读一篇论文的时候要清楚论文要解决的问题是什么 ...

  6. Reversible Data Hiding in JPEG Images with Multi-objective Optimization

    基于多目标优化的JPEG图像可逆数据隐藏 摘要: 目前大多数JPEG图像的可逆数据隐藏方法,大多只考虑了rate-distortion,就是给定有效载荷下的图像质量.但是,衡量JPEG图像的可逆数据隐 ...

  7. 信息安全之加密域可逆信息隐藏

    前面四篇文章主要介绍了图像置乱加密的安全性问题,本篇文章介绍一种图像加密算法的应用算法,图像加密域可逆信息隐藏.以文献1为例,介绍一种<基于预测误差分类置乱的图像加密域可逆信息隐藏>算法[ ...

  8. 上海大学计算机学院 教授名录,教授名录

    个人简介: 毕业于上海交通大学计算机系,获工学博士学位.主要研究方向为信息安全.公钥密码学.安全云计算等领域,近期主要关注区块链中的隐私保护问题.发表学术论文50余篇,其中第一作者32篇,SCI检索1 ...

  9. 南京计算机与软件学院,夏志华 - 南京信息工程大学 - 计算机与软件学院

    近期论文 查看导师最新文章 (温馨提示:请注意重名现象,建议点开原文通过作者单位确认) Zhihua Xia, Leqi Jiang, Dandan Liu, Lihua Lu, and Byeung ...

  10. Reversible Attack相关论文阅读

    一.<Reversible Attack based on Local Visual Adversarial Perturbation> RAE(reversible adversaria ...

最新文章

  1. UC伯克利出品,深度强化学习最新课程已上线
  2. Base64编码和解码
  3. PhpStorm中绘画UML
  4. 2018 青岛网络赛C题Halting Problem
  5. 指数型组织形成的 9 大驱动因素
  6. Linux入门之Linux与Windows常见对比
  7. 数学建模matlab实验报告,数学建模实验.doc
  8. java新手笔记18 类比较
  9. Win10升级惹的祸,Oracle服务全没有了,怎么解决?
  10. window10 Embedded 各分支
  11. 什么是区块链BaaS平台?
  12. jpeg图片的exif信息
  13. 以太网UDP协议讲解
  14. STM32|HSE/HSI调频
  15. ”一个馒头引发的血案“|记Mybatis之BindingException异常的产生及解决过程
  16. js-array数组-slice-splice
  17. java程序员秃顶,【本人秃顶程序员】使用Azure Function + Cognitive Services 实现图片自动化审核...
  18. 海康智能分析服务器设置,【胖猴小玩闹】智能门锁与网关: 海康萤石智能门锁的网关分析(三)...
  19. java加壳工具_加壳工具 - virbox加密空间站 - OSCHINA - 中文开源技术交流社区
  20. vue+django2.0.2-rest-framework 生鲜项目(三)

热门文章

  1. java文字格斗游戏
  2. WordPress系列教程(一)----WordPress环境准备与安装
  3. 计算机中 空间局限性(Spatial Locality)与时间局限性(Temporal Locality)
  4. Jquery获取选中 的TR元素 和 子元素td
  5. 【数据结构】(六)树与二叉树
  6. cp 出现 omitting directory
  7. 计算机上平方米的单位,word怎么写平方米 word中平方米的单位怎么打
  8. 为何大数据在国内“雷声大雨点小”
  9. 模模搭古城搭建学习笔记2:基础设施篇
  10. springboot之整合slf4j