基于DWT的数字图像水印技术及MATLAB实现

基于DWT的数字图像水印技术及MATLAB实现
基于DWT的数字图像水印技术及MATLAB实现

基于Matlab的数字水印设计——基于DCT域的水印实现

摘要 数字水印(Digital Watermark)技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。数字水印是信息隐藏技术的一个重要研究方向。随着数字水印技术的发展,数字水印的应用领域也得到了扩展,数字水印的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信。 当数字水印应用于版权保护时,潜在的应用市场在于电子商务、在线或离线地分发多媒体内容以及大规模的广播服务。数字水印用于隐藏标识时,可在医学、制图、数字成像、数字图像监控、多媒体索引和基于内容的检索等领域得到应用。数字水印的认证方面主要ID卡、信用卡、ATM卡等上面数字水印的安全不可见通信将在国防和情报部门得到广泛的应用。 本文主要是根据所学的数字图象处理知识,在MATLAB环境下,通过系统编程的方式,建立并实现基于DCT域的数字水印加密系统。该系统主要包含数字水印的嵌入与提取,仿真结果表明,数字水印算法具有有效性、可靠性、抗攻击性、鲁棒性和不可见性,能够为数字媒体信息在防伪、防篡改、认证、保障数据安全和完整性等方面提供有效的技术保障。 关键词:数字水印;MATLAB;DCT

目录 1 课程设计目的 (1) 2 课程设计要求 (2) 3 数字水印技术基本原理 (3) 3.1 数字水印基本框架 (3) 3.2 算法分类 (3) 3.2.1 DCT法 (4) 3.2.2 其他方法 (4) 3.3 实际需要考虑的问题 (4) 3.3.1 不可见性 (4) 3.3.2 鲁棒性 (5) 3.3.3 水印容量 (5) 3.3.4 安全性 (5) 4 基于DCT变换仿真 (6) 4.1 算法原理 (6) 4.1.1 准备工作 (6) 4.1.2 选取8*8变换块 (7) 4.1.3 边界自适应 (7) 4.1.4 DCT变换与嵌入 (7) 4.1.5 恢复空域 (8) 4.2 嵌入算法扩展 (8) 4.2.1 RGB彩色图像三个矩阵的划分 (8) 4.2.2 八色彩色水印 (8) 4.3 水印的提取 (9) 4.4 仿真程序 (9) 5 结果分析 (14) 结束语 (16) 参考文献 (17)

数字水印技术及基于MATLAB的快速实现

2011年3月刊计算机工程应用技术信息与电脑 China Computer&Communication 1. 引言 多媒体及网络的迅速发展使得多媒体信息的交流和传输变得更 加简单和快捷,然而,这也使盗版者能以低廉的成本复制及传播未经 授权的数字产品,这种对数字产品保护和信息安全的迫切需求,导致 了数字水印技术成为多媒体信息安全领域的一个热点问题。数字水印 技术是在不影响宿主媒体主观质量的情况下,在宿主媒体(文本、图 像、视频、音频)中嵌入不易被人察觉的标识信息,用以证明原创作 者对其作品的所有权,并作为鉴定、起诉非法侵权的证据。 2. 数字水印的特征 一般认为数字水印应具有以下特征: (1) 安全性。数字水印应该是安全、难以被篡改的。当数字作品 发生变化时,数字水印应当也相应发生变化;同时,未经授权的个人 不得修改水印,理论上是未经授权的用户不能检测到产品中是否含有 水印。 (2) 鲁棒性。当被保护的数据在经过攻击后,嵌入的水印信息仍 能保持好的完整性并能以一定的正确概率被检测到。这些可能的攻击 包括噪声、滤波、剪切、旋转和编码等。 (3) 不可感知性。数字水印的嵌入不应使得原始作品发生可以感 知的变化,也不能使得被保护数据在质量上发生可以感觉到的失真。 (4) 可证明性。在多媒体作品的实际应用过程中可能需要多次加 入水印,这时水印系统必须能够允许水印被多次嵌入到被保护的数 据,而且每个水印均能独立地被证明。 (5) 无歧义性。恢复出的水印或对水印判决结果能够表明版权的 惟一,不会发生多重版权纠纷问题。 3. 数字水印的基本原理 通用的水印技术包含两个方面:水印的嵌入和水印的提取或检 测,如图1和图2所示。 图1 水印信号嵌入 图2 水印信号提取或检测 4. 数字水印的研究现状 4.1 文本水印 文本水印就是将代表著作人身份的信息(水印)嵌入到电子出版物 中,在产生版权纠纷时来验证版权的归属。其主要分为三大类:基于 文档结构的水印方法、基于自然语言处理技术的水印方法、基于传统 图像的水印方法。 基于文档结构的各种水印方法都只是提留在文本的表层,无法抵 抗对于文本结构和格式的攻击,简单的重新录入攻击就能使之失效, 因此这些水印方法普遍存在鲁棒性差的缺点。自然语言文本水印方法 相对提高了抗攻击的能力,但普遍存在容量不足的问题。基于传统图 像的文本水印普遍存在鲁棒性不高、操作复杂的缺点。 4.2 图像水印 根据水印的实现过程,图像水印算法可分为空域算法和变换域算 法。空域算法是通过直接改变原始图像的像素值来嵌入水印,通常具 有较快的速度,但鲁棒性差,且水印容量也会受到限制;变换域算法 是通过改变某些变换系数来嵌入水印,通常具有很好的鲁棒性和不可 见性。其实现一般是基于图像变换,如DCT、DFT、DWT等。重点介 绍一下变换域算法。 4.2.1 离散傅里叶变换 (DFT) 该方法是利用图像的DFT来嵌入信息。通信理论中调相信号的抗 干扰能力比调幅信号的抗干扰能力强,同样在图像中利用相位信息嵌 入的水印也比用幅值信息嵌入的水印更稳健。实验表明该方法的抗压 缩能力比较弱。 4.2.2 离散余弦变换 (DCT) DCT能把空间域的图像转换到变换域上进行研究,从而能很容易 了解到图像的各空间频域成分,进行相应处理。基于DCT的水印方法 与基于DFT的水印方法相比有较好的鲁棒性,但是无法做到对图像信 号内容的自适应,因此往往会造成对图像特征的明显损害,不可感知 性不是最佳。 4.2.3 离散小波变换 (DWT) DWT是一种时间---频率信号的多分辨率分析方法,在时频两域 都具有表征信号局部特征的能力。实验表明,与DCT、DFT变换相比 较,基于DWT的水印算法的鲁棒性最优,且与JPEG2000、MPEG4压 缩标准兼容,利用DWT产生的水印具有良好的视觉效果和抵抗多种 攻击的能力,且不可感知性最好。 4.3 音频水印 音频水印利用音频文件的冗余信息和人耳听觉系统的特点来嵌入 水印,其可以保护声音数字产品不被随意复制和篡改,如CD唱片, 广播电台的节目内容等。音频水印的三种基本方法:扩频嵌入方 法、回声隐藏方法和相位编码方法。 4.4 视频水印 视频水印是通过对视频载体的时间和空间冗余来嵌入水印,其既 不影响视频质量,又能达到保护节目制作者的合法权益和控制数字产 品的复制。视频水印从算法要求上同图像水印有许多相似之处,但视 频水印也有一些独特之处,如能够在压缩和未压缩的格式下实时完成 水印的检测,对MPEG压缩、A/D和D/A转换等都有较好的稳健性。 数字水印技术涉及到通信理论、编码理论、噪声理论、视听觉 感知理论、扩频技术、信号处理技术、数字图像处理技术、多媒体技 术、模式识别技术、算法设计等理论,用到经典的DFT离散傅立叶变数字水印技术及基于MATLAB的快速实现 张 巍1 时宏伟2 (1.78179部队,四川成都 610011;2. 川大智胜,四川成都 610045) 摘要:数字水印是近几年来出现的数字产品版权保护技术,是当前国际学术界的研究热点.该文论述了数字水印的提出及研究现状、水印的基本原理和算法、水印的分类等情况,并介绍了一种可以快速上手的高效的实用语言——MATLAB,同时给出了一个用MATLAB工具在静止图像上嵌入水印的实例。 关键词:数字水印;MATLAB;DCT 中图分类号:TP39 文献标识码:A 文章编号:1003-9767(2011)03-0130-02

基于MATLAB的数字水印算法实现

数字水印作为一门新的学科, 自 1993 年 Tirkel 等人正式提出到现在十几年里, 国内外对数字水印的研究都引起了极大的关注, 从最初的版权保护, 已扩展到多媒体技术, 广播监听, in-ternet 等多个领域。数字水印是永久镶嵌在其他数据( 主要指宿主数据) 中具有可鉴别性的数字信号或数字模式, 其存在不能影响宿主数据的正常使用。为了使数字水印技术达到一定的设计要求, 当前水印数据一般应具备不可感知性(imperceptible) 、鲁棒性(Robust) 、可证明性、自恢复性和安全保密性等特点。在数字水印技术中, 水印的数据量和鲁棒性构成了一对基本矛盾。理想的水印算法应该既能隐藏大量数据, 又可以抗各种信道噪声和信号变形。然而在实际中, 这两个指标往往不能同时实现, 实际应用往往只偏重其中的一个方面。如果是为了隐蔽通信, 数据量显然是最重要的, 由于通信方式极为隐蔽, 遭遇敌方篡改攻击的可能性很小, 因而对鲁棒性要求较为不高。但对保证数据安全来说, 情况恰恰相反, 各种保密的数据随时面临着被盗取和篡改的危险, 对鲁棒性的要求很高, 而对隐藏数据量的要求则居于次要地位。典型的数字水印系统至少包含两个组成部分- - 水印嵌入单元和水印检测与提取单元。将水印信息进行预处理后加入到载体中, 称为嵌入。从水印化数据中提取出水印信息或者检测水印信息的存在性称为水印的提取和检测。数字水印算法主要

是指水印的嵌入算法, 而提取算法往往被看成是嵌入算法的逆变换。 当前典型的嵌入算法主要被分为空间域水印算法和变换域水印算法。DCT 变换域算法是数字水印算法的典型代表, 也是数字水印中较为常用的一种稳健的算法。其算法思想是选择二值化灰度图像作为水印信息, 根据水印图像的二值性来选择不同的嵌入系数, 并将载体图像 ( 原始图像) 进行 8×8 的分块, 再将灰度载体图像( 原始图像) 进行 DCT变换。然后, 将数字水印信息的灰度值直接植入到载体灰度图像的 DCT 变换域中, 实现水印的嵌入。而后, 将嵌入了水印信息灰度图像进行 IDCT( 逆离散的余弦变换) 变换, 得到含有了嵌入水印信息的图像, 嵌入过程完毕。水印的提取、检测过程为嵌入过程的逆过程, 其方法和嵌入方法有所雷同不再进行介绍。 下面以 MATLAB 为工具, 给出一个在频域嵌入和提取黑白二值水印图像的实现过程。(1) 水印图像的预处理: 将水印信息图像进行灰度处理, 然后再将转换后的图像进行二值转换。而这些都是为了提高水印信息的安全性对图像所做的处理。(2) 读取原始公开图像(大小为 256×256) 和黑白水印图像(大小为 32×32, 模式为灰度) 到二维数组 I 和 J。(3) 将原始公开图像I 分割为互不覆盖的图像块, 每块大小为 8×8, 共分为 32×32 块。然后对分割后的每个小块Block- dct(x,y) 进行 DCT 变换, 得到变换后的小块 Block-dct(x, y)。(4) 取黑白水印图像中的一个元素 J(p, q) , 通过嵌入算法嵌入到原始公开图像块的中频系数中。(5) 对嵌入水印信息后的图像块Block- dct (x, y) 进行逆DCT 变换, 得到图像块 Block(x′, y′)。

数字水印技术DCT算法MATLAB源代码

%Name: Chris Shoemaker %Course: E ER-280 - Digital Watermarking %Project: Block DCT Based method, using comparision between mid-band coeffcients % Watermark Embeding clear all; % save start time start_time=cputime; k=50; % set minimum coeff difference blocksize=8; % set the size of the block in cover to be used for each bit in watermark % read in the cover object file_name='_lena_std_bw.bmp'; cover_object=double(imread(file_name)); % determine size of cover image Mc=size(cover_object,1); %Height Nc=size(cover_object,2); %Width % determine maximum message size based on cover object, and blocksize max_message=Mc*Nc/(blocksize^2); % read in the message image file_name='_copyright.bmp'; message=double(imread(file_name)); Mm=size(message,1); %Height Nm=size(message,2); %Width % reshape the message to a vector message=round(reshape(message,Mm*Nm,1)./256); % check that the message isn't too large for cover if (length(message) > max_message) error('Message too large to fit in Cover Object') end % pad the message out to the maximum message size with ones message_pad=ones(1,max_message); message_pad(1:length(message))=message; % generate shell of watermarked image watermarked_image=cover_object;

音频数字水印报告+matlab程序

音频数字水印 目录 1课题背景与现状 (2) 2研究的目的和意义 (4) 3方案设计和实施计划 (8) 4研究的主要内容 (10) 5创新点和结论 (10) 6成果的应用前景 (11) 7附录:个人工作总结 ................................................................................................ 错误!未定义书签。

1课题背景与现状 数字时代的到来,多媒体数字世界丰富多彩,数字产品几乎影响到每一个人的日常生活。信息媒体的数字化为信息的存取提供了极大的便利,同时也显著地提高了信息表达的效率和准确度。计算机网络通信技术特别是互联网的蓬勃发展,使得数据的交换和传输变成了一个相对简单且快捷的过程。人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传达到世界各地,在国际互联网上发布自己的作品,传递重要的信息,进行各种学术交流和电子商务活动等等。如何保护这些与我们息息相关的数字产品,如版权保护、信息安全、数据认证以及访问控制等等,已受到日益重视并变得迫切需要了,因此数字水印在今天的计算机和互联网时代大有可为。 数字水印技术是近十年才发展起来的,它是信息隐藏学的一个分支。随着国内信息化程度的提高和电子商务逐渐走向实用,数字水印技术将会拥有更加广阔的应用前景。鉴于信息隐藏与数字水印技术的应用前景,众多知名研究机构如麻省理工学院的多媒体实验室、剑桥大学的多媒体实验室、IBM数字实验室、日立、NEC、SONY,PHILIPS、微软等都加入到信息隐藏和数字水印技术的研究和应用并取得了一定的成果。1996年5月,第一届国际信息隐藏学术研讨会(CIHW)在英国剑桥牛顿研究所召开,至今该研讨会已举办了四届。另外,在IEEE

数字水印技术LSB算法MATLAB源代码

close all clear all; % save start time start_time=cputime; % read in the cover object file_name='E:\Phd\My Paper\Second paper -- Experiment\Experiment\Cover and Secret Image\lena.bmp'; [cover_object,map]=imread(file_name); % read in the secret image file_name='E:\Phd\My Paper\Second paper -- Experiment\Experiment\Cover and Secret Image\hat.bmp'; [secret,map1]=imread(file_name); secret1=secret; % convert to double for normalization, then back again secret=double(secret); secret=fix(secret./2); %rounds the elements of A toward zero, resulting in an array of integers secret=uint8(secret); % determine size of cover object Mc=size(cover_object,1); %Height Nc=size(cover_object,2); %Width % determine size of secret object Mm=size(secret,1); %Height Nm=size(secret,2); %Width % title the secret object out to cover object size to generate watermark for ii = 1:Mc for jj = 1:Nc if (secret(ii,jj)>75) watermark(ii,jj)=255; else watermark(ii,jj)=0; end end end % now we set the lsb of cover_object(ii,jj) to the value of watermark(ii,jj) watermarked_image=cover_object;

基于LSB的数字水印算法及MATLAB实现

基于LSB的数字水印算法及MATLAB实现 加密算法 宗岳,王恺 山东科技大学 山东,中国 ggxxsol@https://www.360docs.net/doc/831893133.html, 摘要—LSB是一种简单传统的信息隐藏算法,属于数字水印技术中的一种。本文首先介绍了LSB 技术的原理和特点,然后讨论了基于LSB的数字水印算法。最后利用MATLAB 2010 b2对这一算法的加密过程进行了仿真。 关键词:LSB 数字水印信息隐藏MATLAB I.介绍 随着计算机应用逐渐广泛、网络技术的迅速发展,使音频、视频等多媒体信息都能以数字形式传输和播放,从而使大规模非授权拷贝成为了可能,而这样会损害音乐、电影、书籍和软件等出版业的发展,为了保护知识产权引发了一个很有意义的研究方向:信息隐藏。本文首先介绍了了数字水印技术的原理和分类,接着对LSB算法原理及LSB算法实现进行了介绍,最后使用MATLAB 对其加密过程进行了仿真。 II.数字水印技术的基本原理 数字水印的主要目的是将特定的信息加入到需要保护的媒体信息中,加入的信息一般是能够代表媒体信息版权的内容,如公司标志、媒体作者、特定代码等,而且要保证数字水印能够抵抗一定的攻击,而不被轻易的破坏和修改,同时数字水印要能够被提取或者能够被检测到。数字水印的具体内容、算法、提取或检测过程根据实际应用有不同的要求。数字水印的嵌入和提取过程如图1,图2所示。 图1 数字水印的嵌入过程 图2 数字水印的提取过程 图1是数字水印的嵌入过程,加入密钥可以提高数字水印的隐蔽性、抗攻击性,而并非是必须的。根据用途不同,,嵌入的水印有些是需要还原的,而有些则只需验证水印的存在性,前者需要数字水印的提取算法,而图2需要数字水印的检测算法,根据具体的水印算法,嵌入或提取的过程可能有所不同。 III.数字水印的分类 数字水印技术可以从不同的角度进行分类,因此有多种分类方法。 按数字水印的特性可分为鲁捧数字水印和脆弱数字水印。鲁棒数字水印主要用于标识数字媒体信息的版权信息,它要求嵌入的水印能够抵抗对媒体的常规编辑和恶意攻击,在对媒体进行如:裁剪、旋转、缩放、压缩的变换后水印信息不受到较大损害。而脆弱水印相反,它对攻击敏感,可以根据脆弱水印的状态判断原始信息是否被修改过。 按数字水印所附载的媒体可分为图像水印、音频水印、视频水印和文本水印等。每一种数字化的媒体都有相应的水印算法,这也造成了数字水印算法的复杂性。 按数字水印隐藏的位置划分可以分为空(时)域数字水印、频域数字水印、时/频域数字水印和时间/度数字水印。原始信息通常在空域或者时域上表示,根据信号处理理论有多种变换将信号变化到另外的域上,每一种域上

图像数字水印+matlab程序

第三章图像数字水印的方案 3.1 图像数字水印的技术方案 在数据库中存储在国际互联网上传输的水印图像一般会被压缩,有时达到很高的压缩比。因此,数字水印算法所面临的第一个考验就是压缩。JPEG和EZW(Embedded Zero-Tree Wavelet)压缩是最常见的两种压缩方法。JPEG是基于离散余弦变换域的压缩方法,而EZW是基于小波变换域的压缩方法。前人的研究证明采用与压缩算法相同的变换域水印方法,对于压缩的稳健性较强。因此,我研究图像文件水印算法主要集中在变换域算法及利用人眼视觉特性上。 数字水印的嵌入要求即要考虑视觉透明性,又要保证嵌入水印后图像的稳健性,这两个方面存在着矛盾。保证视觉透明性,就要将水印嵌入到人眼不敏感区,也就是嵌入到图像的高频分量中。而多数图像处理方法对于图像高频部分的损坏程度较高,如有损压缩、高频滤波等。水印很容易在经历图像处理的过程中丢失。这样,则无法保证图像数字水印的稳健性。如果要获得很好的稳健性,数字水印应加在人眼敏感的低频部分,图像的大部分能量集中在低频部分,如果对于低频部分进行处理,水印固然会失去,而图像也没有了利用价值,然而,水印的嵌入会对图像的质量有非常大的影响,这又无法保证视觉透明性。 数字水印算法的实现基本分为三个部分:宿主图像的变换,水印的嵌入和水印的检测,分别描述如下。 3.2 基于DCT域的图像数字水印技术 离散余弦变换(Discrete Cosine Transform)属于正交变换图像编码方法中的一种。正交变换图像编码始于1968年。当时安德鲁斯(Andrews)等人发现大多数自然图像的高频分量相对幅度较低,可完全舍弃或者只用少数码字编码,提出不对图像本身编码,只对其二维傅立叶(DFT)系数进行编码和传输。但DFT是一种正交变换,运算量很大,常常使实时处理发生困难,第二年他们就用Walsh-Hadamard变换(WHT)取代DFT可以使运算量明显减少,这是因为WHT变换只有加减法而无需乘法。但是更有意义的是离散余弦变换和离散正旋变换的出现,它们具有快速算法,精确度高。其中最重要的是1974年提出的DCT,因为其变换矩阵的基向量很近似于托伯利兹矩阵的特征向量,而托伯利兹矩阵又体现了人类语言及图像信号的相关性。因此,DCT常常被认为是语音与图像信号变换的准最佳变换。 图像是二维的,所以在研究时主要用到二维DCT,以及二维IDCT来对图像进行处理。

数字水印matlab程序

clear all; close all; clc; V=double(imread('D:\lena\lena.jpg')); imshow(mat2gray(V)); [i u]=size(V); %计算V的规格 r=100; %设置分解矩阵的秩 W=rand(i,r) %初始化WH,为非负数 H=rand(r,u) maviter=100; %最大迭代次数 for iter=1:maviter W=W.*((V./(W*H))*H'); %注意这里的三个公式和文中的是对应的 W=W./(ones(i,1)*sum(W)); H=H.*(W'*(V./(W*H))); end img_V=W*H; figure; imshow(mat2gray(img_V)); 首先读入原始图象并设置参数,然后嵌入水印信息,程序代码如下:clear % size=256;block=8;blockno=size/block;LENGTH=size*size/64; Alpha1=0.02; Alpha2=0.1; T1=3; I=zeros(size,size); D=zeros(size,size); BW=zeros(size,size); block_dct1=zeros(block,block); %产生水印序列并对其排序 randn('seed',10);watermark1=randn(1,LENGTH); subplot(2,2,1);plot(watermark1);title('watermarc:Gaussian noise');

subplot(2,2,3); title('edge of origine image') [Y0,I0]=sort(watermark1); % %读入原图象 trueImage=imread('H:\Documents and Settings\sunhw\My Documents\My Pictures\biaozhun.bmp'); alfa=.1; LENGTH=2500; subplot(2,2,2); imshow(trueImage); title('origine image:I'); % %对原图象进行DCT变换 dctF1=dct2('H:\Documents and Settings\sunhw\My Documents\My Pictures\biaozhun.bmp'); [m,n]=size(dctF1); % %找出水印嵌入位置(幅值较大的n个频域成分) A=dctF1(:); [Y1,I1]=sort(A); x=m*n; k=LENGTH; M=zeros(x,1); % %修改幅值较大的n个频域成分的幅值,嵌入水印(因为两个问题不同,所以有两个注释符) for i=1:x if k>=1 M(x)=Y1(x)*(1+alfa*Y0(k)); k=k-1; else M(x)=Y1(x); end x=x-1; end N=zeros(x,1);

数字水印算法(包含完整程序)

课程设计任务书 学生姓名: 专业班级: 指导教师:工作单位:武汉理工大学 题目: 数字水印算法设计 初始条件: (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)

信息隐藏与数字水印matlab实现

网络与信息安全专题研究题目信息隐藏与数字水印原理与matlab实现 姓名 XXX 院系信息与技术学院 年级专业 XX级计本班 指导教师 XXX 2015年6月15日

目录 第一章摘要 (2) 第二章信息隐藏原理 (3) 2.1信息隐藏技术的特点 (3) 2.1.1不可感知性 (3) 2.1.2鲁棒性 (3) 2.1.3隐藏容量 (4) 2.2数字水印的特点 (5) 2.2.1安全性: (5) 2.2.2隐蔽性: (5) 2.2.3鲁棒性: (5) 2.2.4水印容量: (5) 2.3数字水印的基本原理 (6) 第三章数字水印实现 (7) 3.1matlab实现程序 (7) 3.2水印前图片 (8) 3.3嵌入文件后的图片 (9) 3.4 RSA的MATLAB实现 第四章结语 (11) 【参考文献】 (12) 【特别致谢】 (13)

信息隐藏与数字水印原理与matlab实现 【关键词】水印技术隐藏嵌入 【内容摘要】 随着计算机应用逐渐广泛、网络技术的迅速发展,使图文、音频、视频等多媒体信息都能以数字形式传输、阅读和播放,从而使大规模非授权拷贝成为了可能,而这样会损害音乐、电影、书籍和软件等出版业的健康发展。为了保护知识产权,引发了一个很有意义的研究方向:信息隐藏。

第一章摘要 本文首先介绍了数字水印技术的原理和分类 所谓的信息隐藏是利用媒体信息普遍存在的冗余特性,将秘密信息隐藏在其他媒体信息中。其首要目标就是使加入隐藏信息后的媒体目标的质量下降,尽可能地小,使人无法觉察到隐藏的数据,或者知道它的存在,但未经授权者无法知道它的位置,并不像传统加密过的文件一样,看起来是一堆会激发非法拦截者破解机密资料动机的乱码,而是看起来和其它非机密性的一般资料无异,因而十分容易逃过非法拦截者的破解。其道理如同生物学上的保护色,巧妙地将自己伪装隐藏于环境中,免于被天敌发现而遭受攻击。被人们誉为历史学之父的古希腊历史学家希罗多德(Herodotus,486-425),在其著作中讲述了这样一则故事:一个名叫Histaieus的人筹划着与他的朋友合伙发起叛乱,里应外合,以便推翻波斯人的统治。他找来一位忠诚的奴隶,剃光其头发并把消息刺在头皮上,等到头发义长起来了,把这人派出去送“信”,最后叛乱成功了。

matlab数字水印算法及实现和源代码

摘要:数字水印技术作为数字媒体版权保护的有效办法,近年来在国内外引起了人们极大的兴趣。但是由于数字水印技术涉及到的知识面比较广,即使是专业人员有时也感到力不从心,那么如何选择一种有效的编程工具便成为一个亟待解决的问题。本文从数字水印技术本身的特点、一般模型和典型算法出发,简要地介绍了一种可以快速上手的高效的实用语言——Matlab。最后,作者给出一个用Matlab实现数字水印实例。 关键词:数字水印Matlab Visual C++6.0DWT DCT 1引言 作为传统加密系统的有效补充办法,从1993年Caronni正式提出数字水印到现在短短几年里,无论是在国内还是在国外对数字水印的研究都引起了人们极大的关注。但数字水印技术的发展还很不成熟,应用也处于初级阶段。在我国,知识产权问题是一个敏感的话题,只有深入开展数字水印技术的研究,尽快制定我国的版权保护水印标准,才能使我们在未来可能的国际知识产权纠纷中取得主动权。那么掌握高效的工具,便成为一个必须解决的问题。本文就针对数字水印本身的特点,介绍了一种高效的实用工具——MATLAB。 2数字水印技术 2.1数字水印技术的复杂性 数字水印技术涉及到通信理论、编码理论、噪声理论、视听觉感知理论、扩频技术(Sprea d Spectrum)、信号处理(Signal Processing)技术、数字图像处理(Digital Image Pr ocessing)技术、多媒体(Multimedia)技术、模式识别(Pattern Reorganization)技术、算法设计(Algorithm Design)等理论,用到经典的D FT(Discrete Fourier Transform)、DCT(Discrete Cosine Transform)变换和近代最先进的数学工具----小波(Wavelet)。数字水印又是一个横跨计算机科学、生理学、密码学、数字、数字通信等多门学科,并与I nternet的发展密切相关的交叉科学。数字水印的多学科性导致数字水印技术研究的难度和复杂性。所以,针对数字水印技术本身的跨学科特点,找出一种合适的编程工具,往往可以起到事半功倍的效果。下面我们从数字水印的一般模型出发,来逐步介绍MATLAB。 2.2数字水印的一般模型 数字水印的一般模型如图1所示: 频域法加入数字水印的原理是首先将原始信号(语音一维信号、图像二维信号)变换到频域,常用的变换一般有DWT、DCT、DFT、WP和分形。然后,对加入了水印信息的信号进行频域反变换(IDWT、IDCT、DFT、WP),得到含有水印信息的信号。 频域法检测水印的原理是将原始信号与待检测信号同时进行变换域变换,比较两者的区别,进行嵌入水印的逆运算,得出水印信息。如果是可读的水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出的水印与已知水印作比较,由相关性判断,待检测信号含不含水印,故水印的检测有两个结束点。 2.3数字水印技术的常用算法 数字水印算法一般可分为两种空域法和频域法,频域法有以下优点:1)嵌入的水印信号能量可以分布到空域的所有像素上,有利于保证水印的不可见性;2)视觉系统(HVS)的某些特性(如频率的掩蔽特性)可以更方便地结合到水印编码过程中;3)频域法可与国际数据压缩标准兼容,从而实现在压缩域(compressed domain)内的水印编码。所以我们也以频域法为主介绍MATLAB在数字水印技术中的使用。

MATLAB制作数字水印

1. 数字水印 背景 二十一世纪是数字时代,通信技术的迅速发展和计算机网络的普遍运用,使人们可以通过互联网收发信息,可以随时上传自己创作的数字图象、音乐、视频等作品,可以进行学术交流。 然而,也正是由于网络的这种便捷性、传播迅速的优点使其很容易被非法拷贝,导致数字产品的版权、完整性、有效性得不到保证,严重损害了创作者的利益。而一些具有特殊意义的数字信息,如涉及司法诉讼、政府机要等信息,更是遭到了不法分子地恶意攻击和随意篡改等,这一系列问题给当今科学家带来了巨大挑战。 基于以上类似问题,数字水印技术可以说是信息时代的特有产物,是一种可以在开放网络环境下保护版权和认证来源及保障信息完整性的新型技术,在音频、图像、视频制品中迅速得到广泛的研究和发展。 基本特点 数字水印是加在数字图象、音频或视频中的微弱信号,这个信号是人们能够建立产品所有权、辨认购买者或提供数字产品的一些额外信息。具体说来,它们都具有以下共同的特征: 1. 不可感知性 对于数字水印的嵌入,应该对观察者没有视觉障碍,理想情况应该是水印图像与原始图像没有丝毫差别。 2. 鲁棒性 鲁棒性是指一个数字水印能够承受攻击的能力,一般来说数字水印方法是针对特定的攻击进行设计。 3. 安全性 水印技术的安全性是其最重要的特性,由于它的商业性,其算法必须公开,算法的安全性完全取决于密钥,而不对算法进行保密。 4. 计算复杂度 不同应用中,对于水印的嵌入算法和提取算法的计算复杂度要求是不同的,复杂度直接与水印系统的实时性相关。 5. 水印容量

水印容量是指载体数据字中可嵌入水印信息位的多少,可以从几兆到几个比特不等。 数字水印的应用]1[ 数字水印是以不可感知的方式嵌入到数字信息中的,总体来说它有以下应用:数字产品产权保护 这是数字水印最广泛的应用,将秘密的数字信号嵌入到有价值的数字文件中,这些数字信号是产权的标识,在不破坏数字文件的情况下不能被盗版者出去,起到了保护产权的作用。 1. 数据库标识 有时一些文件中提示数据的标识信息往往比文件本身更重要或者一些音像文件需要将说明注释(如字幕等)与音像本身结合起来,这就可以通过数字水印技术加以解决。 2. 文件内容鉴定 水印技术在鉴定数据建立者和鉴别数据内容有着特殊的运用,目的是检测数据是否被修改过或是否经过特殊的处理。 3. 系统升级 日常生活中常常涉及到旧装系统升级情况,这可以通过将“增强层”嵌入到所发送的数据中来给传统的信号发射系统升级。 4. 商务交易中的票据防伪 随着高质量图像输入输出设备的发展,使得货币、支票以及其他票据的伪造变得更加容易。目前,美国、日本以及荷兰都已开始研究用于票据防伪的数字水印技术。 5. 媒体侦破 这一运用的目的是提取对原始信号进行处理过的信息。例如,鉴定方法可以发现一幅图像被篡改过,但无法发现是怎样篡改的。媒体侦破技术就可以指出图像的哪部分被篡改了,指出被插入到原图像中的新对象等等。 数字水印技术的研究动态 随着多媒体技术和因特网技术的迅猛发展,一系列有关产权保护和信息安全的问题等亟待人们解决。数字水印技术便是二十世纪九十年代初出现的为解决这些问题的一门崭新的技术,也是近几十年来国内外专家和学者研究的一大热点。

相关文档
最新文档