VRAE
一、研究背景
1、封面图象以像素为单位进行加密,破坏了相邻像素的相关性,不能再用来腾出空间嵌入数据。
2、通过引用预测误差的RDHEI方法,所有像素被分为合格集合和禁止集合,通过密钥从合格集合中伪随机地选择若干像素,进行数据嵌入。这种伪随机选择像素进行信息隐藏的模式使得不同的数据隐藏密钥会产生不同的嵌入容量。另外这种方法不能将恢复图像和提取信息进行分离,需要在图像解密之后提取秘密信息。
二、方法概括
首先以逐块方式加密覆盖图像,使得块内像素的相关性被保留。接下来,所有的块被排列以完成最终的加密。
在数据嵌入过程中,块内左上角的像素用于预测其他像素,从而腾出嵌入空间。然后,选择可用的块,并重新排列所有的块,以确保可逆性。
合法接受者根据拥有的不同密钥进行解密获得信息。
三、方法流程
A图像加密
1、块级流加密
首先将原始图像进行非重叠分块处理,每一个块的大小为
,所有像素块的数量
可以计算为
然后将所有像素转化为8为二进制:
其中是块的索引,
是块内按行对像素的索引,
是转化为8位二进制之后对每一位的索引,即
表示,位于
块的第
个像素的第
个bit位。
接着使用加密密钥生成一个大小为的伪随机矩阵,将矩阵内的所有元素分解成8位二进制。
最后,根据生成的伪随机矩阵对原始图像进行流加密操作
根据公式可得,块内的像素使用同一个序列进行加密。
但是,块级加密使得每个加密块与原始图像具有高度相似的复杂性,通过复杂性分析在一定程度上可以揭示图像内容。因此,还需要加密得第二步块置换操作。
本文进行的复杂性过程如下:
首先,将加密后的图像分成
大小的非重叠块。对于每个块,首先计算由
表示的所有像素的平均值。
接下来,计算每个像素与
之间的差。对于所有差异小于等于预定义阈值的平滑块,像素都变为255。对于其他块,所有像素都变为0。
以Lena图像为例,设定阈值为10,进行复杂性分析结果如图:
(a)原始图像(b)加密的原始图像(c)复杂性分析
2、块置换
对经过第一阶段得块内元素流加密之后,再将图像分成大小的非重叠块,使用加密密钥进行块置换,生成最终的加密图像。再次使用复杂性分析发现难以获得原始图像信息(c),所以加密是有效的。
B自适应MSB预测(AMP)
信息隐藏者接收到加密图像之后需要腾出空间进行数据嵌入。
将图像分成 的不重叠像素块,所以每个像素块拥有4个像素(被分成八位,也就是用二进制来表示),将它们标注为
,如图所示。
用于预测
,并用作像素数据载体。
根据上式分别获得三个变量 ,其中
返回的是
从高位到低位【从左到右依次为87654321位】索引首个不同表示的所在位置。举个例子:
从高到低索引,发现()内的不同,其位置属于第五个位置,故dif=5。
获得之后,可以计算
的值:
得到的值之后,将其分解为三位【12345678的八个位置依次表示为000-111】。
表示
的预测误差 =
LSBs
然后就可以重构像素位:
其中占8位(保留预测像素的像素值)、
占3位(指示多少位是相同的信息),
总共占
,
占
,总共是32位。
所以可以将所有的像素块分为四种,第一种空出的空间被辅助信息填满,第二种误差为0
腾出大量的空间,第三种根据相同的位置
确定腾出的空间,第四种
不能嵌入,如图:
表示第一个位置,所以表示为000,一个的预测误差就占了
=7个LSBs,总共就是3×7=21位,所以嵌入空间为0.
,最后一个位置表示为111,意味着此像素块所有的像素值都相同,预测误差为0,所以可以嵌入3×(8-1)=21bit的信息
,md第五个位置表示为100,预测误差就是
个LSBs,共占9个,所以能够嵌入12bits。
,这种类型的像素块将从数据嵌入中排除。
C数据隐藏
首先将图像分成 的不重叠像素块,选择
的像素块作为可用块进行信息嵌入。同时为了将这些嵌入数据的块与其他的块分开,生成一个大小为
的二进制矩阵作为可用块的位置映射【目的确保可逆】。1表示可用,0表示不可用。
然后进行块重新排列,可用块按照栅格扫描顺序收集,不可用块按照逆向栅格扫描顺序收集。如图
(a)原始图像对应的块的顺序(b)位置映射,标记的可嵌入和不可嵌入块(c)A可用块集合,B不可用块集合
数据隐藏者使用加密密钥对数据进行加密。然后进行嵌入,通过算数压缩编码压缩位置映射,以及压缩后的长度信息作为辅助信息需要保存到最开始的几个可用块中,剩下的位置嵌入加密后的附加数据。
如图,给出一个嵌入附加数据“111”的实例:
进行数据重构后的像素就变成了
53——0011 0101 63——0011 1111 23——0001 0111
D数据提取和图像恢复
恢复图像:被标记的图像被分割成大小为 的不重叠块。对于前几个块,将四个像素分解获得位置映射,从中恢复出P和md,接着是误差和隐藏数据
根据的提示将
进行截断,再和
进行连接,获得了
的值。