课程设计任务书学生姓名: 专业班级:指导教师:工作单位:武汉理工大学题目: 数字水印算法设计初始条件:(1)Matlab应用软件的基本知识以及基本操作技能。
(2)高等数学、信号与系统等基础运算知识。
要求完成的主要任务:(1)掌握一种数字水印的嵌入与提取算法原理。
(2)编写出水印嵌入算法的matlab程序,并给出水印嵌入前后的版权图像,并对嵌入效果进行分析说明。
(3)编写出水印提取算法matlab程序,并给出水印原图和提取出的水印图像,并对水印的提取效果进行分析说明。
(4)进行水印的抗攻击实验,噪声攻击,剪切攻击,缩放攻击,压缩攻击等。
测定提取前后水印的峰值信噪比(PSNR)和相关性(NC)。
时间安排:6月20日到6月27日理论设计与仿真6月28日到7月3日撰写报告7月4日答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (2)ABSTRACT (3)1.数字水印技术概述 (4)1.1 数字水印技术提出的背景 (4)1.2 数字水印的基本特点 (4)1.3 数字水印的应用 (5)1.MATLAB软件的介绍 (7)2.1 MATLAB研究数字水印的优点 (7)2.2 MATLAB函数介绍 (8)3.傅立叶域水印理论基础 (10)3.1 傅立叶变换简述 (10)3.1.1 一维离散傅立叶变换DFT (10)3.1.2 快速傅立叶变换 FFT (11)3.1.3 二维离散傅立叶变换 (12)3.2 傅立叶变换性质 (13)3.2.1 空间域平移性 (13)3.2.2 旋转不变性 (14)3.2.3 比例缩放性 (14)4.基于傅立叶域相关性检测的半盲水印 (15)4.1 引言 (15)4.2 基于Arnold 变换的图像置乱算法 (15)4.3 水印算法 (17)4.3.1 算法原理 (17)4.3.2 算法的matlab 实现步骤 (20)4.4 算法的matlab 实现及结果分析 (21)5.总结与心得体会 (26)6.参考文献 (27)附录 (28)摘要随着计算机及网络技术的飞速发展,数字作品传播和拷贝变得越来越方便,同时使得数字作品的信息安全保护和版权保护也成为迫切需要解决的实际问题。
数字水印是近年来在信息安全领域兴起的保护知识产权的新方法。
它通过在原始数据中嵌入一些重要信息为受到版权保护的媒体数据的完整性和所有权归属提供完全和可靠的证据,以此达到防止数字产品的盗版和篡改目的。
本文提出了一种基于傅立叶域的有意义水印算法,主要做了如下工作:(1)为了提高水印的安全性,在嵌入水印之前首先对水印信息利用Arnold变换进行置乱。
(2)为了提高传统相关性检测方法的准确率,嵌入水印时采用嵌入两个不相关伪随机序列的方法,大大提高了检测的准确率。
(3)低频部分集中图像的大部分能量,修改这里容易引起失真,所以本文采用修改中高频部分的方法进行嵌入。
(4)本文水印的检测方法为半盲检测,只需要原始水印的部分信息的参与,所以具有重要的现实意义。
关键字:数字水印;傅立叶变换;图像处理;信息安全ABSTRACTAlong with the computer and network technology rapid development, and dissemination of digital works have become increasingly easy to copy, simultaneously allow digital works to protect the security of information and copyright protection has become an urgent need to address the real issues. In recent years, digital watermarking is in the field of information security emerging intellectual property protection method. It passed in the original data embedded in some important information protected by copyright for the data integrity of media ownership and attribution mention for complete and reliable evidence, thereby to prevent the piracy of digital products and tampering with purpose.This paper presents a Fourier-domain based on the meaningful watermarking algorithm, mainly in the following:(1) To enhance the security watermark, before the watermark embedded watermark on the first use of Arnold transform scrambling.(2) To improve the traditional detection methods related to the accuracy, used embedded watermark embedding two are not related to the pseudo-random sequence, greatly improve the detection accuracy.(3) low-frequency part of the image most concentrated energy; changes here easily lead to distortion, therefore this paper, revising part of the high-frequency method for embedding.(4) This watermark detection method for the semi-blind testing, only part of the original image information in, therefore have important practical significance.Key Words:Digital watermarking;Fourier transform;Image processing;Information security1.数字水印技术概述1.1 数字水印技术提出的背景二十一世纪是数字时代,通信技术的迅速发展和计算机网络的普遍运用,使人们可以通过互联网收发信息,可以随时上传自己创作的数字图象、音乐、视频等作品,可以进行学术交流。
然而,也正是由于网络的这种便捷性、传播迅速的优点使其很容易被非法拷贝,导致数字产品的版权、完整性、有效性得不到保证,严重损害了创作者的利益。
而一些具有特殊意义的数字信息,如涉及司法诉讼、政府机要等信息,更是遭到了不法分子地恶意攻击和随意篡改等,这一系列问题给当今科学家带来了巨大挑战。
基于以上类似问题,数字水印技术可以说是信息时代的特有产物,是一种可以在开放网络环境下保护版权和认证来源及保障信息完整性的新型技术,在音频、图像、视频制品中迅速得到广泛的研究和发展。
1.2 数字水印的基本特点数字水印是加在数字图象、音频或视频中的微弱信号,这个信号是人们能够建立产品所有权、辨认购买者或提供数字产品的一些额外信息。
具体说来,它们都具有以下共同的特征:1. 不可感知性对于数字水印的嵌入,应该对观察者没有视觉障碍,理想情况应该是水印图像与原始图像没有丝毫差别。
2. 鲁棒性鲁棒性是指一个数字水印能够承受攻击的能力,一般来说数字水印方法是针对特定的攻击进行设计。
3. 安全性水印技术的安全性是其最重要的特性,由于它的商业性,其算法必须公开,算法的安全性完全取决于密钥,而不对算法进行保密。
4. 计算复杂度不同应用中,对于水印的嵌入算法和提取算法的计算复杂度要求是不同的,复杂度直接与水印系统的实时性相关。
5. 水印容量水印容量是指载体数据字中可嵌入水印信息位的多少,可以从几兆到几个比特不等。
1.3 数字水印的应用数字水印是以不可感知的方式嵌入到数字信息中的,总体来说它有以下应用:数字产品产权保护这是数字水印最广泛的应用,将秘密的数字信号嵌入到有价值的数字文件中,这些数字信号是产权的标识,在不破坏数字文件的情况下不能被盗版者出去,起到了保护产权的作用。
1. 数据库标识有时一些文件中提示数据的标识信息往往比文件本身更重要或者一些音像文件需要将说明注释(如字幕等)与音像本身结合起来,这就可以通过数字水印技术加以解决。
2. 文件内容鉴定水印技术在鉴定数据建立者和鉴别数据内容有着特殊的运用,目的是检测数据是否被修改过或是否经过特殊的处理。
3. 系统升级日常生活中常常涉及到旧装系统升级情况,这可以通过将“增强层”嵌入到所发送的数据中来给传统的信号发射系统升级。
4. 商务交易中的票据防伪随着高质量图像输入输出设备的发展,使得货币、支票以及其他票据的伪造变得更加容易。
目前,美国、日本以及荷兰都已开始研究用于票据防伪的数字水印技术。
5. 媒体侦破这一运用的目的是提取对原始信号进行处理过的信息。
例如,鉴定方法可以发现一幅图像被篡改过,但无法发现是怎样篡改的。
媒体侦破技术就可以指出图像的哪部分被篡改了,指出被插入到原图像中的新对象等等。
2.MATLAB软件的介绍MATLAB语言是一种非常强大的工程语言,被广泛应用于包括信号与图象处理、控制系统设计、通信、系统仿真等诸多领域。
2.1 MATLAB研究数字水印的优点MATLAB语言有不同于其他高级语言特点,它在研究数字水印有如下特点:1. 编程效率高MATLAB语言是用数学形式的语言编写程序,用MATLAB编写程序犹如在演算纸上排列公式与求解问题。
由于它编写简单,所以编程效率高,易学易懂。
2.用户使用方便与其他语言相比,MATLAB能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误甚至语意错误,从而加快了用户编写、修改和调试程序的速度,便于操作。
3. 扩充能力强,交互性好MATLAB语言库函数丰富,用户还可以根据自己的需要方便地建立和扩充新的库函数,提高MATLAB使用效率和扩充功能。