APP下载

YASS隐写算法的嵌入容量改进*

2013-08-10胡四军朱婷婷

舰船电子工程 2013年7期
关键词:子块容量载体

胡四军 朱婷婷

(1.南海舰队司令部信息化处 湛江 524000)(2.海军工程大学信息安全系 武汉 430033)

1 引言

信息隐藏是保障内容安全的重要技术,数字隐写和隐写分析作为信息隐藏的两个分支越来越受到人们的重视。隐写将秘密消息嵌入到数字媒体隐藏了“秘密消息正在通讯”这个事实。隐写分析是隐写的对抗手段,通过探测载体统计特征的变化判断隐写是否发生。

基于JPEG的隐写算法由于其广泛的实用性成为研究的 焦 点。F5[1]、Jsteg[2]、Jphs[3]、MB1[4]、OutGuess[5]、StegHide[6]等算法被相继提出,试图在保障安全性的同时提高嵌入容量。Jsteg是频域的LSB方法,直接用秘密信息的比特流与载体图像的DCT系数的最低有效位按顺序进行替换,嵌入容量大但安全性很差;JPHS是Jsteg方法的的改进,选择Blowfish生成随机序列,选择信息的嵌入位置,安全性略微提高;N.Proves在2001年提出了OutGuess隐写方法,该方法通过产生随机序列发生器选择信息的嵌入位置,使用一半的DCT系数隐藏信息,另一半调整直方图,安全性比JPHS有所提高;A.Westfeld在2001年提出了F5隐写方法,该方法采用矩阵编码,提高了嵌入容量和嵌入效率,可有效抵抗统计攻击;Hetzl.S在2005年提出了基于图论的StegHide隐写方法;该方法对信息进行压缩和加密,利用伪随机数发生器在载体上找到一些的像素点,在这个像素集合中用图论匹配算法找出需要做改变的像素对,交换它们的像素值,修改剩下的像素值使其包含隐藏信息,安全性进一步提高;P.Sallee在2005年提出了 MB1隐写方法,该方法将嵌入率系数分为独立同分布的两部分,一部分作为嵌入信息的基准,另一部分用于嵌入信息,嵌入前对信息进行编码,使其和基准部分的系数分布相同,将其嵌入到量化后的DCT系数中得非0的AC系数的LSB中,Fridrich[7]指出MB1是上述几种方法中性能最好的隐写方法,嵌入容量大,安全性较高。尽管设计上述几个JPEG域的隐写方法的出发点不同,但是它们存在两个共同的问题:隐写方法的检测率随着嵌入率的上升而提高,隐写分析者通过Fridrich提出的裁剪方法估计原始图像,从而提高隐写分析的检测率。

针对这两个共同问题,K.Solanki在近期提出了一种安全性较高的主动隐写方法YASS[7],它简单而巧妙地解决这两个问题,从而可以有效地对抗通用隐写分析。然而,YASS在嵌入信息过程中重压缩图像,这带来了原始信息的改变,需要错码来恢复原始信息。RA[8]纠错码的使用大大降低YASS的有效嵌入率。这使YASS算法秘密信息承载率远低于其他隐写算法,严重影响了YASS算法实用性。

针对于此,本文对传统YASS算法进行了改进,将系数比例嵌入的思路引入算法设计,并通过非零系数所占比例实现嵌入,从而在保障安全性的同时大大提高了嵌入率。

2 传统的YASS算法

YASS在嵌入前对秘密信息进行RA编码,确定相关的嵌入参数(随机块的大小,质量因子,子带系数等),将秘密信息按QIM算法嵌入到各个块中,按照设定的质量因子保存,得到隐写图片。

随机分块和子块的选择是YASS算法的核心,分块和选择的方法如下:设DCT域的系数矩阵的大小为M×N,随机块的大小为B×B,且域系数分成r×c个随机块,为了不与生成jpg图片的压缩块的大小相同,B不能为8的倍数;在每一个随机块中选取一个或若干8×8子块),选取方阵时,算法在一定的范围内随机产生方阵左上角的第一个坐标(x,y),按照间隔8×8后再选择另一个(如果存在)。

3 YASS算法改进设计

随机分块方法能够让攻击者无法估计原始载体,一定程度上也让攻击者难于分析DCT系数之间的关系,提高算法的安全性。改进算法延用随机分块的方法。

冗余数据的嵌入减少了有效数据的嵌入量,RA编码为恢复秘密信息引进了大量用于纠错的冗余数据。如果秘密消息在嵌入过程中不发生改变,就能不使用纠错码,可以提高算法的有效嵌入率。比例嵌入法没有涉及过多的图像处理和破坏图像的统计特性,嵌入过程中保持了信息的一致性。标记位的使用提高了算法的鲁棒性。

3.1 比例嵌入法

保持载体统计性质最好的方法是减少改变载体的系数,甚至不改变载体的系数。基于这个思想,利用块内系数的奇偶比例来嵌入信息,嵌入过程中没有改变载体的统计特性。

设随机块中选取的子块大小为2l×2l,子块中系数值不为零的个数为l1,系数值为零的个数为l2,那么该子块可以由l1/2l或者l1/2l的值嵌入的信息,用l1/2l嵌入信息。

3.2 标记位

必要的纠错措施能够纠正图像在处理和传输过程中的错误,是估量算法鲁棒性的重要手段。YASS的RA编码纠错能力强,冗余度高;比例嵌入法保持信息的一致性,没必要应用很强的纠错机制,而以二个标记位代替纠错码的功能。

根据算法嵌入过程的特点,两个标记位被用来表示需要嵌入的秘密信息的最后2bits。设两个标记位分别为f1和f2,f1和f2标记位的奇偶组合映射了秘密消息最后两位的值。它们的对应方式如下所示:

这里k1和k2为整数。如果在传输过程中有一个非零系数的值变为0,那么相应的嵌入信息最后一位就发生了改变,此时可以使用标记位进行恢复。只要传输过程中零和非零系数转换的个数小于3,就可以使用两个标记位进行恢复。标记位一般选取每个随机块的前面两个非零系数。如图1所示,取随块的大小为5×5(实际随机快的大小至少为9×9),子块大小为4×4,即图中虚线围成的部分。

3.3 信息嵌入与提取

设随机块的大小为B×B,每个子块的大小为2l×2l,其中,需要嵌入的信息为m,具体的嵌入步骤如下:

1)把m分成若干段长度为2l的子信息mi,按照从小到大的顺序对和mi进行排序。

图1 标记位的计算方法

2)对每一随机块,产生一个随机坐标(x,y),计算非零系数比例来匹配信息mi;从左上角开始,行序为主搜索两个非零标记位,修改标记位的奇偶性和mi最后两位对应。

3)扫描系数矩阵中的每一个随机块,直到所有信息都嵌入完成,或者返回嵌入失败的信息。

信息提取步骤是嵌入的逆过程,调换伪代码的输入输出,做适当处理后可以得到原始消息。根据五元组输入(flag,B,l,Embedcoef,posi)提 取 经 过 处 理 后 的 消 息binM,然后按照posi[4]记录的位置恢复原始消息。

4 实验对比和性能分析

选择5000幅来自UCID和自拍的JPEG测试图片,图片的大小为512*384,质量因子为75。实验中YASS的参数固定[7],q=10、QFh=75。

4.1 参数选择和嵌入容量分析

嵌入参数B和l的选择对嵌入容量有重要的影响。从5000幅图片中随机选取1500幅图片来测试YASS和本文提出的算法的嵌入容量。在一定的嵌入量下,统计这1500幅图片中嵌入成功的图片数量,嵌入的图片越多,嵌入容量越大。实验结果如图2所示。

如图2所示,YASS算法的嵌入受参数影响很大,嵌入量越大和B越大,能够嵌入的图片越少;当嵌入量和分块大小相同时,本文算法嵌入图片数量明显多于YASS,可选子块的数量也超过YASS。嵌入的秘密消息为

图2 图片嵌入的数量

4.2 安全性分析

文献[7]和文献[11]是经典的性能较好的隐写分析算法,用来对算法安全性进行测试。

检测率=(PT+PN)/2。YASS的嵌入参数q=10,B=10,本文算法的嵌入参数B=10,l=2。两种模型对各种隐写算法的检测率如表1所示。

表中SH代表隐写算法StegHide,2KB这一行中个别算法的嵌入容量小于2KB,已经满嵌,如 MB2的嵌入容量为1.68KB,OutGuess的嵌入容量为1.63KB;SH 代表StegHide。

由表1可知,两种算法均对YASS算法和本文算法无能为力,检测率并不随着嵌入量的增加而提高。综上所述,本文算法在提高有效嵌入率同时,保持与YASS接近的安全性。

表1 经典隐写分析算法对各种隐写算法的检测率

表中SH代表隐写算法StegHide,2KB这一行中个别算法的嵌入容量小于2KB,已经满嵌,如 MB2的嵌入容量为1.68KB,OutGuess的嵌入容量为1.63KB;SH 代表StegHide。

由表1可知,两种算法均对YASS算法和本文算法无能为力,检测率并不随着嵌入量的增加而提高。综上所述,本文算法在提高有效嵌入率同时,保持与YASS接近的安全性。

5 结语

为了提高YASS的嵌入容量,本文提出了一种基于系数比例的YASS改进隐写方法,利用系数比例来匹配信息。本文方法在嵌入时保持载体的统计性质,没有涉及对图像的重压缩操作,因而不用RA编码而简单地使用了标志位,从而提高了嵌入容量。实验证明,本文方法安全性优于传统的DCT域隐写方法,接近YASS,而有效嵌入容量高于YASS。

[1]A.Westfeld.High capacity despite better steganalysis[C]//Proc.of the 4th Informat-ion Hiding Workshop,2001:289-302.Software available at http://wwwrn.inf.tu-dresden.de/~westfeld/f5.html.

[2]http://zooid.org/paul/crypto/jsteg/.

[3]http://redwood.ucdavis.edu/phil/papers/iwdw03.htm.

[4]P.Sallee.Model-based Mothods for Steganography and Steganalysis[J].International Journal of Image and Graphics.2005,15(1):167-189.Software available at http://www.philsallee.com/mbsteg/index.html.

[5]N.Provos.Defending against staticstical steganalysis[C]//Proc.of 10th USENIX Security Symposium,Washington DC,USA,2001.Software available at http://www.outguess.org.

[6]S.Hetzl,P.Mutzel.A graph theoretic approach to steganography[C]//Proc.of the 9th IFIP TC-6TC-11International Conference, Communications and Multimedia Security,Salzburg,Austria,2005(3677):119–128.Software available at http/www.steghide.sourceforge.net.

[7]Pevny.T,Fridrich.J.Merging Markov and DCT features for multi-class JPEG steganalysis[C]//Proc.of 4th Electronic Imaging,Security,Steganography and Watermarking of Multimedia Contents,2007:3-14.

[8]Kaushal S,Anindya S.K.YASS:Yet Another Steganographic Scheme That Resist Blind Steganalysis[C]//IH 2007-Spring,2007:16-31.

[9]Divsalar,D.,Jin,H.Coding theorems for turbo-like codes[C]//Proc.of 36th Allerton Conf.on Communications,Control,and Computing,1998:201–210.

[10]Chen,B,Wornell,G.Quantization index modulation:a class of provably good methods for digital watermarking and information embedding[J].IEEE Transa-ctions on Information Theory,2001:1423-1443.

[11]Shi Y.Q,Chen C.A Markov process based approach to effective attacking JPEG steganography[C]//Proc of the-8th Information Hiding Workshop,2006:849-852.

猜你喜欢

子块容量载体
基于八叉树的地震数据分布式存储与计算
创新举措强载体 为侨服务加速跑
基于特征值算法的图像Copy-Move篡改的被动取证方案
坚持以活动为载体有效拓展港澳台海外统战工作
一种分层信息提取的多块主元分析故障监测方法
水瓶的容量
基于波浪式矩阵置换的稀疏度均衡分块压缩感知算法
小桶装水
创新德育教育载体
以活动为载体以创新为抓手