首页 > 范文大全 > 正文

基于混沌的图像自恢复安全双水印算法

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于混沌的图像自恢复安全双水印算法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:为提高图像自恢复双水印算法的安全性,提出一种基于混沌的安全双水印算法。该算法首先利用混沌映射将双水印信息加密后再嵌入其他图像块的低位,然后结合图像块内容和嵌入在图像块低位的恢复水印信息,利用混沌映射随机生成用于检测图像块真实性的认证数据。理论分析和实验结果表明该算法在保持篡改恢复质量和不可见性的基础上,有效提高了自恢复双水印算法抵抗内容篡改攻击和字典搜索攻击的能力。

关键词:图像认证;双水印;混沌;篡改恢复质量;峰值信噪比

中图分类号: TP309;TP391

文献标志码:A

Chaosbased secure dual selfrecovery

watermark algorithm for image authentication

ZHANG Lei1, CHEN Fan2, GAO Hui3

1. College of Computer and Information Technology, Henan Normal University, Xinxiang Henan 453002, China;

2. Information Security and National Computing Grid Laboratory, Southwest Jiaotong University,Chengdu Sichuan 610031,China;

3. Research Institute of Petrochina Tarim Oilfield Company, Kuerle Xinjiang 841000, China)

Abstract:

To improve the security of dual selfrecovery watermark, a chaosbased dual selfrecovery watermark scheme for image authentication was proposed in this paper. In the proposed scheme, the chaotic map was first adopted to encrypt the dual watermark data, and then the data were embedded into the image block of less significant bits. And then the authentication data of each block was randomly generated with reference to its content and the recovery watermark embedded according to the chaotic mapping. Theoretical analysis and simulation results show that the proposed scheme can not only maintain the good tamper recovery quality and invisibility of dual selfrecovery watermark, but also improve the security against the onlycontent tampering attack and the dictionary searching attack.

Key words: image authentication; dual watermark; chaos; tamper recovery quality; Peak SignaltoNoise Ratio (PSNR)

0 引言

“眼见为实,耳听为虚”,但如今人们通过眼睛已很难分辨出数字图像的真伪[1]。因此,数字图像的完整性、真实性、可信性等问题已成为迫切需要解决的问题,基于数字水印的图像认证技术是解决该问题的有效方法之一[2]。与传统的数字签名技术相比,篡改定位与篡改恢复是基于数字水印的图像认证技术的突出的优点,也是衡量认证水印算法性能的重要指标。文献[3]首次提出了一种基于离散余弦变换(Discrete Cosine Transform,DCT)的分块自恢复水印算法,该算法利用图像块的重要DCT系数生成水印信息,将其嵌入在其他图像块的最低位以实现对篡改图像块的恢复。随后,出现了从定位方法[1]、水印生成[4]等不同角度对原算法进行改进的DCT自恢复水印算法。不过,由于DCT将图像分为8×8的图像块,因此导致DCT自恢复水印的篡改定位精度较低。为提高自恢复水印算法的篡改定位精度,文献[5-7]分别利用2×2像素的平均值生成水印信息。不过,这些算法在篡改比例较大时的篡改恢复质量不高,这主要是由于篡改块的相应水印信息丢失造成的。为提高自恢复水印算法的篡改恢复质量,文献[8]提出了一种用于图像篡改检测和恢复的双水印算法,该算法将一个图像块的水印信息嵌入在两个不同图像块的低位,当篡改块的一个水印信息丢失时,可以利用另一个水印信息恢复篡改块,有效提高了自恢复水印算法的篡改恢复质量。但是,文献[8]提出的双水印算法存在严重的安全隐患:认证数据(用于检测图像块的真实性)的生成仅与嵌入在图像块低位的水印信息有关,与图像块内容(高5位)无关,文献[8]不能检测保持低位水印信息不变而恶意改变图像内容的篡改(即内容篡改攻击)[3]。同时,文献[8]将基于“伙伴图像块”生成的水印信息公开地嵌入其映射图像块中,通过比较低位的水印信息有可能找到生成映射块的密钥,即算法易受文献[9]提出的类似于四重扫描的字典搜索攻击。

为提高自恢复双水印算法的安全性,针对文献[8]算法不能抵抗“字典搜索攻击”和“内容篡改攻击”,提出一种基于混沌的图像自恢复双水印算法。该算法将水印嵌入分为恢复水印嵌入和认证水印嵌入两个阶段。首先,利用混沌映射将图像块的恢复特征加密之后再嵌入其他图像块的低位,以提高双水印算法抵抗“字典搜索攻击”的能力。然后,结合图像块内容和嵌入在图像块低位的恢复水印信息,利用混沌系统随机生成用于检测该图像块真实性的认证数据,使算法能同时检测图像块内容和嵌入其低位的恢复水印信息的改变,从而提高自恢复双水印算法抵抗内容篡改攻击的能力。同时,本文还从理论和实验两方面分析了水印嵌入的不可见性。实验结果表明该算法在保持篡改恢复质量和水印不可见性的基础上,有效提高了自恢复双水印算法的安全性。

1 基于混沌的自恢复双水印算法

Ъ偕柙始图像X的大小为2m×2m(m为偶数),下面从水印嵌入、篡改检测和篡改恢复三部分描述本文提出的基于混沌的自恢复双水印算法。オ

1.1 水印嵌入

图1是本文的水印嵌入算法框图,包括6个步骤。

图片

图1 双水印嵌入算法框图

1)分块。将原始图像X分为2×2的图像块{Xi|i=1,2,…,N},其中N=m×m表示图像块的个数。图像块采用从上到下、从左至右的编号方式[8]。图像块Xi(i=1,2,…,N)中的四个像素描述为:

Xi = xi0 xi1 xi2 xi3 (1)

2)查找表生成。利用密钥k1和文献[8]提出“线性变+pushaside”操作生成查找表T={ti|i=1,2,…,N},其中ti∈[1,N]且ti≠tj(i≠j),该查找表用来确定图像块恢复水印的嵌入位置。

3)混沌序列生成。以密钥k2∈(0,1)为混沌初值s0,生成长度为10N的混沌序列S={si|i=1,2,…,10N},本文采用一维Logistic混沌映射[10]:

sn+1=4sn(1-sn)(2)

4)恢复水印生成。对每个图像块Xi按文献[8]的方法找到其伙伴图像块Xp(i),提取图像块Xi和Xp(i)高5位的平均值生成图像块Xi的10比特恢复特征Fi:

Fi=CiCP(i)(3)

其中:表示连接操作;Ci为5位二进制数,其值为图像块Xi内容平均值14∑3j=0(xij/8)的高5位;P(i)为:

P(i)=(N/2)+i, i≤N/2

(N/2)-i,i>N/2 (4)

然后,利用3)生成的混沌序列S加密图像块的双特征Fi生成图像块Xi的双恢复水印Wri:

Wri=FiRi(5)

其中Ri={rin|n=1,2,…,10}为根据混沌序列S按式(6)生成的10位二进制。

rij=0,

s(10i+n)≤0.5

1,s(10i+n)>0.5,n=1,2,…,10(6)

5)恢复水印嵌入。对每个图像块Xi,根据2)生成的查找表T找到图像块Xi的映射块Xi′,即i′=ti,将图像块Xi的10位恢复水印Wri={wrin|n=1,2,…,10}按式(7)嵌入图像块Xi′生成含恢复水印图像块Yi′={yi′j|j=0,1,2,3}。

yi′j=

xi′j+v-8,v≥5

xi′j+v,|v|

xi′j+v+8,v≤-5(7)

其中:

v=

4wri (3j + 1) + 2wri (3j + 2) + wri (3j + 3) -(xi′j mod 8),

j = 0,1,2

4wri(10) -(xi′j mod 8),j = 3(8)

6)认证数据生成与嵌入。对含恢复水印图像块Yi,以混沌序列S中的元素si为混沌初值生成长度M=max(yi0,yi1,yi2,Tyi3/4)的混沌序列SS={ssn|n=1,2,…,M},则图像块Yi的认证数据为:

Wai=Ryi0Ryi1Ryi2RTyi3/4(9)

其中:max()是取最大值函数,Ta表示不大于a的最大整数,Rn={rn1,rn2}是根据随机小数ssn按式(10)~(11)是生成的:

rn1=

1, ssn≥0.5

0,其他(10)

rn2=1,

2(ssn-0.5)≥0.5

0,其他(11)

通过修改含水印图像块Yi的元素yi3实现认证数据的嵌入:

yi3=yi3+2×wai1+wai2(12)

┑1期 爬诘:基于混沌的图像自恢复安全双水印算法研究

┆扑慊应用 ┑30卷

1.2 分层篡改检测

本文用被测图像Y*的篡改判别矩阵D={di|i=1,2,…,N}表示对应图像块是否被篡改。如果di=0,表示图像块Y*i是真实的;如果di=1,表示图像块Y*i被篡改。

1)第一层检测。根据式(13)生成被测图像Y*的初始化篡改判别矩阵D={di|i=1,2,…,N}。

di=|Wa*i-Wa′i|(13)

其中:Wa*i是根据密钥k2生成的随机序列S和图像块Y*i的高位,按式(9)计算得到的认证数据,Wa′i是从像素y*i3低位提取的认证数据。

2)第二层检测。如果di=0,根据其相邻像素的值更新篡改判别矩阵。设δi是与di相邻的8个像素dj(j=1,2,…,8)中不等于零的个数,则:

di=

1, di=1

1,di=0 且 δi>0

0,其他(14)

1.3 篡改恢复

如果被测图像的篡改判别矩阵D中的所有元素都为0,说明被测图像没有篡改,此时无需篡改恢复。如果被测图像中存在篡改图像块,则首先根据密钥k1按水印嵌入的步骤2)生成查找表T,然后对图像中所有被判定为篡改的图像块Y*i(di=1)实施以下两步恢复操作:

1)篡改恢复。首先根据查找表T,查找图像块Y*i的映射图像块Y*i′。如果di′=0,则利用该图像块低位的前5位恢复水印恢复篡改块Y*i,并标记该恢复图像块有效;否则,找到图像块Y*i的伙伴图像块Y*p(i),根据查找表T查找图像块Y*p(i)的映射图像块Y*p(i)′,如果dp(i)′=0,则利用该图像块低位的后5位恢复恢复篡改块Y*i并标记该恢复图像块有效;否则,标记该恢复图像块无效。

2)后处理。对标记为无效的图像块,利用其相邻有效像素的平均值修复改图像块。即该图像块中每个像素的值都等于其相邻的有效像素的平均值。

从上面的算法描述可以看出,本文的恢复水印和认证水印嵌入是分开的,认证数据的生成不仅依赖于图像块低位嵌入的恢复数据,还依赖于图像块内容。同时,混沌序列用于提高恢复数据和认证数据的保密性。这些策略能有效提高自恢复双水印算法抵抗内容篡改攻击和字典搜索攻击的能力。在分层篡改检测部分,文中采用的第二层检测能有效降低算法的漏警概率,这有利于提高算法的篡改恢复质量。

2 理论分析与实验仿真

2.1 不可见性

为了衡量水印图像与原始图像之间的差别,定义峰值信噪比(Peak SignaltoNoise Ratio, PSNR)[11]:

PSNR=10 lg (255×255)14N∑Ni=1∑3j=0(yij-xij)2(15)

为降低水印嵌入对含水印图像质量的影响,文献[8]提出通过调整像素值来减少含水印像素与原始像素的差别的方法。不过,文献[8]没有给出这种嵌入方法的性能分析。下面结合本文描述的水印嵌入过程,从理论分析和实验验证两方面来讨论该嵌入方法的不可见性。根据水印嵌入式(7)可知,含水印与原始像素差别平方的数学期望为:

E((yij-xij)2)=34×∑7yij=0∑7xij=0f(yij-xij)82+

14×∑7yij=0∑7xij=0|yij-xij|82=6.75(16)

其中:

f(yij,xij)=

|yij-xij|, |yij-xij|

8-|yij-xij|,|yij-xij|≥5(17)オ

为验证上述推导的正确性,分别以512×512的Lena和488×488的Cup为测试图像,随机选择500个不同密钥分别生成含水印数字图像。500个含水印Lena和Cup图像与相应原始图像的峰值信噪比(PSNR)如图2所示。同时,图2中还显示出了由式(15)计算得到的含水印图像PSNR的理论值。由图2可以看出,实验得到的PSNR以理论值为中心呈随机分布,验证了上述理论推导的正确性。

图片

图2 含水印图像PSNR的理论值与实验值比较

2.2 时间复杂度

由上述算法描述可知,水印嵌入和篡改检测与恢复是对称的,即水印嵌入与图像认证的时间复杂度相同。文献[8]的水印嵌入算法包括以下操作:查找表生成、图像块的恢复水印生成、认证水印生成和水印嵌入。为提高自恢复双水算法的安全性,文中采用混沌产生的伪随机序列加密图像块的恢复数据,增加恢复数据的保密性,从而提高了算法抵抗字典搜索攻击的能力。同时,利用混沌序列、图像块内容和嵌入在低位的恢复水印生成认证图像块的认证数据,使算法具有了抵抗内容篡改攻击的能力。同时不可避免地会增加算法的时间复杂度。表1列出了本文算法生成不同大小含水印图像所花费的时间。考虑到计算机执行时的误差,表中的数据是将每个含水印图像生成10次取其平均值得到的(水印嵌入时间是在Matlab环境下测得(P4 2.6GHz))。由表中数据可以看出,本文算法生成含水印图像的时间随图像尺寸的增加而增加,算法的执行速度还是可以接受的。表1中的数据是用Matlab程序测得的,如果用C或硬件实现,算法的执行速度更快。安全性是数字水印算法的核心要素,相对文献[8]的算法,本文有效提高了算法的安全性,用时间复杂度来换取安全性是值得的。

表格(有表名)

表1 本文算法生成含水印图像的时间

图像大小时间/s图像大小时间/s

256×2561.46728×72812.20

400×4003.60800×80015.60

512×5126.101B024×1B02424.30

2.3 字典搜索攻击

为降低图像块内容和相应水印信息同时被篡改的可能性,自恢复水印算法中图像块的水印信息不是嵌入在图像块自身的低位,而是基于密钥嵌入在其他图像块的低位[6]。字典搜索攻击的目标是通过多次比较图像块水印与图像中所有图像块低位嵌入的水印,从而估计图像块水印的嵌入位置或推断生成图像块水印嵌入位置的密钥,进而伪造能通过认证的含水印图像。

文献[8]算法中,每组伙伴图像块生成的恢复水印完全相同,且直接嵌入在其相应映射图像块的低位。因此,如果攻击者得到一幅含水印图像,通过计算“伙伴图像块”的水印信息,并在图像中“搜索”与水印信息相同的图像块,有可能估计出图像块的水印嵌入位置,从而使恢复水印算法存在安全隐患[9]。为避免字典搜索攻击,本文在恢复水印生成时,首先为每个图像块生成不同的恢复特征,然后利用混沌映射对其加密后生成图像块的恢复水印。根据混沌映射的特性可知,没有密钥很难得到图像块的恢复水印。同时“伙伴图像块”的恢复水印也互不相同,进一步提高了算法的安全性。为比较图像块水印在加密前、后的差别,定义差别评估函数(Difference Assessment Function,DAF)[11]:

DAF(B,B′)=∑ni=1bib′i(18)

其中:为模2加,n为二值序列B的长度。由上述定义可知,当DAF(B,B′)=0时,B与B′相同;当DAF(B,B′)=n时,B与B′相反;当DAF(B,B′)的值在n/2左右时,可认为B与B′的差别是随机的。对伙伴图像块Xi和XP(i),首先根据式(3)生成其长度为10的二值恢复特征Fi和FP(i),然后根据密钥k2按式(5)分别生成图像块Xi和XP(i)的恢复水印Wri和WrP(i)。根据式(18)计算DAF(Wri,WP(i))、DAF(Wri,Fi)和DAF(WrP(i),FP(i))的值。随机选择10B000个不同密钥k2,利用大小为512×512的Lena图像,i=1时DAF(Wri,WP(i))、DAF(Wri,Fi)和DAF(WrP(i),FP(i))的三个统计直方图,如图3所示。由图3(a)和(b)可以看出,图像块恢复特征与恢复水印之间的差别近似服从均值为5的正态分布,说明混沌加密能有效提高恢复水印的保密性,没有密钥很难得到图像块的恢复水印信息。由图3(c)可以看出,伙伴图像块的恢复水印也互不相同,从而彻底消除了“字典搜索攻击”的实施条件。

图片

图3 基于混沌加密生成恢复水印的DAF统计分布

2.4 内容篡改攻击

文献[8]算法中的认证数据仅与嵌入在图像低三位的水印信息有关,与图像内容无关,因此当攻击者保持图像的低三位不变而恶意篡改图像内容时,文献[8]不能检测此类篡改。相反,本文算法中图像块的认证数据是基于图像块内容、嵌入在其中的恢复水印和混沌序列一起生成的,不仅提高了认证数据的保密性,而且使算法具有抵抗内容篡改攻击的能力。

为比较本文算法与文献[8]算法在不同篡改条件下的篡改检测和恢复性能,以大小为488×488的Cup为测试图像,如┩4(a)所示。图4(b)是利用本文算法生成的含水印图像,与原始图像的峰值信噪比(PSNR)为39.86dB,与理论分析结果E(PSNR)=39.84dB相一致。图4(c)和(d)分别给出了两种篡改图像:

1)篡改图像Z1。利用图像编辑软件,在含水印Cup图像的右侧贴上四只茶杯,如图4(c)所示。与含水印Cup图像的峰值信噪比为15.27dB,篡改比例约为41%。

2)篡改图像Z2。含水印Cup图像低三位结合篡改图像Z1的高5位生成篡改图像Z2。由于篡改图像Z2和Z1的高五位相同,因此它与篡改图像Z1视角相似,如图4(d)所示。

图片

图4 含水印图像和两个篡改图像

图5、6分别为文献[8]和本文算法对被测图像Z1和Z2的篡改检测和篡改恢复结果。图5中文献[8]和本文的篡改恢复图像的峰值信噪比分别为31.71dB和33.11dB。从图5可看出:两种算法都能准确定位图像被篡改的位置并得到好的篡改恢复结果,但文献[8]的篡改恢复质量略低,这主要是由于文献[8]中存在少许漏检的篡改块(图5中白色区域内和边界存在的黑点),这些图像块没有执行篡改恢复操作造成的。

图片

图5 两种算法对篡改图像Z1的篡改检测与恢复结果

图片

图6 两种算法对篡改图像Z2的篡改检测与恢复结果

图6中文献[8]和本文的篡改恢复图像的峰值信噪比分别为15.43dB和33.13dB。图6(a)不存在非零点(文献[8]没有检测到篡改块,不执行篡改恢复操作),说明文献[8]不能抵抗内容篡改攻击。从图5、6可看出本文算法能有效地抵抗内容篡改攻击,且具有理想的篡改检测和篡改恢复效果。

3 结语

本文利用混沌对初值的敏感性和伪随机性,提出一种用于图像篡改检测和恢复的安全双水印算法。与文献[8]的算法相比,本文的突出特点是水印的生成和嵌入方法不同:

1) 利用混沌映射加密恢复特征生成图像块的恢复双水印;

2) 利用混沌映射并结合图像块内容和嵌入在低位恢复水印生成认证水印;

3) 水印嵌入分恢复水印嵌入和认证水印嵌入两个阶段。

此外,本文还从理论和实验两方面验证了本文算法的不可见性,并利用统计实验分析了本文算法抵抗“字典搜索”攻击和“内容篡改”攻击的能力。理论分析和实验结果表明该算法不仅具有好的篡改恢复质量和不可见性,而且有效地提高了自恢复双水印算法的安全性。

参考文献:[1] 和红杰,张家树. 基于混沌置乱的分块自嵌入水印算法 [J]. 通信学报, 2006, 27(7): 80-87.[2] ZHU B B, SWANSON M D, TEWFIK A H. When seeing isnt believing multimedia authentication technologies[J]. IEEE Signal Processing Magazine, 2004, 21(2): 40-49.[3] FRIDRICH J, GOLJAN M. Images with selfcorrecting capabilities [C]// ICIP 99: International Conference on Image Processing. Washington, DC: IEEE,1999,3: 792-796.[4] 张鸿宾, 杨成. 图像的自嵌入及篡改的检测和恢复算法[J]. 电子学报, 2004, 32(2): 196-199.[5] LIN P L, HSIEH C K, HUANG P W. A hierarchical digital watermarking method for image tamper detection and recovery [J]. Pattern Recognition, 2005, 38 (12): 2519-2529.[6] 和红杰,张家树,陈帆.一种高定位精度的可恢复水印算法[J].中国科学:E辑,2008,38(4): 533-552.[7] 刘泉,江雪梅.用于图像篡改定位和恢复的分层半脆弱数字水印算法[J]. 通信学报, 2007, 28(7): 104-110.[8] LEE T Y, LIN S D. Dual watermark for image tamper detection and recovery [J]. Pattern Recognition, 2008, 41(11): 3497-3506.[9] CHANG C, FAN Y H, TAI W L. Fourscanning attack on hierarchical digital watermarking method for image tamper detection and recovery [J]. Pattern Recognition, 2008, 41(2): 654-661.[10]

LIU S H, YAO H X, GAO W,et al. An image fragile watermark scheme based on chaotic image pattern and pixelpairs [J]. Applied Mathematics and Computation, 2007, 185(2): 869-882.[11]

和红杰, 张家树, 田蕾. 能区分图像或水印篡改的脆弱水印方案[J]. 电子学报,2005,33(9):1557-1561.