掌桥专利:专业的专利平台
掌桥专利
首页

一种基于DWT、SVD和DCT的安全图像水印方法

文献发布时间:2024-04-18 19:58:21


一种基于DWT、SVD和DCT的安全图像水印方法

技术领域

本发明涉及信息安全技术领域,具体为一种基于DWT、SVD和DCT的安全图像水印方法。

背景技术

目前,由于图像的版权侵权问题很严重,未经授权,就篡改他人的数字作品,因此,保护图像的所有权,完整性,隐私性已经成为目前重要的问题。数字水印技术作为一种广泛使用的保护技术,已应用于多媒体版权保护的许多领域。数字水印算法拥有着良好的不可见性以及鲁棒性,从而达到对图像很好的保护作用,并且能够在复杂的环境下,保证水印的提取,保护所有人的版权,是公认的保护版权的有效手段之一。因此在保证水印的鲁棒性和不可见性的前提下,设计一种高安全性的数字水印算法成为当前数字水印技术研究的重点之一。

混沌系统有着对初始值和参数敏感,随机性,确定性和遍历性等特点。目前一维混沌映射有很多,但是在加密体系中经常使用的是Logistic映射,它是一种经典的一维混沌映射,起源于虫口模型。DNA又被称为脱氧核糖核酸,每一条DNA包含有四种碱基,使用C(胞嘧啶)、T(胸腺嘧啶)、A(腺嘌呤)和G(鸟嘌呤)四种碱基来对00、01、10、11进行DNA编码,通过结合DNA编码和混沌系统,设计了一种置乱加密算法,可以有效防止水印的非法提取。

由于大多数水印技术优先考虑鲁棒性和不可感知行,相比之下,在变换域上能够提供更好的不可见性,鲁棒性,变换域方法成为数字水印技术的流行方式,例如离散小波变换(DWT),离散余弦变换(DCT),离散傅里叶变换(DFT),整数小波变换(IWT),几种变换融合使用,发挥各种变换的特点也是目前主流的方式,研究表示,虽然小波变换具有很好的尺度分解能力,但是在面对几何攻击抵抗能力较差,为了解决这一问题,学者提出结合使用矩阵分解的方法,提高抗几何攻击的能力,其中最常用的是SVD分解,结合变换能够更好的抗击几何攻击,提高鲁棒性,目前大多数水印方案都会将水印嵌入到S对角矩阵当中,方案表明嵌入到S矩阵反馈的效果是相当好的,能够保持水印在各种攻击下具有很好的鲁棒性。但是由于在使用这种方案时,恢复水印时的图像的细节信息主要位于U,V矩阵当中,U,V矩阵会作为秘密密钥来进行恢复,从而产生了假阳性问题(FPP),进而使得安全性差。

发明内容

本发明的目的是:针对现有技术恢复水印时,图像的细节信息主要位于U,V矩阵当中,U、V矩阵会作为秘密密钥来进行恢复,从而产生了假阳性问题,进而导致安全性差的问题,提出一种基于DWT、SVD和DCT的安全图像水印方法。

本发明为了解决上述技术问题采取的技术方案是:

一种基于DWT、SVD和DCT的安全图像水印方法,包括嵌入水印的步骤和提取水印的步骤;

所述嵌入水印的步骤包括:

步骤一:获取水印灰度图像W,所述水印灰度图像W的大小为M×M,之后获取水印灰度图像W的像素平均值x

步骤二:将混沌序列{p

r

所述矩阵P表示为:

P=reshape(r

步骤三:将水印灰度图像W和矩阵P利用相同的DNA编码方式进行编码,并将该DNA编码方式作为密钥k3;

步骤四:利用DNA加法运算法则对编码后的水印灰度图像W和矩阵P进行DNA加法运算,得到加密后的水印图像W’;

步骤五:获取待嵌入水印的原始图像I,并将一级DWT应用于原始图像I,得到四个子带LL、LH、HL和HH,将一级DWT应用于原始图像I表示为:

DWT(I)=[LL LH HL HH]

其中,LL为低频子带,LH为水平子带,HL为垂直子带,HH为高频子带;

步骤六:选取水平子带LH和垂直子带HL,之后以8*8非重叠子块的形式对水平子带LH和垂直子带HL进行DCT变换,得到变换后的矩阵DLH和DHL;

步骤七:将变换后的矩阵DLH和DHL分别分解为多个t×t非重叠子块,并对每个子块应用SVD分解,SVD分解表示为:

SVD(DLH

SVD(DHL

其中,U

步骤八:利用加密后的水印图像W’替换原始图像I,并重复上述步骤五至步骤七,得到水印图像W’对应的水平子带的左奇异向量U

步骤九:以t×t非重叠子块的形式,利用S

S'

S'

步骤十:将原始图像I的左奇异向量U

步骤十一:将DLH'和DHL'以8*8非重叠子块的方式进行逆DCT变换,得到修改后的系数矩阵LH'和HL',之后将系数矩阵LH'和HL'应用一级逆DWT,生成加水印后的图像I

I

所述提取水印的步骤包括:

步骤十二:将一级DWT应用于加水印后的图像I

DWT(I

其中,LL

步骤十三:对LH

步骤十四:将矩阵DLH

SVD(DLH

SVD(DHL

其中,U

步骤十五:利用S

S

S

步骤十六:通过U

步骤十七:以8*8非重叠子块的形式对DLH

步骤十八:对LHW

W

步骤十九:通过密钥k1、k2、k3将加密的水印图像W

进一步的,所述水印灰度图像W的像素平均值x

其中,sum(W(:))为图像W像素值总和。

进一步的,所述分支参数μ的取值范围为:3.57≤μ≤4。

进一步的,所述支参数μ=3.6666。

进一步的,所述DWT表示为:

其中,W

进一步的,所述DCT变换表示为:

其中,F为DCT系数的变换输出,f为大小为N×N的输入图像,f(i,j)表示图像第i行,第j列的像素值,F(x,y)为表示DCT系数,(x,y)为DCT变化后的坐标,N为图像边长,a(x)a(y)为中间变量。

进一步的,所述SVD表示为:

A=U∑V

其中,A为SVD前的矩阵,U为左奇异向量。

进一步的,所述Logistic映射表示为:

x

其中,μ为分支参数,{x

进一步的,所述DNA编码方式如下:

其中,C为胞嘧啶、T为胸腺嘧啶、A为腺嘌呤和G为鸟嘌呤,00、01、10和11表示A、G、C、T四种碱基。

进一步的,所述DNA加法运算法则表示为:

其中,+表示加法运算。

本发明的有益效果是:

本申请用于灰度图像之间,以分块的形式将水印信息隐藏于图像的水平方向和垂直方向的奇异特征,有较强的抗几何攻击能力和抗常规攻击能力,而且计算速度快、精度高、有较好的兼容性。此外,本申请结合使用了一种基于混沌映射和DNA解编码运算相结合的加密算法,与常用的置乱算法相比,此加密方式增加了密钥容量,提高了安全性,能够有效避免假阳性问题,提高了安全性,该算法在信息安全领域具有很高的实用价值。

附图说明

图1是置乱加密水印生成流程图;

图2是嵌入算法流程图;

图3是提取水印流程图;

图4是原始载体图像(a)Zelda示意图;

图5是原始载体图像(b)Tiffany示意图;

图6是原始载体图像(c)Pepper示意图;

图7是原始载体图像(d)Baboon示意图;

图8是原始载体图像(e)Lena示意图;

图9是水印图像(a)Cameraman示意图;

图10是水印图像(b)Airplane示意图;

图11是PSNR和嵌入因子与三种块形式的关系示意图;

图12是不同参数下的NC值遭受三种不同滤波攻击后的趋势示意图;

图13是不同参数下的NC值遭受有损裁剪和压缩攻击后的趋势示意图;

图14是不同参数下的NC值遭受三种不同噪声攻击后的趋势示意图;

图15是原始水印图像(a)Cameraman示意图;

图16是加密的水印图像(b)Encryptwatermark示意图;

图17使用正确的参数k1,k2和错误的参数k3提取的水印示意图;

图18使用正确的参数k1,k3和错误的参数k3提取的水印示意图;

图19使用正确的参数k2、k3和错误的参数k1提取的水印示意图;

图20是原始水印图像的直方图;

图21是加密后水印图像的直方图;

图22为鲁棒性分析示意图。

具体实施方式

需要特别说明的是,在不冲突的情况下,本申请公开的各个实施方式之间可以相互组合。

具体实施方式一:参照图1具体说明本实施方式,本实施方式所述的一种基于DWT、SVD和DCT的安全图像水印方法,包括:

第一部分为水印图像的生成:

通过结合混沌系统和DNA编码对图像W进行加密,生成置乱图像,作为要嵌入的水印图像W’,加密过程流程图见图1。

(1)通过Logistic映射连续迭代得到混沌序列{p

其中sum(W(:))为图像W像素总和,即x

(2)将序列{p

p

P=reshape(r

其中,mod是取模运算,round是四舍五入到最近的整数,reshape是对数组重构。

(3)矩阵W和P均选择同一种DNA编码方式进行编码,编码方式同样作为一个密钥k3。

(4)通过DNA加法运算法则对矩阵W和P进行运算,得到加密后的图像W’,即要进行嵌入的水印图像。

第二部分为水印的嵌入:

水印嵌入的流程见图2,具体提取步骤如下:

(1)将一级DWT应用于原始图像I,以将其分解为四个子带。

[LL LH HL HH]=DWT(I)

(2)选取(LH HL)子带,以8*8非重叠子块的形式进行DCT变换,得到变换后的两个矩阵(DLH,DHL)。对于DCT变换,我们选择以8x8非重叠子块的形式施加。

(3)这一步中我们对Step2中变换后的矩阵分为t×t非重叠子块,并对每个子块应用SVD分解。

[U

[U

(4)对水印图像进行置乱加密处理,得到三个密钥,k1,k2,k3,是接收机解密水印图像所需的算法密钥。

(5)对置乱加密后的水印图像W重复步骤1至3,并且对每个t×t子块进行SVD分解之后,对应的矩阵是U

(6)以t×t非重叠子块的形式,用水印图像的奇异值修改分解图像的奇异值,缩放因子α控制插入水印的强度;

S'

S'

(7)将分解的原始图像的正交矩阵与修改的奇异值矩阵组合,获得修改后的矩阵(DLH',DHL')。

(8)合并非重叠子块以8*8非重叠子块的方式进行逆DCT变换得到修改后的DWT系数矩阵(LH'HL'),应用一级逆DWT以生成水印图像。

I

(9)通过安全信道传输原始图像的对角矩阵S

第三部分为提取水印图像:

水印提取的流程见图3,具体提取步骤如下:

(1)将DWT应用于加水印图像I

[LL

(2)对(LH

(3)将(DLH

[U

[U

(4)每个8*8子块提取两个子带的奇异值:

S

S

(5)通过分量U

(6)以8*8非重叠子块的形式进行逆DCT变换得到水印图像的LHW

(7)进行小波变换提取出水印图像:

W

(8)通过密钥将水印图像解除置乱。

由于本申请是一种基于DWT,DCT,SVD的数字图像水印算法,用于灰度图像之间,以分块的形式将水印信息隐藏于图像的水平方向和垂直方向的奇异特征,有较强的抗几何攻击能力和抗常规攻击能力,而且计算速度快、精度高、有较好的兼容性。此外,结合使用了一种基于混沌映射和DNA解编码运算相结合的加密算法,与常用的置乱算法相比,此加密方式增加了密钥容量,提高了安全性,能够有效避免假阳性问题。该算法在信息安全领域具有很高的实用价值。

以下从理论基础和试验数据说明:

在低通和高通滤波器的帮助下,DWT将图像分成四个子带LL、LH、HL和HH。当其它子带具有较高频率时,LL具有较低频率。粗略估计和全面信息分别由低频和高频子带提供。由于小波变换的多分辨率特性,水印可以被添加到任意子带。

离散小波的公式如下:

信号x[n],它的DWT由以下等式定义:

式中W

离散余弦变换(DiscreteCosineTransform)主要用于将数据或图像的压缩,能够将空域的信号转换到频域上,具有良好的去相关性的性能。DCT变换本身是无损的,与其他变换相比,DCT可以实现不同频率分解图像拥有更好的准确性。

定义为:

其中F是DCT系数的变换输出,f是大小为N×N的输入图像。f(i,j)表示的是图像第i行,第j列的像素值,F(x,y)是表示DCT系数。

SVD分解是一种矩阵分解,能够将矩阵分解为三个子矩阵,三个矩阵分别是左奇异矩阵U,奇异值矩阵S和右奇异矩阵V[37]。通过SVD分解,可从图像中提取出关键特征。

假定矩阵A是一个M×M大小的矩阵,那么我们定义矩阵A的SVD为:

A=U∑V

其中U是一个大小为M×M的矩阵,∑是一个大小为M×N的矩阵,除了对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V是一个N×N的矩阵。U和V都是酉矩阵,即满足U

混沌系统有着对初始值和参数敏感,随机性,确定性和遍历性等特点。目前一维混沌映射有很多,但是在加密体系中经常使用的是Logistic映射,它是一种经典的一维混沌映射,起源于虫口模型。

其定义为:

x

其中μ为分支参数,{x

DNA编解码与运算

DNA又被称为脱氧核糖核酸。在生物基因学中,每一条DNA包含有四种碱基,分别为C(胞嘧啶)、T(胸腺嘧啶)、A(腺嘌呤)和G(鸟嘌呤)。其中,根据DNA碱基互补配对原理,A与T,C与G分别可以互补配对,同样,在二进制表示中,0和1为互补关系,因此对于两位二进制数来说,00和11,以及01和10也是呈互补关系的。所以可以分别使用A、G、C、T四种碱基来对00、01、10、11进行DNA编码。我们可以用00,01,10和11来表示四种碱基,由于DNA碱基之间的互补关系,在24种编码组合中,只有8种编码组合满足碱基互补配对原则。表1给出了八个编码规则:

表1:DNA编解码规则

DNA的运算是按照每两位二进制数值对应一位DNA碱基的规则进行运算的由于共有8种符合条件的DNA编码方式,而每种DNA编码方式都可以有己的一套运算法则,通过运算可以得到更好的数字图像加密效果。加法和减法运算法则如表2,3所示。

表2DNA编码方法1的加法算法

表3DNA编码方法1的减法算法

下面结合附图对本申请作进一步说明:实验中载体图像和水印图像的大小均为512x512,首先通过水印生成过程将水印图像进行加密置乱处理,加密后的图像如图16所示,可以看出图像发生了很大的变化,提高了很大的安全性。在实验中,从可见性和鲁棒性两个方面对提出的水印方案进行了性能测试。通过模拟常用的攻击,在滤波、噪声、有损压缩以及翻转等攻击对算法进行了实验。峰值信噪比(PSNR)、结构相似性指数指标(SSIM)、归一化相关系数(NC)评估所提出的方案的不可感知性和鲁棒性。

根据大量的实验过程,在能满足最优情况下,为了验证鲁棒性,我们模拟了图像在添加过水印后,暴露在各种攻击之下。共模拟了16种攻击,滤波、噪声、剪切、压缩、重缩放、直方图均衡化(HE)、运动模糊、锐化和旋转攻击,见表4。

表416种攻击类型

首先通过PSNR和SSIM指标来评价和分析提出方案的不可见性,一般来说,当PSNR高于45dB,说明图像质量很好,非常接近原始图像;当PSNR在35dB-45dB之间,通常表示图像质量是好的,有可能发生失真并且容易察觉,但是可以接受;当PSNR在25dB-35dB之间,说明图像质量比较差;当PSNR低于25dB,说明图像质量不可接受。此外,当SSIM>0.93时,加印图像与载体图像之间具有比较小的差别。表5显示了图像在五幅不同宿主图像在水印嵌入时,未受到攻击的加印图像和相应提取水印图像的PSNR、SSIM、NC。在给定两张图像,一张作为载体图像,一张作为图像作为水印,采用三种不同分块形式进行嵌入,加印图像所展示的PSNR如图11所示。结果表示,我们提出的方案,PSNR均大于38dB,SSIM均大于0.99,并且在不受到攻击的情况下,NC均为1。在各参数相同的情况下,只更换载体图像,PSNR变化不大,所以稳定性也是良好的。由此我们认为,该水印方案在不可见性方面具有不错的效果。

表5不同的图像嵌入在PSNR,SSIM,NC下的水印图像

鲁棒性的分析主要需要体现的是,加印图像在复杂环境下,在受到各种偶然的攻击或者图片受损的情况下,提取水印图像的能力,我们用NC来评估提取的水印与原始水印之间的差别,NC越接近1,算法抵抗此类攻击的能力越强,否则对此类攻击的抵抗能力较弱。我们使用一组图像进行水印提取展示,结果表明,受损图像,提取出的水印虽然有一定的损失,但是NC均在0.9以上,并且在视觉上是能够接受的,并且结果显示出,该算法在JPEG压缩和各种滤波攻击中,算法表现出较强的抵抗能力,如图22所示。

本申请针对原始水印图像与置乱加密图像之间的相关性进行了分析,图15-16显示了原始图像和加密图像,图20-21显示了原始图像和加密图像的直方图比较,并且通过计算信源熵来进一步比较置乱效果,原始图像信源熵为6.9102,置乱之后的信源熵为7.9972,由此我们可以得出结论,图像置乱效果较好,提高了方案的安全性。

本申请对水印图像加密共有三个密钥,分别为k1,k2,k3,对于三个参数的密钥容量,k1分支参数μ,密钥容量为10

需要注意的是,具体实施方式仅仅是对本发明技术方案的解释和说明,不能以此限定权利保护范围。凡根据本发明权利要求书和说明书所做的仅仅是局部改变的,仍应落入本发明的保护范围内。

相关技术
  • 一种基于SVD-DWT-DCT的联合图像压缩方法
  • 一种基于DWT-DCT和Logistic Map的医学图像鲁棒水印方法
技术分类

06120116480149