张艳玲,王允锋
(1.西安工业大学 电子信息工程学院,西安710021;2.西安旭泰电气技术有限公司,西安710054)
随着通信和计算机技术的发展,网络通信已经成为信息传播的主要工具,其中数字图像的传输在网络通讯中起着越来越重要的作用.据美国国家安全局统计,在当前网络通信中,图像信息约占信息总量的70%,是人们进行信息交换的重要手段[1].更重要的是,随着互联网技术的普及、开放和共享,具有高保密特点的图像受到越来越多的威胁,特别是涉及国家安全和战略的图像,这些图像信息在传输之前必须经过严格、有效、具有自主知识产权技术的加密处理[2].
在图像隐藏领域中有许多隐藏方法,如数字水印技术[3-4]、灰度值替代法[5]、最不显著位(Least Significant Bits,LSB)法[1]及数字图像的置乱技术[6]等.其中LSB算法是利用人眼对像素点细微改变的不敏感性,使用R、G、B三种颜色的最低比特位来进行图像隐藏,其嵌入比为12.5%,是目前公认信息隐藏量大的一种算法,同时还具有算法简单、嵌入速度快等优点.这些优点是一些基于变换域的隐藏算法所无法比拟的,因此LSB算法在信息隐藏领域中占有重要地位[7].但简单地用隐蔽数据替换LSB会引入统计上的不对称性,为分析者提供了可靠检测的线索,其隐蔽性和不可测性在一定程度上可能被分析,因此存在隐藏图像具有易被还原的缺陷.
文中通过对混沌系统和LSB算法的深入研究,提出一种新的图像隐藏算法,该算法将混沌序列与传统的LSB算法相结合,增强传统LSB算法的抗干扰能力和不可感知性,同时延续其简单时效性,实现在混合载体中提取图像信息时不需提供原始载体进行对比,以期具备很强的鲁棒性.
采用LSB算法进行图像隐藏时,需要将秘密图像信息转换为二进制码流,因此,在嵌入秘密图像之前,先要对秘密图像进行预处理.
设秘密图像为M,其大小为K1*K2,为简单分析,这里采用的图像直接采用灰度图像(若为彩色图像,则先将彩色图像分解为R、G、B三基色后,每种基色再按灰度图像进行预处理).预处理主要通过图像降维、像素值的十进制转二进制来实现.
将二维秘密图像M先转换成一维十进制序列M1,其长度为K1*K2,然后将一维序列M1中的像素值从十进制转换为二进制并表示成M2,此时的M2为K1*K2行8列的二进制矩阵,之后将M2转换成一维二进制序列M3,其长度为K1*K2*8,至此,秘密图像被转换成一维的二进制码流.最后将秘密图像的二进制流分为任意的3段,分别对应嵌入到载体图像R、G、B三基色分量中.
因为彩色图像的信息嵌入量大,所以载体图像一般选用彩色图像.载体图像的预处理主要是将载体图像分为R、G、B三基色分量,然后对每一分量进行十进制转二进制处理.
设载体图像为C,其大小为K3*K4*3.将载体C中R分量取出记为C1,G分量取出记为C2,B分量取出记为C3,则C1、C2、C3均为K3*K4阶的二维十进制矩阵,与秘密图像预处理一样,可以将C1、C2、C3转换成二进制序列C11、C21、C31,他们均为K3*K4行8列的二进制矩阵.
混沌序列可以用确定的非线性方程表示,但由于其对初始状态和系统参数非常敏感,使得任何微小的差别都会引起运算结果的巨大差异,这使得混沌序列运动轨迹是不可预测的,即混沌序列具有良好的随机性,但这种随机性仅仅是貌似随机[8].由于Logistic映射是一类非常简单的一维混沌系统,但它能产生复杂的运动轨迹,所以受到众多学者的关注,并进行了深入的研究,文中产生混沌序列的方式选为Logistic映射.
Logistic映射定义为
式中:μ为分支参数,其取值范围为0~4;变量xn的取值为0~1;n为序列号.对Logistic混沌动力系统的研究表明,当μ大于等于3.57时,Logistic系统的轨迹处于混沌状态[9].即以μ为系统参数,由初始值x1在Logistic映射的作用下所产生的序列{xn}(n=1,2,3,…,n)是非周期的,不收敛的,并对初始值非常敏感.
因为这里是对R、G、B三个分量的行和列进行随机选取,所以需要产生6个混沌序列,混沌序列的长度分别选为K3和K4.设在初值x1和μ的条件下产生的长度为K3的混沌序列为
将混沌序列转存为二维矩阵X1,即
然后对矩阵X1按第二行的数据(即混沌序列)进行排序,对应的混沌序列的位置信息也被打乱变得随机,则X1的第一行数据便是用混沌序列产生的随机序列记为h1.同样的方法,也可以产生随机序列h2、h3、h4、h5、h6(选 取 的 初 值条 件μ 和x 不同),其中h1、h2、h3的长度为K3,用于行坐标的选取,h4、h5、h6的长度为 K4,用于列坐标的选取.
秘密图像信息的嵌入是在LSB算法的基础上,采用混沌序列产生的随机序列来决定嵌入的位置,依此增强嵌入信息的随机性和不可见性.主要的嵌入步骤为
① 取出秘密图像信息的第一段记为MR,设其长度为KR;
② 取出随机序列h1的第1位记为h1(1),取出随机序列h4的第1位记为h4(1),将MR的第一位嵌入到序列C11的第((h1(1)-1)*K4+h4(1))行的第一列;
③ 依次向后取出随机序列h1的下一位h1(i)及h4的下一位h4(i),将MR的第i位嵌入到C11的第(h1(i)-1)*K4+h4(i)行的第一列;
④ 判断秘密图像信息是否嵌完,若未嵌完,则转入步骤③;若已嵌完,则R分量的嵌入结束.
依照步骤①~④分别对G分量和B分量也进行相应的嵌入.
然后将嵌入秘密图像信息的R、G、B分量分别进行二进制转十进制处理,再将一维的十进制序列转换成二维序列,最后将三分量合并成彩色图像,即为嵌入秘密图像信息的混合载体图像.此时再传输混合载体图像,秘密图像信息也被传送出去而不被人觉察.
采用该算法在载体图像中嵌入秘密图像信息,在提取秘密图像信息前,也要产生对应的混沌序列及随机序列,初始条件的选取应与嵌入时一致.然后对混合载体图像进行预处理,即提取出其R、G、B分量,然后进行十进制转二进制处理.用产生的随机序列按照嵌入时的规则提取出对应的秘密图像信息,并将三段合为一段.最后将秘密图像的二进制码流再转换成二维的十进制矩阵,即可得到秘密图像,实现了秘密图像的安全传输.
可见,采用该算法在载体图像中嵌入的秘密图像信息,其提取方法非常简单,并且在提取秘密图像信息时不需要原始载体图像,可实现秘密图像信息的盲提取.
实验选取的载体图像是256*256pixel的Lena图像,秘密图像选取的是大小为20*70pixel的bmp格式的灰度图像.x1=0.250 1,μ=3.81,产生 h1、h2、h3、h4、h5、h6的 初 值 之 间 依 次 差0.002,0.02.图1为对应实验结果.
图1 基本实验结果Fig.1 The basic experimental results
从图1中可以看出,采用本算法在图像中嵌入秘密图像信息,对载体图像的改变很小,再结合人类视觉系统的冗余效应,这种改变是人眼很难感知到的,因而达到了隐藏信息透明性的要求.
本文对混合载体图像进行多种常见的图像处理的攻击,对受攻击后的图像进行秘密图像提取实验.算法的鲁棒性评价方法采用主观评价方法和客观评价方法.主观评价根据人的视觉系统(Human Visual System,HVS)属性,依靠人眼对图像提取效果进行主观判断.客观评价法采用均方根误差PMSE来反映两个图像之间的差异.
PMSE定义为
PMSE=
式中:C′(i,j)为恢复的秘密图像;C(i,j)为原始秘密图像;M和N 分别对应图像的行和列.
对混合载体语音信号进行加噪攻击和剪切攻击.实验结果如图2~3所示.PMSE实验结果见表1.
图2 加椒盐噪声后的实验结果Fig.2 The experimental results after adding salt and pepper noise
图3 剪切后的实验结果Fig.3 The experimental results after shearing
表1 PMSE实验结果Tab.1 The experimental results of PMSE
从实验结果可以看出,随着攻击噪声强度的增强,均方根误差PMSE也随之增加,恢复秘密图像的视觉效果也变差.剪切的位置改变,PMSE的变化相对较小,恢复秘密图像的视觉效果变化也不是很大,这主要归结于嵌入算法的随机性;虽然攻击后能看见较明显的噪声,但还是可以分辨出图像信息,因此,文中提出的算法对噪声攻击和剪切攻击具有较好的鲁棒性.
为了避免传统图像隐藏算法的缺点,安全、高效地达到图像隐藏的目的,文中根据人眼对图像细小差别不敏感的特性,设计了混沌和LSB相结合的图像信息隐藏算法.该算法充分利用了混沌序列随机性的特点,随机选取载体图像的嵌入点,将秘密图像信息嵌入到载体图像像素点的最低位,实现了在图像中嵌入图像信息的这一应用需求.实验结果表明,文中所设计的算法在鲁棒性和不可见性等方面优于传统LSB算法.
[1] 李鹏,田东平,张楠.基于混沌序列的数字图像隐藏技术[J].信息安全与通信保密,2007(6):22.LI Peng,TIAN Dong-ping,ZHANG Nan.Digital Image Hiding Method Based on Chaotic Sequence[J].Information Security and Communications Privacy,2007(6):22.(in Chinese)
[2] 汤光明,王亚弟.信息隐藏安全性研究[J].计算机工程,2008,34(16):183.TANG Guang-ming,WANG Ya-di.Research on Security of Information Hiding[J].Computer Engineer,2008,34(16):183.(in Chinese)
[3] 谢建全,阳春华.大容量的信息隐藏算法[J].计算机工程,2008,34(8):167.XIE Jian-quan,YANG Chun-hua.High Capacity Information Hiding Algorithm [J].Computer Engineering,2008,34(8):167.(in Chinese)
[4] HONG W,CHEN T S.Reversible Data Embedding for High Quality Images Using Interpolation and Reference Pixel Distribution Mechanism[J].Journal of Visual Communication and Image Representation,2011,22(2):131.
[5] 盛苏英,吴新华.在线混沌图像保密通信研究[J].计算机工程与科学,2011,33(4):30.SHENG Su-ying,WU Xin-hua.Research of Online Chaotic Image Secure Communications[J].Computer Engineering & Science,2011,33(4):30.(in Chinese)
[6] QIN J H,SUN X M,XIANG X Y,et al.Steganalysis Based on Difference Statistics for LSB Matching Steganography[J].Information Technology Journal,2009,8(8):1281.
[7] JOLFAEI A,MIRGHADRI A.An Image Encryption Approach Using Chaos and Stream Cipher[J].Journal of Theoretical and Applied Information Technology,2011,4(1):172.
[8] 张雪锋,范九伦.基于混沌系统的伪随机序列生成方法[J].计算机工程与应用,2010,46(29):80.ZHANG Xue-feng,FAN Jiu-lun.Pseudo-Random Sequence Generating Method Based on Chaotic Systems[J].Computer Engineering and Applications,2010,46(29):80.(in Chinese)
[9] 潘勃,冯金富,陶茜,等.基于超混沌映射和加法模运算的图像保密通信方案[J].计算机科学,2009,36(8):273.PAN Bo,FENG Jin-fu,TAO Qian,et al.Image Encryption Communication Scheme Based on Clifford Map and Additive Modular Arithmetic[J].Computer Science,2009,36(8):273.(in Chinese)