曹敏 ,陈够喜
(中北大学 电子与计算机科学技术学院,山西 太原 030051)
目前已有多种以彩色图像或灰度图像为宿主的信息隐藏方法,而二值图像的信息隐藏方法则相对较少。二值图像即黑白图像,在日常生活中的应用很广泛,随着全球信息数字化进程的日益加快,个人档案、医疗记录、学历证书、专利证件、手写签名、设计图样、馆藏图书、机要文件等大批的重要资料,已扫描成数字化文档以二值图像的方式备存。显然,与一般的灰度、彩色图像或音、视频相比,这些二值图像的价值要昂贵得多。因此,在其中隐藏保护性信息也就显得尤为重要[1]。
本文提出的信息隐藏基本思想是:首先将一级秘密信息通过MATLAB仿真成图像,将图像置乱并作为载体,将二级秘密信息通过特定的算法嵌入到载体中得到载密图像,秘密信息的提取即是嵌入过程的逆反过程。
具体流程图如图1所示。
图1 算法流程图
将实验得到的二进制数据(一级秘密信息)排列成M×N的矩阵A,使用MATLAB将矩阵A仿真成图像并显示出来,将图像A经过Arnold置乱得到图像B,此时的B即为本实验的载体图像。
Arnold置乱是俄国数学家Vladimir I.Arnold提出的一种变换,一幅N×N的数字图像的二维Arnold变换定义为:
其中x,y∈{0,1,2,…,N-1}表示变换前像素的位置,x',y'表示变换后的像素位置,mod为模运算。数字图像可以看为一个二维矩阵,经过Arnold变换之后图像的像素位置会重新排列,这样图像会显得杂乱无章,从而实现了对图像的置乱加密效果【3】。
经过一定次数的置乱后图像变得杂乱无章,和原始图像已经完全不同,然而对于合法的用户,需要还原出原始图像。Arnold变换之所以成为一种得到广泛应用的置乱算法,是因为Arnold变换具有周期性,如果重复地进行Arnold变换,经过一定的次数之后必然会还原出原始图像。如本文中所使用的Lena图像是256×256的二值图像,根据文献中计算Arnold变换周期的方法可得该图像的周期是192次,实验结果如图2所示。
将一级秘密信息经过置乱后的图像作为载体,向载体内嵌入二级秘密信息。将载体图像分成3×3的小模块,每块单独进行信息的嵌入与提取。如图3所示,中心像素记为a,其八邻域像素分别记为b1,b2,b3,b4,b5,b6,b7,b8;由于全“1”或全“0”的图像块为全白或全黑的平滑图像块,修改这类图像块中的像素容易被人眼察觉,所以不能用来隐藏信息,图像块在嵌入信息之后也不能变成全“1”或全“0”。在信息提取时也认为全“1”或全“0”的图像块内无隐藏信息。其他块要分情况看是否能嵌入信息,具体嵌入策略如下:
(1)将二进制秘密数据(一级秘密信息)用MATLAB仿真成二值图像A,并对该图像在密钥T1的控制下进行置乱处理,得到新的宿主图像B,这样便可以提高嵌入系统的抗检测性,使得系统更加稳定、安全。
(2)令二级秘密信息序列为M(k),k=1,2,3,…对图像进行分块处理,按照密钥T2,将二值图像B按顺序分割成M×N个3×3的互不相交的图像块Bi,j:
(3)对数据块进行嵌入分析,根据本文的嵌入规则,有两种非法情况是不能嵌入信息的:
若模块Bu,v中X1+X2=0或8,则块内不能嵌入信息,不对块Bu,v做任何操作。
(4)当 :
(a) X1=X2,Y1=Y2;
(b) X1+X2≠8或0;
(c)Cu,v≠ 0 或 9时,G(l)=B(i,j)(2,2),l=1,2,3…;B(i,j)(2,2)=M(k),完成对单个模块的嵌入操作。然后扫描剩下的模块,并按照此方法完成其他二级秘密信息的嵌入。
图3 3×3图像块像素位置标记
接收端提取秘密信息时按照如下步骤进行:
(1)按照嵌入时的分块方法,将图像分成3×3的数据块。
(2)在密钥的控制下按顺序找到可能嵌入信息的数据块。
此时,成功提取二级秘密信息,并得到完整的宿主图像。
(3)在密钥T1的指引下,将宿主图像恢复置乱,得到由一级秘密信息组成的矩阵图像,从而成功提取一级秘密信息。
本文分别选取了非文本型二值图像、中文文本型二值图像、英文文本型二值图像为宿主图像,并使用本文算法和文献[2]中的算法做对比,嵌入前后的效果如图4-图6所示:图4是用非文本型二值图像嵌入信息前后对比,图5是中文文本型二值图像嵌入信息前后的对比,图6是英文文本型二值图像嵌入信息前后的对比。
图4 本文非文本型二值图像数据隐藏结果
图5 中文文本型二值图像数据隐藏结果
图6 英文文本型二值图像数据隐藏结果
PSNR是最普遍,最广泛使用的评鉴画质的客观量测法,psnr值越高,表明图像嵌入质量越高。计算公式如下:
所得实验数据如表1所示。
表1 几组实验数据比较
本文根据二值图像的性质,提出了将一个秘密信息嵌入到由另 一个秘密信息构成的二值图像中的信息隐藏方法。该方法将置乱后的秘密信息图像进行分块处理,再按照一定的密钥嵌入信息,完全符合Kerckhoffs准则。实验表明,按照本方法得到的载密图像失真小,质量高,安全性强,信息提取率高达100%。本文主要讨论了低失真的信息隐藏方法,嵌入容量问题尚待进一步提高。
[1]孟妍妍,高宝健,强媛,等.信息隐藏技术及其在网络安全中的应用[J].计算机工程,2009,35(15):146-148.
[2]钱振兴,程义民,谢春辉,等.基于嵌入矩阵的二值图像隐藏方法[J].电路与系统,2008,23(6):128-133.
[3]谢建全,阳春华.一种大容量的二值图像信息隐藏[J].小型微型计算机系统,2008,29(10):1874-1877.
[4]刘培培,朱中梁,王宏霞,等.基于混沌映射和视觉模型的信息隐藏算法[J].铁道学报,2009,31(2):29-63.
[5]黄仿元.基于Arnold变换的图像置乱算法及实现[J],贵州大学学报,2008,25(3):276-279.
[6]王丽娜,郭迟,李鹏,等.信息隐藏技术实验教程 [M].武昌:武汉大学出版社,2004:284-287.
[7]Kuang T L.Binary encoding method to encrypt Fourier-transformed information of digital images [J].Optics Communications,2008,28(15) :527-534.
[8]Younho L ,Heeyoul K.A new data hiding scheme for binary image authentication [J].Information Sciences,2009,07(14):3866-3884.
[9]Yu-An Ho,Yung-Kuan Chan.High-capacity reversible data hiding in binary images using pattern substitution[J].Computer Standards & Interfaces,2009,35(3):787-794.