GRAPHICS AND IMAGE PROCESSING⋯ ⋯⋯⋯ 一 ⋯⋯ , 一-
数字水印的攻击方法及评价
杨 东
摘 要:介绍了数字水印的基本理论,分析和总结了数字水印的攻击技术,并对水印系统做出了
理论评价。通过 Matlab实验仿真,使用图像低通滤波、旋转、剪切、JPEG压缩、高斯噪声和椒盐
噪声攻击方法对比分析了基于DCT和 DFT的水印系统的鲁棒性,并对水印质量做出了评价。
关键词 :数字水印;水印攻击;Matlab语言;DCT变换 ;DFT 变换
1 数字水印
数字水印是永久镶嵌在其他数据 (宿主数据或载体数据)
中具有可鉴别性的数字信号或模式 ,而且并不影响宿主数据的
町用性
数字水印技术 (Digital Watermarking)是一种信息隐藏技
术 ,它的基本思想是在数字图像、音频 、和视频等数字产品中
嵌入秘密信息,以便保护数字产品的版权 、证明产品的真实可
靠性 、跟踪盗版行为或者提供产品的附加信息。其中的秘密信
息可以是版权标志、用户序列号或者是产品相关信息。一般它
要 经过适 当变换再嵌 入到数字产 品中 ,通常称变换后的秘密信
息为数字水印 (Digital Watermark)。
2 鲁棒性
鲁棒性,义称稳健性或健壮性,一般指数字水印必须难以
被清除。从理论上讲 ,只要具有足够的知识,任何水印都可以
去掉。但是如果只能得到部分信息,而水印在图像中的精确位
置未知,那么破坏水印将导致图像质量的严重下降。鲁棒性的
提高往往以降低不可感知性和水印容量为代价,实际的水印算
法要根据具体鲁棒性和不 可感 知性 ,在它们之间取得平衡 ,嵌
入的水印应是在某种感知阈值下的最优方案。
3 图像数字水印攻击技术
在水印术语中,攻击指的是任何一种可能消弱水印的检测
或对水印所表达的信息传输的处理,经过这种处理后的含水印
图像成为受攻击图像。
在对水 印系统进行性能评估的过程 中.需要对水 印系统进
行一些攻击,以测试其性能。这些攻击是一个水印系统在实际
使用过程 中可能会遭受到 的,此处 “攻击 ”的含 义包括有 意的
攻击和无意的攻击。有意的攻击是指为了去除水印而采取的各
种处理方法,此种攻击往往是恶意的,如非授权去除攻击 、非
授权嵌入攻击 、非授权 检测攻击 等;无意 的攻击是指加有水 印
的网像在使用过程中不可避免地遭受到的诸如有损压缩 、噪声
影响等处理。常见的攻击方法有:
3.1 JPEG压缩攻击
JPEG是广泛用于图像压缩的压缩算法,通常经过水印系
统处理的图像必须能经受某种程度的有损压缩,并能提取出压
缩后含水印罔像中的水印。
3I2 几何失真攻击
常见的几何失真攻击如下 :
1)旋转。一般进行小角度旋转并不会改变图像的商业价
值 ,但却能使水印无法检测出来。
2)剪切。对图像进行剪切可破坏水印,这在某些情况下
很有用处。有时候盗版者仅对有版权保护的原始图像的中央部
分感兴趣。
3)尺度变换 。尺度变 换可分 为两类 :一致尺度 变换和非
一 致尺度变换。一致尺度变换是指在水平方向和垂直方向进行
相同的尺寸变换 。而非一致尺度变换是指在水平和垂直方向使
用不同的尺度因子 (即采用不同的比率)。通常水印方法只能
抵御一致尺度变换 。
4)广义儿何失真是非一致尺度变换 、旋转和剪切的综合。
3.3 增强处理攻击
1)低通滤波。包括线性和非线性滤波器。经常使用的滤
波器有中值滤波、高斯滤波和标准均值滤波。
2)锐化。锐化处理属于标准图像处理 ,这种处理可用作
对水印系统的有效攻击,因为它们在检测由数字水印软件带来
的高斯噪声方面十分有效 。
3)直方图修正。包括直方图拉伸或均匀化,直方图均匀
化常用来对照明条件交叉的图像进行补偿处理。
3.4 附加噪声攻击
在图像信号传送和处理过程中,存在着大量的加性噪声和
非相关的乘性噪声,许多水印系统能够抵御这类噪声,但存在
鸹 齄螭程2技0巧14与.0蛾3妒 53
实用第一一 智慧密集
n 一 1 |l
~
一 个可接收的十扰噪声的最高限度。
4 图像水印的质量评价
只有少数水印系统能够完全产生不可见的水印。南于水印
可见性和鲁棒性之间存在着折中,故正确评估和比较水印系统
时,对水印可见性的考虑就十分重要。
对水印可见性 的测量可采用定 量方法 (quantitative metic)
或主观测试方法 (subjective test)。定量方法主要包括两种方
法:一种是基于像素的测量方法;另一种采用基于人类视觉系
统的度量方法 。
使用基于像素的测量方法得到的结果不依赖于主观评价,
它允许在不同的方法之间进行公平的比较。在本次 Matlab仿
真的过程中,主要通过基于像素的测量方法中的峰值信噪比
(PSNR)和归一化互相关系数 (NC)来评价水印的质量。
(1)峰值信噪比
峰值信噪比 (经常缩写为PSNR)是一个表示信号最大可
能功率和影响它的表示精度的破坏性噪声功率的比值的工程术
语。由于许多信号都有非常宽的动态范围,峰值信噪比常用对
数分贝单位来表示。其计算方法如下:
f 1 1
, i 1
,) 月 lOlog _ 可 —一 【I l丽 “ J
其中,M,N表示图像的尺寸,X , 表示原始图像的某像
素亮度值,X'd, ,J表示含水印图像像素亮度值。
PANR的计算代码如下:
%计算峰值信噪比,A一原始图像.B一攻击后的图像
A= :,1):
B=W M JPEG;
sumaDif=0;
maxl=s S max(max(A.^2)):
for u=1:s
for V----1:s
sumaDif=sumaDif+(A(u,v)一B(u,v)) 2:
end
end
if(sumaDif==0)
sumaDif=l:
end
PSN R=maxl/sumaDif;
PSNR=I O log1 0(PSNR);
disp([ 输入数据的PSNR为: ,num2str(PSNR)】):
一 般来说,PSNR值越大,就代表图像失真越少 ,即含水
印图像与原始宿主图像差别越小。不过许多实验结果都显示 ,
PSNR的分数无法和人眼看到的视觉 品质完全一致,有可能
PSNR较高者看起来反而比 PSNR较低者差。这是因为人眼的
视觉对于误差的敏感度并不是绝对的,其感知结果会受到许多
45 电麟20辆1糕4.矗03巧与壤豁《
因素的影响而产生变化。
(2)归一化互相关系数
归一化互相关系数 (NC)是度量两幅图像相似度的一个
参数,一般来说,NC的值越接近 I,两幅图像越相似。在文
中,若从含水印图像中提取出的水印与原始水印图像的归一化
互相关系数大于0.7,则可认为提取出了水印。NC的计算公式
如下 :
M .i N —i
∑∑ Vf j)
( = — — 一
∑∑l』 ,
| o r 1
其中,M,N表示图像的尺寸,X “, 表示原始图像的某像
素亮度值, 表示含水印图像像素亮度值。
NC的计算代码如下:
%计算 NC。ImageA一原始水印,ImageB一提取出的水印
ImageA=W ;
ImageB=WM_JPEG—GetWM:
P=size0mageA,”
Q =size(ImageA,2):
d1=O:
d2=0;
d3=0;
for i: 1:P
for j=1:Q
dl=dl+lmageA(i,j) ImageB(i,j):
d2=d2+lmageA(i,j) ImageA(i,j):
d3=d3+lmageB(i,j) ImageB(i,j);
end
end
NC=d1/(sqrt《d2) sqrt(d3));
disp([ 输入数据的 NC为: num2str(NC)]);
5 水印攻击的 Matlab仿真
评价一个水 印方法的好坏 ,不仅需要经过一系列的攻击测
试来衡量水印的鲁棒性 ,同时也要与其他嵌入方法进行比较,
才能知道此种水印方法的优缺点。
本次 通过 Matlab系统 的仿真 实现 .比较水 印在不 同攻 击
方法下的特点 ,从而对 DCT变换和 DFT变换两种水印方法做
出对 比。
在水印嵌入深度 E=0.01的条件下.对含水印图像做不同
的攻击测 试 ,得 到受攻击的含水印图像 。通过分析原始宿主 图
像与受攻击的含水印图像二者的 PSNR值 ,以及提取出的水印
与原始水印的互相关系数 NC值 ,比较在不同攻击方法下 ,
DCT变换与 DFT变换在水印中的鲁棒性。
(1)低通滤波
对含水印图像进行低通滤波攻击的代码如下:
6^ 啊E PRO6RAM , ⋯ ⋯ 一 ⋯ ⋯⋯一⋯⋯⋯一⋯⋯⋯一 ⋯ .一 ⋯⋯
case M OuseButtOns.Right:
Mines 【X,V】.Backgroundlmage = Image
From e(”flag.bmp“)
if(Turn[x.v】_=1)//表示这个位置插上红旗
{
Turn[x,Y】:0;//取消红旗,表示这个位置没有翻开
RestMine++:
Mines[x,y】Backgroundlmage=null;
)
else
{
Turn[x.Yl=1://表示这个位置插上红旗
RestMine一一:
)
IblMine.Text=RestMine.ToString0;
if(Victory())
(
MessageBox.Show(”胜利⋯ ”,”结束”):
tjme r1.Enabled=false;//停 止计 时
)
break;
)
}
private void show()//~4:地图中所有雷标识出来
{
for(int i=0:i<XNum;i4-+)
for(int j=O:j<YNum;j++)
if(Conve~.Tolntl 6(Mines[i,j].Tag)=:1)
—喜 .S止.址 .址 .址 — L S — .址 .址 .址 .址 .S .址 .址
{
//==1时,代表这个位置是地雷
Mines j】lBackgroundlmage = Image
FrOm e《“mine.bmp”):
)
)
开始 “笑脸 ”按钮和定时器的事件代码 。
private void btnStart
_ Click(object sender,EventArgs e)
(
GamelnitO;//游戏初始化
timer1.Enabled=true;
}
private void time r1 Jick(object sender,EventArgs e)
{
CostTime++;
IblTime.Text=CostTime.ToString0;
)
5 结语
采用按钮控件数组实现扫雷游戏 ,并且能够显示剩余的
雷数和显示所花费的时间信息,读者可以适 当修改将此游戏
改成任意行列的扫雷 ,使得游戏更具挑战性 ,从而更吸引
玩家 。
(收稿 日期:2013—12—11)
(上接第 57贞)
DFT算法在椒盐 噪声攻击 中的评价参数如表 l2所示 。
表 12 椒盐噪声攻击评 价参数 (DFT)
噪声密度 d=0.O0l d=0.01 d=0.O5 d=0.1
PSNR值 28.1682 l8.1522 I1 4289 8.5075
NC值 0.98029 0.87314 0.820l1 0.85354
对 比图 11、12的效果 和表 11、12中的评 价参 数可 以看
出 ,DCT和 DFT算法下 的含水 印图像在椒 盐 噪声 攻击 下的表
现相似,从中提取出的水印效果较好 ,说明 DCT与 DFT算法
均能较好 地抵抗椒 盐噪声攻击 。
6 结语
分析 了数字 水 印的特性 ,总结 了水 印攻 击的 方法 .并使
用 Matlab对数字水印进行攻击仿真。在水印攻击测试过程中,
通过 实验数据分 析和 总结 出 了 DCT变 换域算法 的优缺 点 。基
于 DCT的数字水印系统能够很好地抵抗低通滤波 、剪切 、
JPEG有损压缩 、椒盐噪声攻击 ,但不能抵抗旋转和高斯噪声
攻击
.St
对 比 DCT和 DFF算 法在水印 系统 中的表现情况 ,DCT在
低通滤波和 JPEG有 损压缩攻击 中表现得更 好 ,在剪切 、椒盐
噪声攻击中 ,二者表现均很好 。
参考文献
[1]杨义先.数字水印基础教程 [M】.北京:人民邮电出版
社 .2007.
【2】(美)Ingemar J.Cox,Matthew L.Miller,Jeffrey A.Bloom.数
字水印 [M].王颖,黄志蓓 ,等,译.北京 :电子工业出
版社 ,2003.
[3】 王炳锡 ,陈琦,邓峰森.数字水印技术 [M】.西安 :西安
电子科技大学出版,2003.
[4]孙圣和,陆哲明,牛夏,等.数字水印技术及应用 [M].
北京 :科学出版社 ,2004.
【5]闫德勤,韩亚丹,高艳.一种 DCT中频水印嵌入与提取方
法 [J].计算机工程与应用,2005,(5).
(收稿 日期:2013—09—16)
呜 脑珊 2儇0 14 .0雅3 7
—
1