基于Arnold置乱和Hadamard变换的双水印信号预处理算法

2010-08-07 08:20罗锦胡桂明季宏杰
网络安全技术与应用 2010年3期
关键词:数字水印密钥预处理

罗锦 胡桂明 季宏杰

1 广西大学电气工程学院 广西 530004

2 济南钢铁集团运输部 山东 250101

0 前言

随着信息数字化时代的到来,数字水印技术在数字内容的产权保护这一领域具有十分广泛的应用。公钥数字水印系统是数字水印的一种,它设立了两个密钥,分别对应两个水印,其中一个是版权所有者的私钥,另一个是可以公开的版权公钥。任何人都可以利用公钥检验图像的所有者属于谁,这样能使发现盗版产品的机会大大增加。

为了使两个水印图像能同时嵌入到载体中,而又能互不干扰地使用各自的密钥将两个图像提取出来,文中提供了一种基于Arnold置乱和Hadamard变换的双水印信号预处理算法。算法的主要步骤如图1所示。

图1 双水印信号的预处理过程

1 Arnold置乱

Arnold置乱是经典的置乱变换之一,它能改变信息的分布状况,使图像信息分布散乱化,同时,它的逻辑简单,实现方便,可以有效降低系统的复杂度。根据所选择不同的相位空间可分为二维、三维、四维直至N维的Arnold变换。本文针对的研究对象是二维图像,故采用的是二维Arnold变换。其定义为:

其中,(x,y)是原图像的像素点,(x′,y′)是变换后新图像的像素点,n是图像的阶数,即图像的大小,一般考虑正方形图像。在水印信号的生成阶段,把置乱的次数作为加密的密钥。Arnold具有周期性的特点,即随着迭代次数的增加,图像趋于混乱,经过一定的次数后,又回到原图。其Matlab代码如下。

function Arnold(Image,k) %k:图像需要迭代的次数

R=imread(Image);

M=Q;

Size_Q=size(Q);

n=0;

K=Size_Q(1);

在文中,把一个大小为64×64的二值图像作为水印图像。迭代次数k取不同值时得到的水印信号如图2所示。

图2 迭代次数k取不同值时的Arnold变换结果

为了减少迭代次数,优化算法,在文献中,论文作者经过严谨的数学推导,通过求解方程组的方法,提出了一种新的Arnold反变换算法。据此提供了Arnold反变换的Matlab代码。

2 Hadamard变换

Hadamard矩阵H是由+1和-1两个元素组成的正交方阵,它的任意两行或者两列都互相正交,即

在式(2)中,[H]T为[H]的转置矩阵,N为[H]的阶数,[I]为单位阵。

为了将两个水印W 1和W2同时嵌入而且能够互不干扰地恢复,需要对它们进行正交变换,为此采用2阶Hadamard正交变换,步骤为:

(1) 把W1、W2分别作迭代次数为k1、k2的Arnold置乱,得到两个大小为64×64的置乱矩阵M1,M2,此时k1、k2即为两个水印信号对应的密钥;

(2) 把矩阵M1,M2的所有元素按照行顺序取出,分别置入到大小为1×4096的向量I1,I2中;

(3) 分别取 I1,I2的转置矩阵,进行混合编码

得到大小为4096×2混合编码Im;

(4) 使用2阶Hadamard矩阵H2,对混合编码 Im进行正交变换:

此时得出的 Im为Hadamard变换的最终结果,也就是待嵌入的水印信号编码。

恢复水印时,首先提取到 Im,根据式(5)恢复相应的水印置乱结果:

其中,Hi为H2矩阵的第i列向量。

如果把Hadamard矩阵的列向量视为地址码,式(5)实质上是按地址码的不同而区分水印,称之为码分多址。

通过Hadamard变换,能同时嵌入两个数字水印。由于两个水印互相正交,从水印信号编码中提取公开水印时,不影响私有水印的提取,同时也只能得到私有水印置乱后的信号,只有知道私钥的人才能从中恢复出私有水印。

3 仿真实验

根据前文论述的方法,对两幅二值水印图片做Arnold置乱操作,如图3所示。

图3 将双水印做Arnold置乱操作后的结果

根据上文提供的步骤(1)-(4),对置乱后的两个水印进行混合编码,编码的结果再做Hadamard变换,得到需要的水印信号编码。

然后,我们依据式(5)进行编码提取,得到I1,I2的转置矩阵,将I1,I2的元素取入到大小为64×64的矩阵M1,M2中,然后对M1,M2分别作21次和29次Arnold置乱,得到的结果如图4所示。

图4 对M1,M2矩阵做21次和29次Arnold迭代后结果

4 结论

Arnold置乱逻辑简单,便于实现,Hadamard变换能将两个水印信号的混合编码进行正交变换,生成的信号编码能同时嵌入到载体图像中,并且公开水印和私有水印能互不影响地提取,给多重水印信号的预处理提供了一种新的方法。

[1] W.bender,D.Gruhl and N.Morimoto. Technique for Data Hiding[J].IBM System Journal.1996.

[2] I.J.Cox,M.L.Miller and J.A.Bloom.Digital watermarking.Morgan Kaufmann.2002.

[3] 孙圣和,陆哲明,牛夏牧等.数字水印技术及应用[M].北京:科学出版社.2004.

[4] 杨义先,钮心忻.数字水印理论与技术[M].北京:高等教育出版社.2006.

[5] 丁玮,闫伟齐,齐东旭.基于 Arnold变换的数字图像置乱技术[J].计算机辅助设计与图形学学报.2001.

[6] 李何明,张大兴.一种基于 Hadamard变换的快速盲水印算法[J].杭州电子科技大学学报.2009.

[7] 孔涛,张亶.Arnold反变换的一种新算法[J].软件学报.2004.

[8] 谭月辉,梁欣,张俊萍等.基于 Arnold变换和采样理论的置乱技术研究[J].微计算机信息.2006.

猜你喜欢
数字水印密钥预处理
求解奇异线性系统的右预处理MINRES 方法
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
基于网屏编码的数字水印技术
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
基于预处理MUSIC算法的分布式阵列DOA估计
基于FPGA的数字水印提取系统设计研究
浅谈PLC在预处理生产线自动化改造中的应用
基于数字水印的人脸与声纹融合识别算法