APP下载

一种安全的无载体纹理合成信息隐藏方案

2019-06-17杜耀刚王泽豪张艳硕

计算机应用与软件 2019年6期
关键词:补丁密钥纹理

杜耀刚 王泽豪 赵 耿 张艳硕

1(西安电子科技大学通信工程学院 陕西 西安 710071)2(北京电子科技学院 北京 100070)

0 引 言

无载体信息隐藏是一种全新的概念,它是指不对载体本身进行修改而完成信息隐藏的各种技术的统称[1],是当前研究的热点。基于样图的纹理生成技术,是指根据小面积的样本纹理特征,合成大面积的输出纹理,并保证合成结果与输入样图在视觉上的相似性[2-3]。将纹理合成技术和信息隐藏的结合,是一种新的无载体信息隐藏技术思路。该技术由Otori和Kuriyama采用逐像素生成纹理的方式首次提出[4-5]。但是,Otori等的方案存在计算量大和提取误码率等缺陷[6]。为此Wu等提出了一种基于块拼贴的纹理合成信息隐藏方案[7]。该方案将每一个候选块分为内核和外围两部分,比较待拼接的重叠区域与所有候选块对应区域的均方误差(MSE)并排序。秘密嵌入时,就取对应MSE排名的候选块进行纹理缝合。

文献[7]方案相比文献[5]方案的主要优点是隐藏容量大,同时由于采用块拼接而非逐像素合成,因此合成效率高,合成效果好。随后,Zhou等提出一种针对文献[7]方案的攻击方法[8]。其中指出,由于该算法在生成小的拼贴块时,进行了大量的镜像操作,且在生成纹理中嵌入了原样本纹理图像,因此攻击方可根据得到的大幅纹理图像,从中恢复出样本纹理图像,然后再重新模拟文献[7]方案过程,进而破解出秘密信息。鉴于此,为有效阻止Zhou等对文献[7]方案的破解,本文提出一种安全的无载体纹理合成信息隐藏方案,主要通过在样本纹理中利用有限整数网格上拟仿射变换(Quasi-Affine Transformation on Limited Integer Grids,QATLIG)添加干扰块的方式来进行反破解。该方案使得即使攻击方成功恢复出原样本纹理,也无法具体得知究竟哪些块隐藏了信息,从而无法得知真正的秘密信息。

1 有限整数网格上的拟仿射变换

1.1 定 义

当c=0时,有:

(1)

当c≠0时,有:

(2)

(3)

(4)

(5)

1.2 应 用

QATLIG常被应用于图像置乱领域。其置乱效果良好,经过两次迭代之后,即可将原图像的各种灰度值均匀地分布到图像各区域中。相比于传统的图像置乱算法,如Arnold[10]变换,其更突出的优点在于其应用于图像置乱时置乱周期很大[11]。

表1显示了不同图像尺寸N下Arnold变换的周期TNA和QATLIG的周期TNQ对比,可以看出,QATLIG置乱周期要远大于Arnold变换。随着图像尺寸的增加,QATILG的置乱周期可增加值十万至亿级不等,这使得置乱图像被暴力破解所付代价巨大。这也说明QATLIG在置乱方面具有很好的安全性。

表1[9] 不同图像尺寸N下Arnold变换的周期TNA和QATLIG的周期TNQ对比

因此,本文利用QATLIG这一优点,对标记有源补丁块坐标的索引表进行置乱变换,以此来确定干扰块的位置。这使得干扰块的具体位置坐标更加隐蔽,难以被攻击方破解。

2 一种安全的无载体纹理合成信息隐藏方案

2.1 参数定义和隐藏原理

本文采用基于样图的纹理生成技术,选择块拼贴方式进行无载体信息隐藏。一张样本纹理图像的大小为Sw×Sh,被均等分为Kw×Kh的子块的纹理图像。样本子纹理块需要经过扩张步骤来最终生成源补丁块spn,对于处在样本纹理块边缘的核心区域,需要经过镜像步骤来进行扩张, 四条边的扩张深度均为Pd。这使得源补丁块由核心区域和边界区域组成,其中核心块大小为Kw×Kh,边界深度为Pd。设源补丁块大小为Pw×Ph,则Pw=Kw+2Pd,Ph=Kh+2Pd。令SPn表示源补丁块的个数,则有:

(6)

候选块(candidate patch),是指隐藏信息时要选取的纹理块。所有的候选块可以视作大小为Pw×Ph的滑动窗口,在样本纹理图像中按扫描线顺序逐像素移动所截取的纹理块的集合,令CPn为候选块的个数,则有:

CPn=(Sw-Pw+1)×(Sh-Ph+1)

(7)

信息的隐藏主要借助于块与块之间的重叠区域来进行。在本文方案中,假设要粘贴的位置不属于干扰块位置,则计算重叠区域已合成纹理部分,同每一个候选块之间的均方误差MSE(mean square error),然后排序。信息隐藏中,需要根据具体的秘密信息,选择候选块中MSE排名相同的特定候选块进行粘贴,边界利用Image Quilting技术[12]进行处理。即,若秘密信息为(1010)2,则取MSE排名为10的候选块进行缝补,以实现无载体信息隐藏。因此,可以得到每一个重叠区域的隐藏容量BPP(bit per patch)的最大值计算公式为:

BPPmax=└log2[(Sw-Pw+1)(Sh-Ph+1)]┘

(8)

2.2 隐藏方案流程

2.2.1方案思想

文献[8]方案中,用wp表示图像重叠区域的相似度,并通过对wp的收集分析,来恢复出样本纹理块,然后模拟纹理合成的过程,得到秘密信息[8]。为了抵御这种攻击,我们在合成纹理的过程中缝补进一定数量的干扰块,这些干扰块不隐藏任何信息,具体位置的选取由源补丁块的位置通过QATLIG来置乱生成。接收方只有通过密钥才能求解出干扰块的具体位置。而攻击方由于没有密钥,即使恢复出了正确的大幅纹理图像,但不知道具体哪些块包含了信息,因而无法得出正确的秘密信息。

本文方案改进点主要在于密钥生成、构图图像生成和秘密嵌入与解密。下面依次进行介绍。

2.2.2密钥生成

密钥分为两部分,一部分为索引表,一部分为选取的QATLIG变换系数(a,b,c,d,e,f)。索引表是一张标记了样本纹理图的源补丁块位置的矩阵。矩阵大小即为最终合成纹理图的尺寸。索引表的生成过程,就是在该矩阵上随机选取源补丁块分布坐标的过程。设样本纹理图被平均分为n×n个源补丁块,空索引表可由M×N个纹理块儿拼接而成,则有:

2n2

(9)

步骤一,在大小等同于最终合成纹理图尺寸的空矩阵上利用随机数生成子随机选择n×n个坐标进行标记。坐标的选取首先不能处于边界,其次需要保证其在经过QATLIG变换之后,不与任何一个原坐标重复。步骤一之后生成的矩阵即为索引表。图1即为当n=3、M=N=14,QATLIG系数为式(10)时,经过步骤一之后的索引表,图中标记0到8的灰色位置,即为源补丁块分布坐标。

{a=9.484 911 375 854 560 4e+002,

b=1.332 291 989 182 476 8e+004,

c=5.781 391 478 243 333 9e+003,

d=8.120 794 541 527 764 5e+004,

e=1.615 675 500 285 716 2e+002,

f=2.275 588 209 982 666 7e+003}

(10)

图1 索引表示意图

步骤二,根据QATLIG变换系数(a,b,c,d,e,f),对步骤一中选择的源补丁块坐标进行QATLIG变换,变换之后的坐标作为干扰块的位置。图2颜色最深的位置即为图1索引表在经过QATLIG变换之后寻找到的干扰块位置。如当变换系数c≠0时,坐标(9,12)即为坐标(2,4)经过式(2)变换之后得到的干扰块坐标。

图2 干扰块坐标位置示意图

上面两个步骤完成之后,我们将索引表和QATLIG变换系数作为密钥由信息接收方保存,留待解密使用。

2.2.3构图图像生成

在经过上一节密钥生成阶段之后,源补丁分块位置已经确定。本步骤就是将样本纹理图分割,然后按照索引表标注,将源补丁块SPn缝补在相同尺寸画布上的对应位置,干扰块位置不做任何处理。图3所示为源补丁块个数SPn=9时的分布示例,方框标记处为干扰块位置。

图3 构图图像的生成示意图

2.2.4秘密嵌入和解密

在经过以上两步之后,我们得到了粘贴有源补丁块和标记了干扰块位置的构图图像。接下来就是根据秘密信息,将空余部位用相应候选块进行缝补。

在秘密信息嵌入时,需要不断地计算重叠区域和所有候选块之间的MSE并排序,然后将秘密信息值和排序进行比对,选取有着与秘密信息值相等的排序顺序的候选块进行缝补拼接。拼接过程采用扫描线顺序进行(从上到下,从左到右),遇到干扰块,则随机从候选块中选择一块进行缝补拼接,直至整个画布被缝补完毕。

在接收方一端,解密前需要首先利用密钥计算出干扰块的具体位置,然后忽略掉这些位置上的纹理块,随后的解密过程参考文献[7]方案进行。

3 实验及分析

3.1 破解概率分析

当采用文献[8]方案对本文改进方案进行破解时,只有成功破解出干扰块的具体位置才意味着能解析出正确的秘密信息。而由于QATLIG变换的引入,使得攻击一方在不掌握密钥的前提下,只能通过暴力破解来试图获得干扰块的位置坐标。因此,在合成图像的分块个数为M×N,源补丁块个数为n×n的前提下,干扰块位置坐标被成功暴力破解的概率为:

(11)

表2为当n=3时,不同M×N所对应的概率。

表2 不同M×N对应暴力破解概率

由表2可见,即使在满足2n2

3.2 隐藏容量分析

本文所述方案由于干扰块的添加,导致隐藏容量有所减少,但减少量非常微小。表3所示为不同样本纹理大小,不同源纹理块,不同最大隐藏容量条件下的隐藏容量对比,其中EPn表示嵌入信息的块(embeddable patch)的个数,TC(total capacity)表示总的隐藏容量,即TC=EPn×BPP。表3中的容量占比即为本文TC占文献[7]方案TC的百分比。

表3 本文方案对文献[7]方案隐藏容量占比

由表3可知,本文方案相比文献[7]方案,隐藏容量减少约1.46%~7.11%,处于可以接受的范围之内。

3.3 生成图像质量对比

由于本文方案只是在原方案中添加了干扰块,因此生成图像质量应该不受影响。为更直观地进行对比,本文选取三种纹理图案:peanut、corn和brick wall来进行实验,实验结果分别对应表4、表5和表6。其中每一种纹理块又分别进行隐藏容量BPP=5 bit和BPP=10 bit的两组对照实验。对于BPP=5 bit实验组,实验样本纹理大小为Pw×Ph=64×64;对于BPP=10 bit实验组,实验样本纹理大小为Pw×Ph=96×96。两组实验的纹理重叠宽度均为Pd=8,生成的大幅纹理图像尺寸均为1 008×1 008,选用的QATLIG系数如式(10)所示。

表4 peanut纹理两种方案效果对比

表5 corn纹理两种方案效果对比

表6 brick wall纹理两种方案效果对比

为了进行图像质量的量化对比,我们用重叠区域的均方误差(mean squared error of the overlapped area,MSEO)来衡量图像质量。MSEO值越低,就代表合成纹理在重叠区域有着越高的图像质量。MSEO的计算公式如下:

(12)

MSEO值可以在纹理合成的过程中逐步生成。上述实验条件下,MSEO值的对比如表7所示。

表7 三种纹理不同BPP下的MSEO值对比

由表7可以看出,无论是何种纹理,何种隐藏容量,本文方案与文献[7]方案最终的纹理合成质量都几乎没有差别。

4 结 语

本文基于有限整数网格上的拟仿射变换(QATLIG),提出了一种安全的纹理合成无载体信息隐藏方案。该方案改进文献[7]方案,通过增加新的密钥,增加干扰块来抵抗文献[8]的攻击方案,同时还能抵御暴力破解。由于QATLIG变换有着极大的置乱周期,因此攻击方除非获得密钥,否则很难得出干扰块的具体位置。实验证明,该方案在损失极微小(约1.46%~7.11%)的隐藏容量的前提下,可以生成图像质量无差别的大幅合成纹理图,隐藏的信息被暴力破解的概率极低(远小于10-5)。本文在更安全,更具鲁棒性的无载体信息隐藏方向上提出了一种新的技术思路。

猜你喜欢

补丁密钥纹理
补丁
幻中邂逅之金色密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
基于BM3D的复杂纹理区域图像去噪
肺纹理增多是病吗?
健胃补丁
绣朵花儿当补丁
Android密钥库简析
TEXTURE ON TEXTURE质地上的纹理