1、数字图像隐藏信息技术的实现与讨论一、信息隐藏技术的基本原理 信息隐藏技术通常使用文字、图像、声音及视频等作为载体,信息之所以可以隐藏在多媒体数据中,重要是运用了多媒体信息的时间或空间冗余性和人对信息变化的掩蔽效应。 多媒体信息自身存在很大的冗余性,从信息论的角度看,未压缩的多媒体信息的编码效率是很低的,所以将某些信息嵌入到多媒体信息中进行秘密传送是完全可行的,并不会影响多媒体信息自身的传送和使用。人的视觉或听觉感官系统对某些信息都有一定的掩蔽效应。在亮度有变化的边沿上,该边界“掩蔽”了边沿邻近像素的信号感觉,使人的感觉变得不灵敏、不准确,这就是视觉掩蔽效应。通常人眼对灰度的分辨率只有几十个灰度
2、级,对边沿附近的信息不敏感。运用这些特点,可以很好地将信息隐藏而不被觉察。二、信息隐藏系统的基本属性 信息隐藏系统有三个基本属性涉及:不可感知性、鲁棒性和嵌入量。 (1)不可感知性(Invisibility),也称透明性,隐蔽性,是指嵌入信息的操作不应使原始载体信息的质量有明显下降,即不产生明显的信息嵌入痕迹,使得在通信过程中的携带秘密信息的载体不会引起第三方的怀疑。信息隐藏的不可感知性是信息隐藏的主线属性,“隐”就是不可感知的意思。只有将秘密信息隐藏到载体数据中进行传输,才有也许起到保护作用,所以不可感知性是秘密信息安全传输的前提。 (2)鲁棒性(Robustness),也称稳健性,指信息隐
3、藏系统抵抗由正常信号解决引入的失真和由恶意袭击操作所导致的数据畸变的能力,涉及传输过程中的信道噪声、滤波操作、重采样、有损编码压缩、DA或AD转换等。鲁棒性强调信息传输的可靠性。 (3)嵌入量(Capacity),指承载信息的载体可以容纳秘密信息的多少。通常以秘密信息大小与载体信息大小之比来表达。嵌入量考虑的是传输的信息量。不可感知性、鲁棒性和嵌入量从主线上决定信息隐藏系统性能的三个属性,三者之间是一个矛盾的统一体,它们彼此之间互相制约,并且在一定条件下可以互相转化。例如,鲁棒性与嵌入强度有直接关系,嵌入强度越大鲁棒性越强,但往往大强度的信号调制会导致不可感知性的下降;同样,嵌入量的增长往往导
4、致对原始载体信息的修改增长,也会使得不可感知性下降。在转化方面,增长密文信号的冗余或带宽会提高鲁棒性,而这是以牺牲嵌入量为代价。实践往往要根据具体应用模式在三者之间寻求适当平衡点。对于数字水印来说,上述三项性能的重要性排序是鲁棒性、不可感知性、嵌入量。鲁棒性意味着水印不能被干扰或恶意解决去除,这是版权确认的保证,因此最重要;隐蔽性保证了数字产品的商用价值;至于嵌入量,只要可以标记一些必要的信息,并没有过高的规定。而对于隐写来说,这三项性能的重要性排序是隐蔽性、嵌入量、稳健性。隐蔽性涉及视听觉隐蔽性和记录上的隐蔽性,意味着监控者无法察觉,所以最重要;隐蔽通信往往高传输率,战争状态下还规定实时传送
5、,故嵌入量另一方面;隐写通常应用于无扰信道,所以对稳健性的规定最低。正是由于信息隐藏基本特性之间互相依赖互相制约的特点,造就了信息隐藏技术的多样性和复杂性。三、信息隐藏技术的实现1、水印的嵌入(1)一方面对原始图像进行DCT变换。 (2)水印信号的产生。Cox等指出由高斯随机序列构成的水印信号具有良好的鲁棒性,在许多文献中也都是将高斯随机序列作为水印信号。因此本文所采用的水印信号W为服从正态分布N (0, 1),长度为n的实数随机序列。即:W=(Xi,0in)。 (3)水印的嵌入。 选择将水印信号放在宿主信号的哪些位置,才可以更好的保证其具有良好的鲁棒性。Cox等认为图像水印应当放在视觉上最重
6、要的分量上。由于视觉上重要的分量是图像信号的重要成分,图像信号的大部分能量都集中在这些分量上,在图像有一定失真的情况下,仍然能保存重要成分,即视觉上重要的分量的抗干扰能力较强,因此将数字水印嵌入到这些分量上,可以获得较好的鲁棒性。当水印信号相对宿主信号较小时,还可以保证不可见性。所以本算法将服从N (0, 1)分布的随机序列构成的水印序列放到DCT变换后图像的重要系数的幅度中,增强水印的鲁棒性。水印嵌入公式为(4-1) V=V(1+aXk) (4-1) 其中V为原始图像信息,a为嵌入系数,XK为水印信息,V为生成水印图像信息。 (4)进行二维离散余弦反变换,得到嵌入水印的图像,2、空域(Spa
7、tial Domain)隐藏算法 空域隐藏技术是指将秘密信息嵌入数字图像的空间域中,即对像素灰度值进行修改以隐藏秘密信息。 LSB替换算法 (1)隐藏原理LSB方法通过调整载体图像像素值的最低若干有效位来来实现数据的嵌入,使所隐藏信息在视觉上很难被发现,并且只有知道秘密信息嵌入的位置才干对的提取出秘密信息。显然,LSB隐藏算法最低位被改变的概率是50%,它在原始图像里面引入了极小的噪声,在视觉上是不可见的。事实上,对于24bit真彩色图像,我们在其最低两位甚至三位来隐藏信息使视觉上仍然是不可见的,对于灰度图像,改变其最低两位也能取得较好的效果。 此外,在LSB方法中,也可以不采用直接嵌入的方法
8、,根据异或的可逆准则,采用替换的准则来实现信息的隐藏。异或的简朴原理如下:基于异或的运算也有许多改善的算法,在嵌入的过程中,一方面计算每个像素灰度值的每一位的异或值,并把所得到的结果与要嵌入的信息进行异或运算,然后,把像素灰度值的最低位空域(Spatial Domain)隐藏算法 空域隐藏技术是指将秘密信息嵌入数字图像的空间域中,即对像素灰度值进行修改以隐藏秘密信息。 3.2.1 LSB替换算法 最低有效位(Least Significant Bits,LSB)方法是最早提出来的最基本的空域图像信息隐藏算法,许多其它的空域算法都是从它的基本原理进行改善扩展的,使得LSB方法成为使用最为广泛的隐
9、藏技术之一。现在有一些简朴的信息隐藏软件大多是运用LSB和调色板调整等相关技术将信息隐藏在24bit图像或256色图像中,如Hide and Seek,Stego Dos,White Noise Storm,S-tools等经典信息隐藏软件。 算法和基本实现方法;(2)嵌入过程:1) 在c中根据密钥k选择l(m)个像素。2) 对于选取的每个像素灰度值,若其LSB与要嵌入的信息比特相同,不进行更改;否则,执行下一步;3) 用秘密信息比特取代原灰度值的LSB,而高7位保持不变,修改后的图像即为s。3、多域图像的隐写 F5算法的设计 矩阵编码: .Crandall提出的矩阵编码2方法可以有效地减少嵌
10、入信息时改变LSB的个数。在不采用该方法时,有50%的嵌入信息会改变载体的LSB,而当采用这种方法后,可以使嵌入信息的25%到3.12%甚至更少的信息改变载体的LSB,这样可以有效地抵制RS记录分析4。例如嵌入秘密信息为217字节,F4算法需要改变1157个位置,而F5运用矩阵编码嵌入改变仅为459,嵌入效率为每个变化3.8位。 矩阵编码方法的基本思想: 是用n个LSB位来表达k比特信息(nk)。例如我们要在3个LSB位a1,a2,a3嵌入两个比特x1、x2,可以做到最多改变一个LSB位来表达这两个比特,会碰到以下4种情况:x1=a1a3,x2=a2a3改变a1的值;x1=a1a3,x2a2a
11、改变a3的值。4种情况中,改变没有超过1位。矩阵编码是将图像的像素每个分为一组,最多只修改其中位比特的秘密信息,从而提高嵌入效率,一般用有序元组。对于不同的矩阵编码方式,其变化密度、嵌入率和嵌入效率之间的关系也不同样。 F5隐写嵌入算法 其结构大体如下:输入:隐藏信息、密钥和载体图像。输出:隐写图像。(1)计算相应品质因素Q的量化表,当存储DCT系数时,开始JPEG图像压缩。(2)对(1)中的得到的DCT系数进行混洗。(3)对可用的DCT系数计数,并根据想要嵌入的秘密信息长度计算嵌入信息所使用的三元组(1,n,k)(4)取出n个混洗后的非0的AC DCT系数及想要嵌入的k比特信息,采用矩阵编码
12、进行嵌入。(5)逆混洗,恢复DCT系数为本来的顺序。(6)生成隐秘图像 F5的算法流程三、隐写信息检测技术 目前隐写信息的检测技术大体可以分为3类:感官检测法、标记特性检测法、记录检测法,其中记录检测法又分为特定隐写检测和通用盲检测。 1. 感官检测法 感官分析运用人类感知和清楚分辨噪声的能力来对数字载体进行分析。在数字载体的失真和噪声中,人类可感知的失真或模式最容易被检测到。辨别这种模式的一个方法是比较原始载体和隐秘载体,注意可见的差异,假如没有原始载体,这种噪声就会作为载体的一个有机部分二不被注意。感官检测的思想是移去载体主题信息,这时人的感官就能区分剩余部分是否有潜在的信息或仍然是载体的
13、内容。 2. 标记特性检测法 某些隐写软件在隐秘图像中留下标记特性,可通过度析待检测对象中是否出现该类标记特性来实现检测。标记特性检测法只合用于一直的算法和工具,对于未知的隐写算法不奏效。 3. 记录检测法 记录检测法是将原始载体的理论盼望频率分布和待检测载体中的样本分布进行比较,从而找出差别的一种检测方法。信息隐藏改变了载体数据流的荣誉部分,虽然不改变感觉效果,但是往往改变了原始载体数据的记录性质,因此,通过鉴定给定载体的记录性质是否属于非正常情况,就可以判断是否具有隐藏信息。记录分析的关键问题是如何得到原始载体数据的理论盼望频率分布,在大多数情况下,检测者无法得到原始信号的频率分布。针对L
14、SB的检测a、卡方检测方法对待检测的图像,要判断其中是否具有秘密信息,通常采用的方法是进行记录分析。对空域灰度图像而言,LSB替换隐写重要是将像素灰度值的最低有效位用秘密信息替换。也就是说,假如待嵌入的秘密信息比特与隐藏该比特的像素的灰度值的最低有效位相同,就不改变原始载体;反之,则要改变灰度值的最低位,即进行2i2i+1之间的翻转。嵌入的秘密信息可看作0、1随机分布的比特流,并且值为0或1的概率都为1/2。设图像中灰度值为j的像素数量为,那么,假如秘密信息完全替换了载体图像像素的最低位,和的值会比较接近,而假如图像未通过信息嵌入,和的值会相差较大一些。对LSB替换隐写而言,隐写会改变直方图,
15、但不会改变H2i+H2i+1的值,由于像素的灰度值要么不变,要么在H2i、H2i+1之间互换。记为 = (1) q= (2)假如某个像素灰度值为2i,它对参数q的奉献为1/2;假如值2i+1,则其对参数q的奉献为-1/2。载体图像中共有2个像素的灰度值为2i或2i+1,若所有像素都负载了比特秘密信息,那么像素值为2i或2i+1的概率都为1/2。大量的记录特性表白有下列事实: (3)其中N(0,1)表达标准正态分布。由式(2.3)可得: r= (4) 其中k等于所组成的对值的数量,不计为0的情况。r越小表达图像中具有秘密信息的也许性越大。结合卡方分布的秘密函数,设P是相等的概率,则有: (5)假
16、如P接近于1,则表白图像中具有秘密信息;假如接近于0,则表白图像未通过隐写。对一幅顺序嵌入信息的图像,检测者以同样的顺序进行检测,并对所有检测过的像素组计算P值。P值开始的时候接近1,当我们碰到信息中止时,P值会忽然降为0,并将保持为0直到检测结束。对图像库中的图像的LSB进行顺序嵌入秘密信息与随机嵌入秘密信息的检测环节:(1)顺序嵌入秘密信息后进行卡方检查 显示原始灰度图像。针对不同嵌入率的相应卡方记录量分布与嵌入概率1) 当嵌入率为0%,显示卡方记录量与嵌入概率的图形。并记录对不同样本数量进行分析时,相应的卡方记录量与P值的大小。2) 嵌入率为50%,显示卡方记录量与嵌入概率的图形。并记录
17、对不同样本数量进行分析时,相应的卡方记录量与P值的大小。3) 嵌入率为100%,显示卡方记录量与嵌入概率的图形。并记录对不同样本数量进行分析时,相应的卡方记录量与P值的大小。(2)随机嵌入秘密信息后进行卡方检查显示原始灰度图像。针对不同嵌入率的相应卡方记录量分布与嵌入概率1)嵌入率为30%,显示卡方记录量与嵌入概率的图形。2)嵌入率为60%,显示卡方记录量与嵌入概率的图形。3)嵌入率为90%,显示卡方记录量与嵌入概率的图形。 b、 RS方法RS方法是由Fridrich等人提出的,该方法适合于检测随机LSB替换隐写,可以比较精确地估计隐藏信息长度,它是基于隐写前后图像平衡度的变化来检测秘密信息的
18、。假定一幅载体图像具有个像素,像素值属于一个集合。如对8比特灰度图像,。函数描述了像素组的平滑度,具体定义为: (6)这个函数称为判别函数,用来描述像素组的空间相关性。中的噪声越多,函数的值越大。LSB嵌入信息增长了图像的噪声,的值也将随之增长。LSB替换隐写的嵌入过程可以用翻转函数来描述::0,23,,254255具有下列性质:即改变灰度值的LSB等同于相应用翻转函数。同时可定义一个对偶的概念,称为移位LSB翻转函数::-10,12,34,253254,255256则有为了完整性,定义为自身置换,即、统称为翻转函数。对像素组,若,称是正则的;若,称是奇异的;若,称是不变的。这里是指将运用到向
19、量的分量中。是一个取值为-1、0、1的n元组,则被定义为 (7)将图像分为许多大小相等的小图像块,对每个小块应用非负翻转,即为1或0,运用计算,考察图像的变化情况。用表达作用后正则图像块在所有图像块中所占的比例;表达作用后奇异图像块在所有图像块中所占的比例。如此,则有,类似地,应用非正翻转,这里为-1或0,可定义相应的和。RS方法是根据大量的记录特性而得到的,Fridrich指出:和与信息嵌入比率呈线性关系,与信息嵌入比率呈二次曲线关系。SPA方法SPA方法的原理是基于有限状态机,有限状态机的状态是选择的抽样对的多重集(multiset)。假如样本对是从数字化的连续信号中抽取出来的,对于自然图
20、像而言,相邻像素对所构成的多重集之间有着某种固定的关系。随机LSB替换隐写会引起这些多重集的改变,从而改变多重集的记录关系。SPA方法的集体检测过程如下:1)记录图像中相邻像素值差为的像素对,记为;2)记录图像中相邻像素值高7位大小差值为0,的像素对的数量,分别记为:;3)记录,中较大的像素值为偶数的像素对属于集合,反之属于。 针对及随机调制隐写的隐写分析与替换隐写相比,K及随机调制隐写不仅可以保持良好的视觉隐蔽性,并且可以抵抗现有的多种LSB替换隐写检测方法。针对该类隐写,已经出现了一些有效地检测方法,部分检测方法还能估计隐写信息比率。如基于差分直方图和相对熵的1隐写信息比率估计方法、K隐写
21、噪声的最大似然估计方法、记忆差分直方图和卡方优度拟合检查的随机调制隐写信息比率估计方法等。针对JSteg隐写的检测 Jsteg隐写实质上就是将空域中的LSB嵌入方法应用到量化后的DCT系数,虽然实现简朴,但安全性不是很高,通常运用卡方检查可以很容易地检测出秘密信息的存在。Pfitzman和Westfeld采用基于DCT系数对值(pair values)的变化的卡方记录袭击方法来检测Jsteg顺序隐写,具有很好的检测效果。(a) 卡方检测方法Pfitzman和Westfeld等人讨论了基于在信息嵌入过程中值的变化的卡方检查袭击方法,假如运用得当,可以用于检测多种隐写技术。其中,对值可以是像素值、
22、量化的DCT系数对或者调色板对在LSB上不同的索引等。卡方检查袭击的思想是将隐写图像的理论盼望频率分布和观测到的也许被修改过的载体的样本分布进行比较,从而找出差异。用信息替换量化的DCT系数的LSB,这相称于翻转函数作用域量化的DCT系数。由于信息的嵌入,隐秘图像与原始图像的DCT系数直方图分布将发生变化,设使一个值对,记值等于的DCT系数数目为,值等于的DCT系数数目为,嵌入信息将使得值等于与的DCT系数数目越来越接近。由于Westfeld等人提出的卡方检测方法的耗时很大。下面介绍一种改善的卡方检查方法。 (b)快速卡方检查方法 Westfeld等研究发现,采用Jsteg算法嵌入信息后的JP
23、EG图像的DCT系数记录特性将发生变化。嵌入过程中互相互换的DCT系数值对的出现频次开始趋于一致。所谓“值对”是由秘密信息嵌入时互相互换的两个值构成。对Jsteg算法来说,仅最低比特不同的两个量化后的DCT系数构成了个值对(0和1除外)。例如,2和3,4和5,-1和-2,-3和-4,等都是值对。原始图像,如图14所示。在原始图像中,每个值对中两个值出现的频次通常不一致,但是在秘密信息嵌入之后的图像中,每个值对中两个值的出现频次逐渐趋向一致。令集合表达图像所有的量化DCT系数,表达欲嵌入的秘密信息。构造的一个子集,对中的非0和1元素,用替换的最低位。对一个整数集,定义为该集合中元素的数目,为集合
24、中元素等于的数量。定义为中正偶数和负奇数的数量,为中负偶数和正奇数的数量。注意,在记录和时,不计算中的0元素。则有 (8)大量的实验表白,JPEG图像中量化DCT系数的分布关于0对称,因此有,且相应的记录量服从如下自由度为1的卡方分布 (9)由于信息比特在嵌入之前通常要通过压缩或编码,因此,在集合M中0和1的分布是均匀的,具有相同的出现频次。从而,子集S具有类似如图16所示的分布: (10)令表达的补集。对中的元素,无论是从中顺序选取的还是随机选取的,都可假设的分布关于0对称。因此有 (11)注意到,可得 (12)若显著性水平下1自由度为1的卡方分布的上分位数为,由于秘密消息的嵌入改变了DCT
25、分布关于0的对称性,因此,对于载密图像必然有 (13)式可作为图像中是否存在用Jsteg隐写嵌入的秘密信息的判断依据,在此基础上,还可根据式估计嵌入信息的比率。定义嵌入率为嵌入的信息比专长度与最大嵌入容量的比率。下面,分别给出顺序JSteg隐写和随机JSteg隐写信息比率的估计方法。五、总结信息隐藏技术是多媒体通信和多媒体信号解决领域中近年来新兴的研究方向,它为信息安全提供了一种新的思绪,为我们研究信息安全提供了一个新的方向。目前国际上先进的信息隐藏技术已能做到隐藏的信息可以经受人的感觉检测和仪器的检测,并能抵抗一些人为的袭击。但总的来说,信息隐藏技术尚没有发展到可实用的阶段,使用密码加密仍是网络信息传输的重要安全手段,虽然目前对信息隐藏的研究有了很大的进展,在信息安全起到了重要的作用,但存在大量的实际问题亟待解决,如信息隐藏的容量问题,如何建立不可感知性的数学度量模型,信息隐藏的容量上界如何计算等;信息隐藏的对立面隐藏分析如何得到同步发展;如何对信息隐藏进行分析和分类;如何找到信息隐藏技术自己的理论依据,形成完善和科学的理论体系等等。信息隐藏是一项崭新的技术领域,也是多媒体技术、网络技术研究的前沿,应用前景十分广阔,必将吸引广大图像,语音、网络、人工智能等领域的研究者加入到这一行列,从而推动信息安全技术更快的发展。