《毕业论文水印技术在电子签名中的防伪应用.doc》由会员分享,可在线阅读,更多相关《毕业论文水印技术在电子签名中的防伪应用.doc(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、水印技术在电子签名中的防伪应用目 录1 绪论11.1 选题的背景11.2 选题的目的11.3 选题的意义21.4 国外数字水印研究现状21.4.1 对空间域水印技术的研究31.4.2 对变换域水印技术的研究31.5 本课题研究容52 数字水印技术理论概述62.1数字水印的基本概念62.2数字水印的基本特征62.3 数字水印的基本理论框架62.3.1 数字水印嵌入的理论框架72.3.2 数字水印提取的理论框架72.4 数字水印的分类92.5 数字水印的鲁棒性问题和攻击行为102.5.1 数字水印的鲁棒性问题102.5.2 数字水印的攻击行为113 图像预处理算法实现133.1 引言133.2 图
2、像二值化处理133.2.1图像二值化的实现代码133.3 图像平滑处理143.3.1 图像平滑处理代码143.4 图像锐化处理153.4.1 图像锐化处理代码153.5 图像缩放处理163.5.1 图像缩放处理代码163.6 图像灰度化处理173.6.1图像灰度化处理174 数字水印典型算法194.1 基于傅里叶变换的数字水印算法194.1.1 引言194.1.2 基于Arnold变换的图像置乱算法194.1.3 嵌入算法原理204.1.4 提取算法原理224.1.5 实验结果与分析244.2 基于离散余弦变换的数字水印算法254.2.1 离散余弦变换水印嵌入算法264.2.2 离散余弦变换水
3、印提取算法274.2.3 实验结果与分析284.3 基于小波变换的数字水印算法304.3.1 小波变换水印的嵌入算法314.3.2 小波变换水印的提取算法314.3.3实验结果与分析325 参考文献346 致 35附录A 图像预处理代码36附录B 傅里叶变换的数字水印嵌入提取源码38附录C 离散余弦变换(DCT)的数字水印嵌入提取源码51附录D 小波变换(DWT)的数字水印嵌入提取源码5555 / 581 绪论随着社会信息化的发展,信息在社会中的地位和作用越来越重要。信息媒体的数字化为信息的存取提供了极大的便利性,同时也显著提高了信息表达的效率和准确性。特别是随着计算机网络通讯技术的发展,数据
4、的交换和传输变成了一个相对简单的过程,人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传输到所期望的地方。随之而来的副作用是这些数字形式的数据文件或作品使有恶意的个人和团体有可能在没有得到作品所有者的许可下拷贝和传播有的容,例如,现代盗版者仅需轻点几下鼠标就可以获得与原版一样的复制品,并以此获取暴利;而一些具有特殊意义的信息,如涉与司法诉讼、政府机要等信息,则会遭到恶意攻击和篡改伪造等等。1.1 选题的背景一系列数字化技术本身的可复制和广泛传播的特性所带来的负面效应,已成为信息产业健康持续发展的一大障碍,目前,数字媒体的信息安全、知识产权保护和认证问题变得日益突出,且已
5、成为数字世界中一个非常重要和紧迫的议题。尤其是数字产品在网络中发布、传输存在的安全性问题。“信息提供者”是数字产品的所有者,他们通过网络发布数字产品。“信息消费者”是数字产品的消费者,他们希望通过网络接受到数字产品(因为网络可以减少不必要的成本,如邮费等)。“攻击者”是非法用户、未经授权的供应者和蓄意破坏者的总称,他们未经合法所有者的许可,重新发布产品或有意破坏原始作品并重新发布其不可信版本。从而信息消费者难免间接收到盗版的副本。数字产品受到的间接攻击主要来自两个方面:一、恶意篡改修改数字产品的容,使得合法用户接收到的数字产品不真实、不可靠、甚至失去原有的使用价值。二、侵犯1.非法使用:未经所
6、有者的容许非法复制或翻印数字产品。2.非法转卖:未经所有者的容许将数字产品转卖。3.破坏:将数字产品所携带的信息消除,使得该产品得不到正当的保护。1.2 选题的目的以前解决数字产品安全的问题是通过密码学方法完成的,即首先将数字产品加密成密文然后发布,使得网络传输过程中的非法攻击者无法从密文中获得信息,从而达到信息安全的目的,但这并不能完全解决问题,一方面加密后的文件因其不可理解性而大大妨碍了信息的传播,另一方面文件解密后容完全透明,将不再受到保护,无法幸免于盗版和侵权。因而传统的密码学方法已经受到了十分严峻的挑战。在这种情况下,信息隐藏技术引起了人们的高度重视。信息隐藏是将有用的或重要的信息隐
7、藏于其他信息里面以掩饰其存在。由其发展和演变而来的数字水印技术成为了当前国际学术界研究的一个前沿方向和热点。在数字产品的网上交易和传输中,有两个关键的技术问题需要解决:一是数字产品的访问控制和安全传输;二是数字产品容的保护。访问控制需要解决用户的认证与管理、对多媒体产品数据库的访问控制以与数据的安全传输等问题,该问题可由传统的密码学方法解决。第二个问题主要分两个部分:一是保护,二是容完整性(真实性)的保护。第二个问题就要用到数字水印技术了,而传统的密码学方法无能为力。1.3 选题的意义数字水印属于信息隐藏的一种,它是将具有确定性和性的信息(水印)嵌入到数字产品(静止图像、语音、文档、视频等)中
8、,使之作为原始数据的一部分而保留在其中,从而实现隐藏传输、存储、标注、身份识别、保护等功能。可见,一方面,它可以被用来证明原创作者对其作品的所用权,作为鉴定、起诉非法侵权的证据;另一方面,作者还可以通过对其数字产品中的水印进行探测和分析来实现对作品的动态跟踪,从而保证其作品的完整性,因而数字水印已经成为了知识产权保护和数字产品防伪的有效手段。数字水印保护的基本手段是将、产品的标识码以与购买者的信息等(称为水印信号)嵌入到数字产品中。嵌入的水印信号应当不降低原数据的质量、且在感觉上不易察觉(即不可见水印,可见水印由于容易受到攻击,目前已不是研究的主流方向),能够经受一定的攻击而不被清除,需要时可
9、以通过检测(提取)嵌入的水印信息来鉴别数字产品的、认证该数据的真伪或辨识该产品的原购买者、进行完整性鉴定等等。1.4 国外数字水印研究现状数字水印技术是近年来发展起来的一项重要应用研究,其学术特点在于它横跨计算机科学、图像信息处理、多媒体技术、模式识别、密码学、数字通讯等众多学科和领域。作为数字化时代的一门新兴技术,它尚未形成一套独立完整的学科理论体系,但其重要的现实作用已经引起国外众多学者、研究机构和公司的极大兴趣,成为当前信息科学中的一个新颖且具有广阔应用前景的研究热点。根据数字水印技术作用域的不同,数字水印技术可以分为空间域水印技术和变换域水印技术,我们从两种域空间来说明数字水印技术的国
10、外研究现状。1.4.1 对空间域水印技术的研究空域技术直接更改图像的数据,通常是在图像的亮度或彩色光带或者在两者之上加一个调制信号来嵌入数字水印。该技术属于早期研究,目前的水印技术大都是基于最低有效位LSB(LeastSignificant Bit)方法。该方法把水印信息放在图像数据的最低位上,保证了水印的不可见性,但它的鲁棒性差,一般的图像压缩和量化就可以把大部分水印去掉。Bender等提出了一种基于图像统计特性的水印技术。它首先随机地选取一对像素值(a,b),假定它们满足一定的统计特性,如高斯分布N(0,1);然后对其中一个像素的灰度值加1,对另一个像素的灰度减1。Pitas改进了上述算法
11、,将原始图像分成两个集合和,对于集合中的亮度值由一个正整数参数K控制来进行水印的嵌入,即将变成,则嵌入水印后的图像变成和,然后通过计算统计量来进行检测,将的值和一个指定的阀值作比较来判断是否含有水印。该改进算法对JPEG压缩有一定的抵抗能力。Lee等在空间域上实现了一种自适应水印算法,嵌入水印是二值图像,在嵌入水印之前,原图分解为块,每块中的像素自适应地修改保证好的鲁棒性和不可见性,嵌入的位置由密钥k通过随机数产生器来进行选择。上述的几种方法在检测水印时都需要原始图像,水印的鲁棒性不好,经JPEG压缩或其他图像处理后容易被去掉。1.4.2 对变换域水印技术的研究变换域水印技术是先将图像变换到频
12、率域,改变图像的频率域系数,然后进行反变换得到加入水印的图像。几种最常见的变换是离散傅立叶变换(DFT),离散余弦变换(DCT),离散小波变换(DWT)等。Cox等人在1995年提出了扩展频谱方法,该方法利用通信理论上的频谱扩展思想,将数字水印在图像的频谱上扩展达到不可见性和鲁棒性的目的。由于它是在数字图像感知比较重要的频谱部分嵌入水印,所以它在抵抗有损压缩与其他图像处理操作能力有很大提高,但它的缺点是提取水印时必须利用原始图像。Koch等人提出了一种基于分块DCT变换的数字图像水印算法,该算法将图像先分成88块,并对每一块做DCT,然后选择其中的一部分作为修改的对象。接着在所选块中,根据一定
13、的规则挑选一些位于中频的DCT系数嵌入水印。Bors给出了一种基于Gaussian网分类器的图像水印算法,然后修改其中选定的像素点,使得它们的DCT系数满足一定的约束条件,该算法抗JPEG压缩能力非常好。Piva等人提出了一种基于DCT域的水印算法,他们将一串随机序列加到选定的图像的DCT系数中,并在算法中利用了HVS的屏蔽性,从而更好地满足了水印的不可见性,这种算法在提取水印时不需要原始图像。伯晓晨等人提出一种新的盲图像水印检测算法,在DCT域嵌入水印,采用符号相关检测来检测水印。随着JEPG2000的标准化和DCT到DWT图像压缩方法的转变,基于DWT的水印方案引起了人们越来越多的兴趣。I
14、noue等人提出了一种基于DWT数字水印方法,该方法通过使用控制量化处理,把信息嵌入到图像信号的低频成分,然后使用量化步长和低频域的均值幅度提取水印,这种方法不需要原始图像。Chae等人在DWT系数上实现一种位扩展嵌入水印的方法,该方法把信息大部分嵌入在低频DWT子带,嵌入时水印的每位线性扩展为24位,同时原始图像系数也扩展为24位,根据一定的规则实现每个对应8位之间的嵌入;而检测时做相反的过程提取水印,该方法具有一定的鲁棒性,但提取水印时需要原始图像。为了提高水印的鲁棒性,人们研究人的视觉特性,实现水印的自适应嵌入,如Podilchuk等人提出一种基于DWT的自适应水印方法。Barni等人考
15、虑人眼的视觉分布,根据Lewis等人提出的视觉掩盖模型实现水印的自适应嵌入,该方法考虑了视觉对各子带方向的敏感特性,各子带的亮度特性和纹理特性,具有很好的效果。Kundur等人利用多尺度融合技术,结合人类视觉模型提出一种静止图像水印技术,该方法将Dooley提出的对比敏感特性模型扩展为二维模型,根据此模型计算每个自带的对比敏感系数,从而实现水印的嵌入,在提取水印时需要原始图像。随着水印算法研究的逐渐深入,对水印的鲁棒性要求也越来越高,因此水印算法的研究也与更多的学科相结合,如通信与信息理论、图像与语音处理、信号检测与估计、数据压缩技术、人类视觉与听觉系统、计算机网络与应用、电波传播等。从国外对
16、水印的研究来看:变换域的水印技术是当前数字水印技术研究的主流。1.5 本课题研究容 本文首先具体分析了图像预处理过程与其实现离散傅立叶变换(DFT),离散余弦变换(DCT),离散小波变换(DWT)三种方式实现对水印嵌入并提取的过程,具体容如下:(1) 图像预处理: 常用的图像预处理手段包括图像大小的修改、图像浓度的扩展,图像由彩色差到灰度的转变、图像二值化、图像的锐化处理与图像平滑处理等方法。一般来说任何图像我们不是拿来就是能用的,很多的图像都要经过预处理的从而使图像更适合我们的要求,然后再进行水印的嵌入。(2) 离散傅立叶变换(DFT):嵌入时首先通过对原始图像(DFT)然后将水印图像嵌入到
17、经过变换后的图像中,再经过反傅里叶变换从而得到嵌入水印后的图像;提取时把嵌入水印的图像进行傅里叶变换,从而得到水印图像。(3) 离散余弦变换(DCT):嵌入时首先把图像分成无重叠像素块,再经过分块DCT变换,得到DCT系数组成的频率块,然后将水印图像放入DCT的频率块,完成水印的嵌入,从而得到嵌入水印的图像;提取时对嵌入水印图像进行DCT变换,从而得到水印图像。(4) 离散小波变换(DWT):嵌入时首先对原始图像进行一级小波变换得到原始图像的小波系数列,再对水印图像进行一级小波变换,得到水印图像小波系数列,然后采用乘性将水印图像小波系数列插回原始图像的系数列中去,对得到的新的系数列进行逆小波变
18、换得到嵌入水印后的图像;提取时对嵌入水印图像做相应的三级变换,然后利用逆小波变换进行重构得到了水印图像。2 数字水印技术理论概述2.1数字水印的基本概念 数字水印(Digital Watermark)技术是将与多媒体容相关或不相关的一些标示信息直接嵌入多媒体容当中,但不影响原容的使用价值,并不容易被人的知觉系统觉察或注意到。通过这些隐藏在多媒体容中的信息,可以确认容创建者、购买者,或者验证容是否真实完整。与水印相近或关系密切的概念有很多,从目前出现的文献中看,已经有诸如信息隐藏 (Information Hiding )、信息伪装(Steganography )、数字水印(Digital Wa
19、termarking )和数字指纹(Fingerprinting )等概念。2.2数字水印的基本特征(1)安全性:数字水印的信息应是安全的,难以篡改或伪造,同时,应当有较低的误检测率,当原容发生变化时,数字水印应当发生变化,从而可以检测原始数据的变更;当然数字水印同样对重复添加有有强的抵抗性。(2)隐蔽性:数字水印应是不可知觉的,而且应不影响被保护数据的正常使用,不会降质。(3)鲁棒性: 是指在经历多种无意或有意的信号处理过程后,数字水印仍能保持部分完整性并能被准确鉴别。可能的信号处理过程包括信道噪声、滤波、数/模与模/数转换、重采样、剪切、位移、尺度变化以与有损压缩编码等。主要用于保护的数字
20、水印属于鲁棒性数字水印(Robust Watermarking),而易损水印(Fragile Watermarking), 主要用于完整性保护,这种水印同样是在容数据中嵌入不可见的信息。当容发生改变时, 这些水印信息会发生相应的改变,从而可以鉴定原始数据是否被篡改。(4)水印容量:嵌入的水印信息必须足以表示多媒体容的创建者或所有者的标志信息,或购买者的序列号,这样有利于解决纠纷,保护数字产权合法拥有者的利益。尤其是隐蔽通信领域的特殊性,对水印的容量需求很大。2.3 数字水印的基本理论框架一个数字水印方案一般包括三个基本方面:水印的生成、水印的嵌入和水印的提取或检测。数字水印技术实际上是通过对水
21、印载体媒质的分析、嵌入信息的预处理、信息嵌入点的选择、嵌入方式的设计、嵌入调制的控制等几个相关技术环节进行合理优化,寻求满足不可感知性、安全可靠性、稳健性等诸条件约束下的准最优化设计问题。而作为水印信息的重要组成部分密钥,则是每个设计方案的一个重要特色所在。往往可以在信息预处理、嵌入点的选择和调制控制等不同环节入手完成密钥的嵌入。2.3.1 数字水印嵌入的理论框架数字水印嵌入过程基本框架示意图如图2.1所示:水印生成算法(G)数字水印(W)原始载体数据(I)水印嵌入算法(E)加入水印后的数据私钥/公钥(K)图 2.1水印嵌入算法该系统的输入是水印信息、原始载体数据和一个可选的私钥/公钥。其中水
22、印信息可以是任何形式的数据,如随机序列或伪随机序列、字符或栅格。二值图像、灰度图像或彩色图像;3D图像等等。水印生成算法应保证水印的唯一性、有效性、不可逆性等属性。水印信息可由伪随机数发生器生成,另外基于混沌的水印生成方法也具有很好的特性。密钥可用来加强安全性,以避免未授权的恢复和修复水印。所有的实用系统必须使用一个密钥,有的甚至使用几个密钥的组合。水印的嵌入算法很多,从总的来看可以分为空间域算法和变换域算法。具体算法将在后面详细介绍。由图2.1可以定义水印嵌入过程的通用公式:(2.1)其中表示嵌入水印后的数据(即水印载体数据),表示原始载体数据,表示水印集合,表示密钥集合。这里密钥是可选项,
23、一般用于水印信号的再生。2.3.2 数字水印提取的理论框架数字水印提取过程基本框架示意图如图2.2所示数字水印(W)/原始数据(I)待检测数据()水印提取算法(D)估计水印()/相似度检测(Sim)私钥/公钥(K)图 2.2 水印提取算法由图2.2可以定义水印检测过程的通用公式为:1 有原始载体数据时:(2.2)2 有原始水印时:(2.3)3 没有原始信息时:(2.4)其中,表示估计水印,为水印检测算法,表示在传输过程中受到攻击后的水印载体数据。检测水印的手段可以分为两种:一是在有原始信息的情况下,可以做嵌入信号的提取或相关性验证;二是在没有原始信息情况下,必须对嵌入信息做全搜索或分布假设检验
24、等。如果信号为随机信号或伪随机信号,证明检测信号是水印信号的方法一般就是做相似度检验。水印相似度检验的通用公式为:(2.5)其中表示估计水印,表示原始水印,表示不同信号的相似度。2.4 数字水印的分类数字水印可以从不同的角度进行划分:(1) 按照水印嵌入的位置按照水印嵌入的位置可把水印分为空域水印和变换域水印。空域的水印嵌入可以通过修改媒体的采样值的强度值实现。这种方法不需要对原始媒体进行变换,计算简单,效率较高,但由于水印要均衡不可见性和鲁棒性,因而可选择的属性围较小,而且生成的水印难以抵抗常见的信号处理攻击与噪声干扰的影响,鲁棒性较差。变换域的方法将水印添加到原始媒体的某种变换系数中实现嵌
25、入,可以把水印加到DFT域、DCT变换域、小波变换域中等。变换域的方法需要对原始媒体数据进行变换,计算较复杂,但变换域的水印算法往往有比较好的鲁棒性,因此,变换域的水印算法是目前研究的热点。(2) 按照水印检测的方式按照水印检测的方式可把数字水印分为无需原作的水印(盲检测水印)、需要原作的水印(明检测水印)和需要原作相关信息的水印(半盲检测水印)。对于盲检测水印,其检测独立于原始媒体数据进行,即水印的抽取由含水印的媒体本身确定。这种水印的检测可以在任何拥有检测环境的平台上进行,使用围较广。但此类算法仅利用选定数据的固有特征进行水印的嵌入和检测,这样在数据固有特征被破坏时,水印检测较为困难,生成
26、水印的鲁棒性较差。对明文水印的检测是在分析原始媒体数据与含水印媒体数据差别的基础上进行的,因而只能由原始作品的持有者进行检测,生成的水印难于被伪造。同时对这样的算法,可嵌入水印的位置选择围较大,能充分考虑到水印的鲁棒性和不可感知性,生成水印的鲁棒性较好。半盲水印的检测无需原作,但是需要某些与原作有关的信息,这些信息可能是原作嵌入水印时的某些参量,也可能是表征原作某些特征的信息。(3) 按照所选水印的形式按照所选水印的形式可把水印分为序列水印、标志图像水印和标识信息水印。序列水印采用的是满足一定分布的伪随机序列,这样水印的检测只能回答出水印的有无,不能给出水印的特征信息。水印的检测是通过计算相关
27、函数来进行的。为增强水印的说服力,增加视觉上的形象性,标志水印采用具有一定代表性的标志图像作为有意义水印。水印技术的提高使得人们将制作者、产权者与购买者的标识信息直接作为水印嵌入原始作品当中,这就是标识信息水印。(4) 按照水印的抗攻击能力按照水印的抗攻击的能力可把水印分为脆弱水印、半脆弱水印和鲁棒性水印。脆弱水印主要用于完整性保护,对信号的改动很敏感。不仅水印的变换很容易被检测到,而且易于对变化进行空间分类和定位。可利用此类水印判断数字媒体是否被篡改和进行数据完整性的检测。半脆弱性水印对于某些处理(如JPEG压缩、MP3压缩等)具有一定的鲁棒性,对于其它处理则视为恶意攻击,保持高度敏感性。因
28、为一个完善的认证系统应能将JPEG压缩、MP3压缩等这类“善意”的处理和那些蓄意破坏操作区分开来。实际中,数字图像、音频、视频的数据量十分庞大,在数据库和网上多以压缩形式存储和传输,压缩后的容同样应视为真实。鲁棒性水印主要用于在数字作品中标识著作权信息,它要求嵌入的信息能够经受各种常见的恶意攻击。(5) 按照水印的用途不同的应用需求造就了不同的水印技术。按照水印的用途可把水印分为保护水印、篡改提示水印、隐蔽标识水印和票据防伪水印。保护水印是目前研究最多的一类水印,保护水印主要强调隐蔽性和鲁棒性,对数据量的要求相对较少。篡改提示水印是一种脆弱水印,其目的是标识宿主信号的完整性和真实性。隐蔽标识水
29、印是将数据的重要标识隐藏起来,限制非法用户对数据的使用。票据防伪水印主要用于票据和电子票据的防伪。2.5 数字水印的鲁棒性问题和攻击行为2.5.1 数字水印的鲁棒性问题 数字水印必须很难(希望不可能)被清除。当然从理论上讲,只要具有足够的知识,任何水印都可以去掉。但是如果只能得到部分信息,如水印在图像中的精确位置未知,那么破坏水印将导致图像质量的严重下降。特别的,一个实用的水印算法应该对信号处理、通常的几何变形(图像或视频数据),以与恶意攻击具有鲁棒性。它们通常包括:1. 图像压缩:图像压缩算法是去掉图像信息中的冗余量。水印的不可见性要求水印信息驻留于图像不重要的视觉信息中,通常为图像的高频分
30、量。而一般图像的主要能量均集中于低频分量上。经过图像压缩后,高频分量被当作冗余信息清除掉,因此有的文献将水印嵌入图像的最显著的低频分量中或使用带低通特性的水印,虽然这可能会降低图像的质量。目前的一些水印算法对现有的图像压缩标准(JPEG 、MPEG ) 具有较好的鲁棒性,但对今后有更高压缩比的压缩算法则不能保证也具有同样好的鲁棒性。2. 滤波:图像中的水印应该具有低通特性,即低通滤波(如均值滤波和中值滤波)应该无法删掉图像中的水印,事实上当前很多针对水印的攻击行为是用滤波完成的。3.图像量化与图像增强:一些常规的图像操作,如图像在不同灰度级上的量化、亮度与对比度的变化、直方图修正与均衡,均不应
31、对水印的提取和检测有严重影响。4.几何失真:几何失真包括图像尺寸大小变化、图像旋转、裁剪、删除或增加图像线条以与反射等等。很多水印算法对这些几何操作都非常脆弱,容易被去掉。因此研究水印在图像几何失真的鲁棒性也是人们所关注的。2.5.2 数字水印的攻击行为 对数字水印的攻击一般是针对水印的鲁棒性提出的要求,在前面已介绍过数字水印的鲁棒性是指水印信号在经历多种无意或有意的信号处理后,仍能被准确检测或提取的特征。标准数据处理是指数据(特别是数字作品)经过数据发布渠道,如编辑、打印、增强、格式转换等的过程。攻击是指那些带有损害性、毁坏性的,或者试图移去水印信号的处理过程。 鲁棒性好的水印应该能够抵抗各
32、种水印攻击行为。在这里我们只考虑那些并不严重导致载体数据失真的攻击方法。按照攻击原理可以将攻击分为四类:简单攻击、同步攻击、削去攻击和混淆攻击。(1) 简单攻击(simple attacks) 简单攻击是试图对整个水印化数据(嵌入水印后的载体数据)进行操作来削弱嵌入的水印的幅度(而不是试图识别水印或分离水印),导致数字水印提取发生错误,甚至根本提取不出水印信号。常见的操作有线性滤波、通用非线性滤波、压缩(JPEG、MPEG)、添加噪声、漂移、象素域量化、数模转换、gamma修正等。(2) 同步攻击(synchronization attacks) 同步攻击是试图破坏载体数据和水印的同步性,即试
33、图使水印的相关检测失效或使恢复嵌入的水印成为不可能。被攻击的数字作品中水印仍然存在,而且幅度没有变化,但是水印信号已经错位,不能维持正常水印提取过程所需要的同步性。这样,水印提取器就不可能、或者无法实行对水印的恢复和提取。同步攻击通常采用几何变换方法,如缩放、空间方向的平移、时间方向的平移(视频数字作品)、旋转、剪切、象素置换、二次抽样化、象素或者象素簇的插入或抽取等。(3) 削去攻击(removal attacks) 削去攻击试图通过分析水印化数据,估计图像中的水印,将水印化数据分离成为载体数据和水印信号,然后抛弃水印,得到没有水印的载体数据,达到非法盗用的目的。常见的方法有:合谋攻击(co
34、llusion attacks)、去噪、 确定的非线性滤波、采用图像综合模型的压缩(如纹理模型或者3-D模型等)。针对特定的加密算法在理论上的缺陷,也可以构造出对应的削去攻击。(4) 混淆攻击(ambiguity attacks) 混淆攻击是试图生成一个伪源数据、伪水印化数据来混淆含有真正水印的数字作品的,由于最早由IBM的Craver等人提出,也称IBM攻击。一个例子是倒置攻击,虽然载体数据是真实的,水印信号也存在, 但是由于嵌入了一个或多个伪造的水印,混淆了第一个含有主权信息的水印, 失去了唯一性。这种攻击实际上使数字水印的保护功能受到了挑战, 如何有效地解决这个问题正引起研究人员的极大兴
35、趣。3 图像预处理算法实现3.1 引言在图像处理的过程中,由于获取图像的工具或手段的影响,使获取图像无法完全体现原始图像的全部信息。因此,以改善图像数据、抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征为目的的图像预处理在图像处理的过程中就显得非常重要。常用的图像预处理手段包括图像大小的修改、图像浓度的扩展,图像由彩色差到灰度的转变、图像二值化、图像的锐化处理与图像平滑处理等方法。本文采用了matlab 开发工具实现了上述图像预处理算法并给出了各种算法的处理结果。3.2 图像二值化处理 二值化是数字图像处理中一项最基本的变换方法,通过非零取一固定阈值、双固定阈值等不同的阈值化变换
36、方法,使一幅灰度图像变成了黑白二值图像,将我们所需的目标从复杂的图像背景中提取出来.阈值5-6处理的操作过程是指定一个阈值,如果图像中某像素的灰度值小于该阈值 ,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。3.2.1图像二值化的实现代码图像二值化代码见目录A(A.1)。在matlab实验平台结果如下图:图3.1 二值化处理后的图像3.3 图像平滑处理图像的平滑方法是一种实用的图像处理技术,能减弱或消除图像中的高频率分量,但不影响低频率分量。因为高频率分量主要对应图像中的区域边缘等灰度值具有较大较快变化的部分,平滑滤波将这些分量滤去可减少局部灰度起伏,使图像变得比较平滑。实际
37、应用中,平滑滤波还可用于消除噪声,或者在提取较大目标前去除过小的细节或将目标的小间断连接起来。它的主要目的是消除图像采集过程中的图像噪声,在空间域中主要利用邻域平均法、中值滤波法和选择式掩模平滑法等来减少噪声;在频率域,由于噪声主要存在于频谱的高频段,因此可以利用各种形式的低通滤波器来减少噪声。3.3.1 图像平滑处理代码图像平滑处理代码见目录A(A.2)。在matlab实验平台结果如下图:图3.2 平滑处理后的图像3.4 图像锐化处理图像锐化是一种补偿轮廓、突出边缘信息以使图像更为清晰的处理方法.锐化的目标实质上是要增强原始图像的高频成分。常规的锐化算法对整幅图像进行高频增强,结果呈现明显噪
38、声。为此, 在对锐化原理进行深入研究的基础上,提出了先用边缘检测算法检出边缘, 然后根据检出的边缘对图像进行高频增强的方法。实验结果表明,该方法有效地解决了图像锐化后的噪声问题。 锐化的目的在于使图像中对象轮廓上的像素灰度大的更大,小的更小,但对轮廓外的像素不起作用。由于这一原因,图像的锐化对孤立点或对孤立线条的 边缘增强作用十分明显,但在一定程度上也会对噪声信号产生增强作用。3.4.1 图像锐化处理代码图像锐化处理代码见目录A(A.3)。在matlab实验平台结果如下图:图3.3 锐化处理后的图像3.5 图像缩放处理 图像缩放是指对数字图像的大小进行调整的过程。图像缩放是一种非平凡的过程,需
39、要在处理效率以与结果的平滑度和清晰度上做一个权衡。当一个图像的大小增加之后,组成图像的像素的可见度将会变得更高,从而使得图像表现得“软”。相反地,缩小一个图像将会增强它的平滑度和清晰度。3.5.1 图像缩放处理代码图像缩放处理代码见目录A(A.4)。在matlab实验平台结果如下图:图 3.4 缩放处理后的图像3.6 图像灰度化处理将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化围。而灰度图像是 R、G、B三个分量一样的一种特殊的彩色图像,
40、其一个像素点的变化围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。3.6.1图像灰度化处理图像灰度化处理代码见目录A(A.5)。在matlab实验平台结果如下图:图3.5 灰度化处理后的图像4 数字水印典型算法4.1 基于傅里叶变换的数字水印算法4.1.1 引言 目前,图像水印技术的研究对于水印鲁棒性的要求比较高,有相当一部分算法采用伪随机噪声来构造水印,与之相应,采用相关性检验来检测被检测图像中是否含有水印。当被检测图像中所提取的待测序列与原始水印具
41、有较强的相关性时, 表示该被检测图像中含有水印,否则不含有水印。然而在另外一些情况下,对嵌入图像中的水印信息要求比较高。比如要求所嵌入的信息是可读的或可视的, 如有意义的信息(文字,图像等)。这种有意义的水印具有无意义水印无可比拟的优点。因此,本章结合伪随机序列与有意义水印, 提出了基于傅立叶域相关性检测的水印算法。为了提高水印的安全性, 在嵌入水印前用Aronld变换对水印图像进行了置乱,下面先介绍Aronld变换。4.1.2 基于Arnold变换的图像置乱算法Arnold变换,又称“猫脸”变换,是Arnold在研究遍历理论过程中提出的一种变换。假设图像为。令(4.1)这就是单位正方形上的A
42、rnold变换。实际上,可以令离散图像的像素坐标扩展到一幅图像上,对于一幅大小为NN的图像,有下述的Arnold变换 (4.2)由此做迭代变换,记A=,式中为输入,左端为输出,考虑其反馈, 有 (4.3)通过离散点的置换,同时把图像信息移植过来,当遍历了原图象的所有点之后,便产生了一副新的图像。 对于数字图像而言,我们所说的位置移动其实是对应点的灰度值或RGB颜色值的移动,即原来点处象素对应的灰度值或RGB值移动至变换后的点处。如果我们对一个数字图像迭代地使用离散化的Arnold变换,即将左端输出的作为下一次Arnold变换的输入,可以重复这个过程一直下去。当迭代到某一步时,如果出现的图像符合
43、我们对图像的“杂乱无章”标准的要求,这即是一幅基于Arnold变换的置乱图像。注意到(4.2)式定义的Arnold变换实际上是一种点的位置移动,且这种变换是一一对应的。此外,这种变换可以迭代地做下去。类似的变换还有面包师变换。需要注意的是,Arnold变换具有周期性,即当迭代到某一步时,将重新得到的原始图像。Dyson和Falk分析了离散Arnold变换的周期性,给出了对于任意N2,Arnold变换的周期。4.1.3 嵌入算法原理 开 始原始图像子块划分DFT变换二值水印Arnold置乱产生伪随机序列修改相应的幅度谱值IDFT变换嵌入水印图像 结 束图 4.1 水印嵌入流程图为了提高传统相关性
44、检测方法的准确率,本算法采取嵌入两个不相关伪随机序列的方法,有效的提高了提取的准确率。 首先将原始图像划分子块,对每一图像块进行DFT变换,将二值水印图像用Arnold变换置乱。产生两个伪随机序列。置乱水印矩阵值为0时用一个伪随机序列与原始图像的幅度谱进行乘性叠加,矩阵值为1时,用另一个伪随机序列与原始图像幅度谱进行乘性叠加。1子块划分将原始图像分成88的图像子块 (4.4)2对每一图像块进行DFT变换 (4.5)然后做FFT平移,对于二维矩阵将一、三象限与二、四象限互换,使得直流分量位于中间。 3将二值水印用Arnold变换置乱4产生两个不相关的伪随机序列5.修改相应幅度谱值 由于DFT域的
45、幅度谱具有对称性,为了水印嵌入后保持这种对称性不变,也为了确保恢复图像像素值为实数,嵌入水印时采用对称嵌入,即: (4.6)式中为取复数的幅度,为嵌入信息。 嵌入规则为当水印矩阵元素为0时,将一个伪随机序列与幅度谱对应元素进行乘性叠加。当水印元素为1时,用另一个伪随机序列与幅度谱对应元素进行乘性叠加。嵌入时以滤波矩阵选择嵌入块中的位置。6对每一图像块进行DFT逆变换,得到含水印图像 (4.7) (4.8)4.1.4 提取算法原理 开 始嵌入水印图像 子块划分 DFT变换产生伪随机序列 计算幅度谱与伪随机序列的相关性系数Arnold置乱 提取水印 结 束 图 4.2 水印提取流程图水印提取算法是
46、嵌入算法的逆过程1子块划分将嵌入水印图像分成88的图像子块: (4.9)2对每一图像块进行DFT变换 (4.10)然后做FFT平移,对于二维矩阵将一、三象限与二、四象限互换,使得直流分量位于中间。3产生两个不相关的伪随机序列。4计算嵌入水印幅度谱与伪随机序列的相关性,并按照嵌入时的规则产生水印矩阵。5将水印矩阵用Arnold变换进行置乱得到提取水印。4.1.5 实验结果与分析4.1.5.1 仿真实验程序与图像Matlab实现程序见附录B。原始宿主图像是384*384*8b的lena灰度测试图像:图 4.3 原始图像而水印图像是一幅40*40*1b的二值图像:图 4.4 水印图像下图是用Matlab软件进行试验的结果: