数字水印论文.docx
- 文档编号:27340091
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:19
- 大小:47.84KB
数字水印论文.docx
《数字水印论文.docx》由会员分享,可在线阅读,更多相关《数字水印论文.docx(19页珍藏版)》请在冰豆网上搜索。
数字水印论文
数字水印论文
论图像数字水印的隐藏与攻击的研究
摘要
随着多媒体技术和网络通信技术的迅速发展,针对文本、图片、视频等数字作品的侵权行为日益严重,如XX的传播、非法拷贝、恶意篡改等,给数字作品的版权保护工作带来巨大挑战。
而数字水印技术是目前信息安全技术领域的一个新方向,是一个在开放的网络环境下,保护版权和认证来源及完整性的新型技术。
数字水印技术为数字产品的版权保护提供了一种新的解决方案,得到了人们的广泛关注。
作为信息隐藏技术的一个分支,数字水印有它的特点。
本文介绍了图像数字水印的背景,主要应用领域,分类,算法,MATLAB实现(DCT),攻击方法,研究情况和发展。
并谈了对数字水印的未来的看法。
关键词:
数字水印,分类,攻击方法,DCT,MATLAB
第一章绪论
1.1引言
随着信息技术和计算机网络的飞速发展,数字多媒体信息包括图像、文本音视频、三维模型的存储、复制与传播变得非常方便。
我们在通过互联网方便快捷的获取多媒体信息的同时,还可得到与原始数据完全相同的复制品,这就带来了对数字媒体原创者的版权和经济利益如何保护以及数字媒体信息是否安全可信等诸多问题。
由此引发的信息安全问题、盗版问题和版权纷争问题已成为日益严重的社会问题。
因此,对多媒体内容的版权保护与内容鉴别成为我们所处的这个信息时代所急待解决的问题。
数字水印技术是近几年来国际学术界兴起的一个前沿研究领域,是信息隐藏技术研究领域的重要分支,如今已成为多媒体信息安全研究领域的一个热点。
它将具有特定意义的、与载体内容相关或不相关的标记(水印),利用数字嵌入的方法,隐藏在载体,即数字图像、声音、文档、图书、视频等数字产品中,用以证明创作者对其作品的所有权,并作为鉴定、起诉非法侵权的证据。
同时通过对水印的检测和分析来保证数字信息的完整性和可靠性,从而成为知识产权保护和数字多媒体防伪的有效手段。
数字水印的研究涉及信息论、编码理论、通信原理、信号处理、信息安全等多学科多门类。
近年来数字水印技术在数字信息的版权保护与完整性认证方面得到了迅猛发展,具有良好的应用前景。
1.2研究背景及目的
VanSchyndel在ICIP’94会议上发表了题为“Adigitalwatermark”的文章,它是第一篇在主要会议上发表的关于数字水印的文章,其中阐明了一些关于水印的重要概念。
它被认为是一篇具有历史价值的文献。
1996-05-30-1996-06-01,在英国剑桥牛顿研究所召开了第一届国际信息隐藏学术研讨会,这标志着一门新兴的交叉学科——信息隐藏学的正式诞生。
如今信息隐藏学作为隐蔽通信和知识产权保护等的主要手段,正得到广泛的研究与应用。
目前,国内外出现了一些列数字版权管理产品,但是由于缺乏核心的数字水印技术,存在很多问题。
美国在2002通过了一项法律,意图为解决数字版权问题提供法律上的保证。
我国的电子政务和电子商务的兴起,需要解决根本上的版权保护和信息安全问题,数字水印是一项很有潜力的技术解决手段。
数字水印技术作为一个跨多领域、多学科(数字信号处理、图像处理、模式识别、数字通信、多媒体技术、密码学、语音处理等)的技术体系,由于它与具体的应用密切相关,因此每个研究人员介入的角度、采用的研究方法和设计策略也各不相同,但都是围绕着实现数字水印的各种基本特征进行设计,这也决定了数字水印技术研究成果的多样性以及数字水印技术研究的不完善性,仍有许多技术问题需要解决。
同时,水印认证体系的建立、法律保护等问题也是影响数字水印技术迈向实用化的因素。
另外,数字水印技术发展到今天,还是没有形成完整的理论体系,因而对相关研究人员来说这是一个挑战性的课题。
由于目前国际上的水印技术尚未形成统一的标准,形成一个共同遵循的标准己成为研究水印者的共同目标。
然而,标准的算法必须有其优越性、通用性和有效性,并要得到世界各国的认同,所以形成标准是一项艰巨的任务。
第二章数字水印的基本原理及算法
2.1信息隐藏与数字水印
信息隐藏,,也称为信息伪装(Steganography),该单词来源于古希腊,意思是将有用或重要的信息隐藏于其他信息里面以掩饰其存在,就是将秘密信息秘密地隐藏于另一非机密的文件内容之中。
密码学是研究如何保护消息内容的,而伪装术是专门研究如何隐藏它们的存在性。
数字水印技术的基本思想源于古代的伪装术(密写术)。
古希腊的斯巴达人曾将军事情报刻在普通的木板上,用石蜡填平,收信的一方只要用火烤热木板,融化石蜡后就可以看到密信。
使用最广泛的密写方法恐怕要算化学密写了,牛奶、白矾、果汁等都曾充当过密写药水的角色。
大约700年前,在手工造纸技术中出现了纸张上的水印。
可以说,人类早期使用的保密通信手段大多数属于密写而不是密码。
但与密码技术相比,密写术始终没有发展成为一门独立的学科,其中的主要原因是密写术缺乏必要的理论基础。
数字水印(DigitalWatermark)技术是将与多媒体内容相关或不相关的一些标示信息直接嵌入多媒体内容当中,但不影响原内容的使用价值,并不容易被人的知觉系统觉察或注意到。
通过这些隐藏在多媒体内容中的信息,可以确认内容创建者、购买者,或者验证内容是否真实完整。
数字水印中包含音像作品的版本、创作者、拥有者、发行人等信息,数据量并不大,一般控制在100位以内,与动辄上兆字节的音乐、影视文件相比犹如藏在草堆中的一根针。
2.2数字水印的分类及特征
2.2.1数字水印的分类
1.按特性划分为:
鲁棒数字水印和易损数字水印两类。
2.按水印所附载的媒体划分:
图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。
3.按水印的检测过程划分为:
明文水印和盲水印。
4.按内容划分为:
有意义水印和无意义水印。
5.按水印的用途划分为:
票证防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印。
6.按数字水印的隐藏位置划分为:
时(空)域数字水印、频域数字水印、时/频域数字水印和时间/尺度域数字水印。
2.2.2数字水印的特征
1.安全性:
数字水印难以被发现、擦除、篡改或伪造,同时,要有较低的虚警率。
2.可证明性:
数字水印应能为宿主数据的产品归属问题提供完全和可靠的证据。
3.不可感知性:
从感观上和统计上都不可感知。
4.稳健性:
数字水印应该难以被擦除,任何试图完全破坏水印的努力将对载体的质量产生严重破坏。
好的水印算法应该对信号处理、几何变形、恶意攻击等具有稳健性。
2.3数字水印典型算法(针对图像领域)
(1)空域算法该类算法中典型的水印算法是将信息嵌入到随机选择的图像点中最不重要的像素位(LSB:
leastsignificantbits)上,这可保证嵌入的水印是不可见的。
但是由于使用了图像不重要的像素位,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏。
另外一个常用方法是利用像素的统计特征将信息嵌入像素的亮度值中。
(2)Patchwork算法方法是随机选择N对像素点(ai,bi),然后将每个ai点的亮度值加1,每个bi点的亮度值减1,这样整个图像的平均亮度保持不变。
适当地调整参数,Patchwork方法对JPEG压缩、FIR滤波以及图像裁剪有一定的抵抗力,但该方法嵌入的信息量有限。
为了嵌入更多的水印信息,可以将图像分块,然后对每一个图像块进行嵌入操作。
(3)变换域算法该类算法中,大部分水印算法采用了扩展频谱通信(spreadspectrumcommunication)技术。
算法实现过程为:
先计算图像的离散余弦变换(DCT),然后将水印叠加到DCT域中幅值最大的前k系数上(不包括直流分量),通常为图像的低频分量。
若DCT系数的前k个最大分量表示为D={di},i=1,…,k,水印是服从高斯分布的随机实数序列W={wi},i=1,…,k,那么水印的嵌入算法为di=di(1+awi),其中常数a为尺度因子,控制水印添加的强度。
然后用新的系数做反变换得到水印图像I。
解码函数则分别计算原始图像I和水印图像I
的离散余弦变换,并提取嵌入的水印W
,再做相关检验以确定水印的存在与否。
该方法即使当水印图像经过一些通用的几何变形和信号处理操作而产生比较明显的变形后仍然能够提取出一个可信赖的水印拷贝。
(4)压缩域算法是基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(VideoonDemand)中有很大的实用价值。
相应地,水印检测与提取也可直接在压缩域数据中进行。
(5)NEC算法是由NEC实验室的Cox等人提出,该算法在数字水印算法中占有重要地位,其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯N(0,1)分布,密钥一般由作者的标识码和图象的哈希值组成,其次对图象做DCT变换,最后用伪随机高斯序列来调制(叠加)该图象除直流(DC)分量外的1000个最大的DCT系数。
(6)生理模型算法是人的生理模型包括人类视HVS(HumanVisualSystem)和人类听觉系统HAS。
该模型不仅被多媒体数据压缩系统利用,同样可以供数字水印系统利用。
利用视觉模型的基本思想均是利用从视觉模型导出的JND(JustNoticeableDifference)描述来确定在图象的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。
这一方法同时具有好的透明性和强健性。
2.4数字水印的基本原理
水印的基本原理是嵌入某些标识数据到宿主数据中作为水印,使得水印在宿主数据中不可感知和足够安全。
为了保证由于水印的嵌入而导致的宿主数据失真不被觉察到,必须应用到某种感知准则。
不管是隐性还是显性,但是必须的。
因而作为不可觉察性的要求,宿主数据上的每个采样点的值(空间域或频率域)的改变程度与其自身相比应该相对比较小。
为了保证水印算法的鲁棒性,水印信息在宿主数据上通常有很大的冗余度。
这意味着水印信息可以从其部分数据中恢复出来。
但如果在恢复过程中能提供更多的数据那么恢复的鲁棒性则更强。
数字水印技术的基本原理如图
(1)所示。
图1数字水印技术的基本原理
图
(2)表示了一个通用水印的嵌入过程。
给定一幅图象,一个标志,以及一个密钥(通常是一个随机数发生器的种子),植入过程可以被定义为如下形式的映射:
,并且这适用于所有的水印植入方法。
通用的水印检测过程如图(3)所描述。
它的输出既可以是恢复的标志,也可以是对由中提取出的标志与输入的标志的相似性度量的某种可信度。
第三章图像数字水印技术
图像数字水印的一般算法通用的数字水印算法包含两个基本方面:
水印的嵌入和水印的提取或检测。
在设计、采用一个具体的水印算法时,可根据应用目的、图像的使用限制及其他约束条件等情况综合考虑。
常用的有4种:
1.水印检测要利用未加水印的原图,只有少数人能检测出水印;2水印检测不利用未加水印的原图,任何人通过一定方式都能检测出水印;3嵌入和检测水印的方案是公开的,这个方案需要一个密钥,以防止盗版者删除水印;4嵌入和检验水印的方案不公开,这些方案是保密的,但能被解开。
本文主要讲的是图像数字水印的嵌入技术中的基于离散余弦变换(DCT)的数字水印算法。
3.1水印嵌入的选择
水印嵌入的选择一般有位置和工作域两种选择。
3.1.1水印嵌入位置的选择
水印嵌入位置的选择应该考虑两个方面的问题,一个是安全性的问题,一个是载体质量的影响问题。
安全性问题是指嵌入到水印不能被非法使用者轻易地提取出来,或者被轻易地擦除。
根据Kerckhoffs准则,一个安全的数字水印,其算法应该是公开的,其安全性应该建立在密匙的保密性基础上,而不是算法的保密上。
另一方面,在载体中嵌入了数字水印,载体本身产生了失真,或者说载体质量受到了影响,嵌入的水印,应该不能影响数字载体的使用,嵌入水印引起的失真,应该对人类的感官是不可察觉的。
由Bender等人在1995年提出的一种拼凑算法和基于心理视觉考虑的水印位置进行选择。
3.1.2水印嵌入工作域的选择
正如信息隐藏一样,数字水印的嵌入亦可以在不同的工作域上进行。
如简单的空间域水印,性能较好的变换域水印等。
目前研究最多的是在变换域上的数字水印嵌入技术。
1.小波变换
这一类常用的水印方法是小波变换域水印。
小波变换是将空间和时间信号在多个不同的分辨率尺度下进行分解,因此可以针对信号的不同分辨率尺度对信号进行处理。
2.离散傅里叶变换
离散傅里叶变换(DFT)是信号处理领域中应用最为广泛的工具之一,在数字水印技术中也可以使用。
3.离散余弦变换
基于离散余弦变换(DCT)的数字水印算法有很多,主要思路是,在DCT变换的中频系数中嵌入水印,既保证了水印的不可见性,有保证了水印的健壮性,达到了一个平衡。
嵌入DCT变换的数字水印算法有许多变种,它们分别是针对不同的应用需求、抵抗不同种类的攻击而设计的。
3.2离散余弦变换(DCT)算法
3.2.1离散余弦变换水印嵌入算法
数字图像水印算法选择二值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将载体图像进行8×8的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。
具体方法如下
设I是M×N大小的原始图像,J是水印图像大小为P×Q,M和N分别是P和Q的偶数倍,把水印J加载到图像I中,算法分以下几步进行:
1.将I分解为(M/8)×(N/8)个8×8大小的方块B;同时,J也分解为(M/8)×(N/8)个(8P/M)×(8Q/N)大小的方块V;
2.对每一个B进行DCT变换:
DB=DCT(B);
3.加载水印对每一个DB和V,s(i)为从DB的中频选出的加载的位置,1≤i≤(8P/M)×(8Q/N),t(i)为水印V的位置坐标,1≤i≤(8P/M)×(8Q/N),DB’(s)=A×V,其中A是加权系数,用DB’(s)来代替DB,得到加载水印后的图像DBC;
4.对以上得到的每一个DBC进行逆DCT变换:
IDBC=IDCT(DBC)并将各方块IDBC合并为一个整图I’,即加载了水印的新图像。
3.2.2离散余弦变换水印提取算法
设图像D为已经加载了水印的载体图像,现要将所加载的水印从D中提取出来,其过程为上述加载水印算法的逆运算:
1.将D分解为(M/8)×(N/8)个8×8大小的方块BD;
2.对每一个BD进行二维DFT变换:
DBD=DCT(BD);
3.提取数据对每一个DBD,按照式V’=1/A×DBD得到V’;
4.将上面得到的所有V’合并成一个水印整图J’。
3.2.3MATLAB程序运行代码及结果截图
嵌入算法源代码:
M=256;%原图像长度
N=32;%水印图像长度
K=8;
I=zeros(M,M);
II=zeros(K,K);
B=zeros(M,M);
Idct=zeros(K,K);
D=zeros(M,M);
%读取原图像
I=imread('long.png');
subplot(2,2,1);
%显示原图像
imshow(I);
title('原图像');
%产生水印序列
randn('seed',10);
mark=randn(1024,1);
subplot(2,2,2);
plot(mark);
title('水印序列');
%嵌入水印
T=1;
form=1:
N
forn=1:
N
x=(m-1)*K+1;
y=(n-1)*K+1;
II=I(x:
x+K-1,y:
y+K-1);%将原图分成8*8的子块
Idct=dct2(II);%对子块进行DCT变换
ifx==1&y==1
alfa=0.002;
else
alfa=0;
end
B=Idct*(1+alfa*mark(T));%嵌入水印
Bidct=idct2(B);%进行DCT反变换
I(x:
x+K-1,y:
y+K-1)=Bidct;
T=T+1;
end
end
subplot(2,2,3);
imshow(I);%显示嵌入水印后的图像
title('tu');imwrite(I,'嵌入后的图像.bmp');
%进行相关性比较
figure;
fori=1:
50
ifi==10;
mark2=mark1';
else
mark2=randn(1024,1);
end
%计算相关值
c=(mark2'*mark)/sqrt(mark2'*mark2);
stem(i,c);
holdon;
end
结果截图
%从嵌入水印的图像中提取水印
I=imread('1.jpg');
J=imread('watermarked.bmp','bmp');
forp=1:
N
forq=1:
N
x=(p-1)*K+1;
y=(q-1)*K+1;
BLOCK1=I(x:
x+K-1,y:
y+K-1);
BLOCK2=J(x:
x+K-1,y:
y+K-1);
BLOCK1=idct2(BLOCK1);
BLOCK2=idct2(BLOCK2);
a=BLOCK1(1,1)/BLOCK2(1,1)-1;
ifa<0
W(p,q)=0;
else
W(p,q)=1;
end
end
end
%显示提取的水印
subplot(3,2,4);
imshow(W);
title('从含水印图像中提取的水印');
%水印攻击测试
M=256;
N=32;
K=8;
I=zeros(M,M);
J=zeros(M,M);
w=zeros(N,N);
BLOCK1=zeros(K,K);
BLOCK2=zeros(K,K);
%对嵌入水印后的图像进行JPEG压缩
L=imread('watermarked.bmp','bmp');
imwrite(L,'attack.jpg','jpeg','Quality',85);
J=imread('attack.jpg','jpeg');
subplot(3,2,5);imshow(J);
title('压缩后的图像');
I=imread('1.jpg');
%从压缩的图像中提取水印
forp=1:
N
forq=1:
N
x=(p-1)*K+1;
y=(q-1)*K+1;
BLOCK1=I(x:
x+K-1,y:
y+K-1);
BLOCK2=J(x:
x+K-1,y:
y+K-1);
BLOCK1=idct2(BLOCK1);
BLOCK2=idct2(BLOCK2);
a=BLOCK1(1,1)/BLOCK2(1,1)-1;
ifa<0
W(p,q)=0;
else
W(p,q)=1;
end
end
end
%显示提取的水印
subplot(3,2,6);
imshow(W);
title('从经过压缩的图像中提取的水印');结果截图:
第四章数字水印的攻击与反攻击
对数字水印的攻击需要对水印的嵌入和检测过程进行深入的分析和研究。
从理论上来
说,嵌入的水印信息总是可以被找到的,有些水印攻击方法就是在图像中寻找这些水印信息,
并设法去除它们。
这些攻击方法一般只对早期比较简单的水印算法有效。
在一些较新的水印
算法中,水印的嵌入过程中并不是直接修改图像的像素或频域系数,而是利用了图像空域或
频域的局部或全局特征,并考虑了视觉模型的影响,这些水印算法具有较好的鲁棒性。
对于
这类水印算法,攻击者即使找到了水印信息也难以把它们完全去除,因此就出现了另一类水
印攻击算法,不以完全去除水印信息为目的,而是通过对含水印图像做各种修改的方法破坏
水印检测于嵌入信息之间的同步性,使得相对于水印检测算法来说攻击后图像中的水印不存在,从而达到攻击的目的。
另外,还有一些水印攻击方法是以攻击水印应用概念和协议为目
的而设计的
4.1数字水印的攻击
4.1.1去除攻击
去除攻击的目标是通过对含水印图像进行分析,试图从原图像中完全去除水印信息。
这
类攻击算法主要包括:
去噪、量化、有损压缩、重新调制、平均/共谋、穷举搜索攻击、
Oracle攻击等
4.1.2同步攻击
同步攻击不以完全去除水印信息为目的,而是试图通过对含水印图像做各种修改以破坏
水印检测算法与嵌入信息之间的同步性,使水印检测算法无法正确地提取出水印信息,从而
达到攻击的目的。
这一类的攻击算法很多,大部分的的攻击算法都可以归于此类。
主要包括:
几何变换、Warping、Jitter、添加噪声、图像增强、Mosaic攻击等。
4.1.3协议攻击
协议攻击的目标是攻击水印应用的概念和协议。
这类方法包括IBM攻击、拷贝攻击等。
4.2数字水印反攻击
近年来出现了大量的可以抵抗攻击的水印算法,主要集中在抵抗几何变换攻击、抵抗
StirMark攻击等,由于这些算法种类繁杂,很难进行系统的分类和评判。
这里分别对水印设计、水印嵌入和水印检测三个阶段中主要的水印反攻击方法进行简单的分析。
4.2.1水印设计
在水印设计阶段,水印嵌入算法的复杂程度以及嵌入量的多少会对鲁棒性产生较大的影
响。
一些抵抗水印攻击的算法往往是以牺牲容量和运算速度为代价的。
检测方法的不同选择
也会对水印的抗攻击性能有一定的影响,比如采用盲检测系统可以抵抗IBM攻击。
另外,
选择较复杂的水印种类以及提高水印本身的安全性,如采用较大的密钥容量可以提高水印的
反攻击能力。
4.2.2水印嵌入
在满足水印不可见性的前提下尽量加大嵌入量是抵抗水印攻击的好方法。
在空域水印方
案中,应该尽可能的在空间上分布水印信息。
水印信息应该嵌入到源数据中人的感觉最重要
的部分以提高水印鲁棒性,如空域中图像的边缘,DCT域的中低频区域、DWT域的低频子
带等。
变换域中嵌入的水印信号能量可以分布到空域的所有像素上,抗剪切的能力优于空域
水印。
另外,变换域水印的抗压缩、量化、噪声的能力较强。
4.2.3水印检测
对于盲水印检测来说,改进相关水印检测算法对于提高水印的抗攻击能力是很有意义
的。
为了抵抗整体的几何攻击,人们提出了采用利用图像不变矩特征、嵌入附加的对准
模板等方法来检测和恢复几何变换。
自适应功率谱水印算法是使水印满足功率谱条件:
即使水印的功率谱和原宿主数据的功率谱成正比以提高水印的抗攻击能力。
第五章数字水印的应用和未来
5.1数字水印的应用
随着计算机网络技术的发展,数字水印在数字产品保护方面越来越受到重视,在许多国家已经得到了广泛的应用。
德国利用数字水印技术来防止伪造电子照片,美国在商标及包装印刷方面都应用了数字水印技术,日本的保险票据中也加入数字水印来作为防伪。
在我国数字水印技术研究起步较晚,才只有几年时间,但发展速度很快,已经有相当一批有实力的科研机构投入到这一领域的研究中来。
为了促进数字水印及其他信息隐藏技术的研究和应用,1999年12月,我国信息安全领域的何德全院士、周仲义院士、蔡吉人院士与有关应用研究单位联合发起召开了我国第一届信息隐藏学术研讨会。
2000年1月,由国家“863”智能机专家组和中科院自动化所模式识别国家重点实验室组织召开了数字水印学术研讨会,来自国家自然科学基金委员会、国家信息安全测评认证中心、中国科学院、北京邮电大学、国防科技大学、清华大学、北方工业大学、上海交通大学、天津大学、中国科技大学、北京大学、北
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 水印 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)