数字水印常见攻击类型汇总,噪声,缩放,旋转,剪切(附matlab代码)

数字水印技术作为信息隐藏技术的一种,不可见性和鲁棒性是它的两个主要特点,通常在水印嵌入时需要确定水印的嵌入量,来平衡不可见性和鲁棒性之间的关系,若嵌入量过小,不可见性好而鲁棒性差,若嵌入量过大,则不可见性差而鲁棒性强,嵌入量最佳的取值可以通过遗传算法来确定,现在常用的有蚁群算法,果蝇算法,粒子群算法等等。对于不可见性,我们可以直观地用视觉来判断,而对于鲁棒性,我们无法直接的判断一个水印算法的鲁棒性强弱,需要进行一系列的攻击测试,来判断其鲁棒性。下面,我将介绍数字水印常见的几种攻击类型,分别从理论,代码和实例来展开。

1. 常见的攻击类型

按照攻击原理可以将攻击类型分为四大类:简单攻击,同步攻击,削去攻击,混淆攻击。

(1) 简单攻击
简单攻击是试图对整个水印化数据(嵌入水印后的载体数据)进行操作来削弱嵌入的水印的幅度(而不是试图识别水印或分离水印),导致数字水印提取发生错误,甚至根本提不出水印信号。
常见的有:压缩(JPEG,MPEG)、噪声

(2)同步攻击
同步攻击是试图破坏载体数据和水印的同步性,被攻击的数字作品中水印仍然存在,而且幅度没有变化,但是水印信号已经错位,不能维持正常水印提取过程所需要的同步性。同步攻击通常采用几何变换方法。同步攻击比简单攻击更加难以防御。因为同步攻击破坏水印化数据中的同步性,使得水印嵌入和水印提取这两个过程不对称。
常见的有:缩放,剪切,旋转

(3)削去攻击
削去攻击试图通过分析水印化数据,估计图像中的水印,将水印化数据分离成为载体数据和水印信号,然后抛弃水印,得到没有水印的载体数据,达到非法盗用的目的。
常见的有:合谋攻击

(4)混淆攻击
混淆攻击是试图生成一个伪源数据、伪水印化数据来混淆含有真正水印的数字作品的版权
常见的有:IBM攻击

(这里主要介绍前两种,简单攻击和同步攻击。)

2. 理论知识及代码

2.1 压缩

图像的JPEG压缩内容比较多,后面有机会了单独开一个帖子写吧。在处理数字水印的压缩攻击时,我用的最多的是Stirmark工具,一个专门做水印攻击的工具,操作方便简单,可以直接得到压缩后的图,具体的操作步骤可以参考我之前的帖子,链接在这里:数字水印攻击测试工具——Stirmark的使用介绍

2.2 噪声

常见的几种噪声:
(1)高斯噪声
(2)椒盐噪声
(3)泊松噪声
(4)乘性噪声
在matlab中,可以通过imnoise()函数给图像添加这四种噪声,imnoise()函数的调用格式为:
J=imnoise(I,type,parameters)
I:要添加噪声的图像
type:添加的噪声类型,‘gaussian’为高斯噪声,‘localvar’为0均值白噪声,‘poisson’为泊松噪声,‘salt & pepper’为椒盐噪声,‘speckle’为乘性噪声
parameters:噪声的参数,不设置采用默认值。不同的噪声类型,需要设定的参数也不同,下面会针对每一种噪声具体介绍

①高斯噪声
J=imnoise(I,‘gaussian’,m,v)
m:高斯噪声的均值,默认为0
v:高斯噪声的方差,默认为0.01

附上高斯噪声代码:

clear all; close all;
I=imread('coins.png');
J=imnoise(I, 'gaussian', 0, 0.01);%方差为0.01的高斯噪声
K=imnoise(I, 'gaussian', 0, 0.03);%方差为0.03的高斯噪声
figure;
subplot(121);  imshow(J);title('方差为0.01的高斯噪声')
subplot(122);  imshow(K)
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值