基于混沌加密的DCT域灰度级盲水印算法_第1页
基于混沌加密的DCT域灰度级盲水印算法_第2页
基于混沌加密的DCT域灰度级盲水印算法_第3页
基于混沌加密的DCT域灰度级盲水印算法_第4页
基于混沌加密的DCT域灰度级盲水印算法_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于混沌加密的DCT域灰度级盲水印算法摘 要:提出一种混沌加密的DCT域灰度级盲水印算法。该算法利用80位外部密钥和两个混沌序列加密水印图像,为保证水印图像的平安性,两个混沌映射初始条件由外部密钥经过分组和数学变换提供,且动态变化。加密后的水印图像再经过灰度处理后嵌入到数字图像之中。仿真实验说明,该算法对图像信号处理和几何失真有较好鲁棒性,可应用于网络环境下版权保护和多媒体数据认证之中。关键词:混沌加密;DCT域;盲水印;灰度级中图分类号:TP316 文献标识码:A 文章编号:2095-1302202101-00-030 引 言作为传统密码学的有效补充,数字水印技术被认为是解决数字化时代数字作

2、品版权保护的一个重要手段,并成为信息平安领域的研究热点1。早期研究的水印多以嵌入一个无意义的一维或二维伪随机序列为主,之后逐渐开展到嵌入一个具有可视性的水印图像2。二值水印图像或者灰度水印图像嵌入的数据量更多,而且由于人眼在直觉上对图像最为敏感,一维或二维伪随机序列显然不如二值水印图像或灰度水印图像更容易识别3。此外,灰度水印较二值水印嵌入的数据量大,不但嵌入难度高,而且难于实现盲提取,在进步水印嵌入鲁棒性的同时,也降低了其透明性,所以许多学者对灰度水印进展了预处理以减少数据的嵌入量。一个好的数字水印算法应该折中的考虑水印的不可见性和鲁棒性。然而现有的水印加密的方法多数为用一个混沌序列与水印图

3、像进展一定的位运算进展简单的加密,可以很容易被直观地提取出来,在平安性上存在很大风险。而假设对水印的加密过于复杂的话,那么其在恢复的时候比较困难;通过改变连续序列数据分布特征实现水印的嵌入,鲁棒性较好,但只能对部分数据项适用,限制了水印嵌入容量4。另外根据工作域不同还有空域法和变换域法5,空域水印直接修改图像的像素,该类算法最大特点是算法简单、计算复杂度低、但鲁棒性较差6-7。变换域算法是对图像进展各种各样的变换后嵌入水印,相对于空域水印算法,变换域算法中水印信号能量可以分布到所有像素上,有利于保证水印不可见性;可以较方便地结合HVS Human vision system,有利于进步鲁棒性8

4、。为了加强水印的平安性、不可见性和鲁棒性,本文提出了一种基于混沌加密的 DCTDiscrete Cosine Transform域灰度级盲水印算法,首先用两个混沌序列置乱水印,然后把水印文件分解成二值序列嵌入到选定DCT块的选定系数中实现水印文件的嵌入。实验结果说明该算法有效,在没有压缩灰度水印数据量的情况下对JPEG 压缩、剪切等图像处理有较好鲁棒性。1 基于混沌映射的水印加密混沌是非线性系统出现的类似随机的动力学过程,具有初值敏感性、非周期性、连续宽带频谱及类似噪声的特性,使它具有天然的隐蔽性。混沌序列具有接近函数的自相关函数和零互相关函数的统计特性,遍历统计特性类似于白噪声,因此可被应用

5、于数字通信、多媒体数据平安和水印之中,以加强信息和水印的平安性。水印加密是利用外部秘钥通过对密进展钥分组和数学变换来确定混沌映射的初始条件X0、Y0,产生两个混沌序列X、Y。第一个序列用于和水印图像进展异或运算对水印图像进展数据的置乱每次8 b,第二个序列用来决定给像素中的R、G、B都占8 b中的哪一位与第一个混沌序列进展位运算。置乱后的水印图像再经过灰度处理后嵌入到图像文件中。本文以Logistic映射为例演示混沌序列加密水印算法,详细步骤如下:第一步,应用一个80 b长的外部密钥,每4 b分成一个秘钥块:K=k1k2k3k20HEX格式 1ki是0-9,A-F。另外,每8 b分成一个秘钥块

6、表示如下,其中Ki代表第i个密钥块:K=K1K2K10ASCII格式 2第二步,利用Logistic映射产生两个混沌密钥序列Xn、Yn用来置乱水印图像:Xn+1=Xn1-Xn 3Yn+1=Yn1-Yn 4混沌序列的初始值X0、Y0通过下面的数学转换得到。第三步,计算初始条件X0,选择式2中三个密钥模块如:K1K2K3并把其转换成二进制格式B1:B1=K1K2K3 5 Kij是第i个密钥模块第j个bit位0或1,用上面二进制形式计算实数X019:X01=B110/224=K4120+K4221+K4827+K5128+K5229+K58215+K61216+K62217+K68223/224 6

7、用如下公式计算得出X02,其中的 ki 是式1中十六进制表示的块:X02=k13+k14+k15+k16+k17+k1810/96 7根据式6、式7计算的X01和X02,利用以下算法可得映射3的初值X0:X0=X01+X02mod 1 8第四步,根据计算获得的X0和式3产生一个混沌序列,其中取出区间0.1,0.9内的4个迭代值构成一个实数序列f1, f2, f4,再把该实数序列用下式转换成整数序列,如式9所示,其中int表示整数转换,第k个整数为9:Pk=int23fk-0.1/0.8+1 k=1,2,4 9第五步,计算第二个混沌序列的初始状态Y0,选择三个密钥模块转换成二进制形式:B2=K1

8、K2K3 10Kij是第i个密钥模块第j个bit位0或1,用上面二进制形式计算实数Y01:Y01=B210/24 11Y02用如下公式计算得到:12B2Pk表示B2中第Pk个bit位的二进制值0或1,映射4的初始值表示如下:Y0=Y01+Y02mod 1 13第六步,利用初始条件Y0和式4迭代产生一个混沌序列y1,y2,y3,y4,yn。对序列的每个值都扩大十倍后取整,然后对每个值对3取余,详细表示如式14所示:vn=intyn10mod 3 14序列vn决定R、G、B与第一个混沌迭代产生的实数序列进展位运算,如式15所示。从文件中取一个像素点的数据,放入大小为3的数组Val中,R放入Val0

9、,G放入Val1,B放入Val2。序列vn其值为0、1、2序列决定R、G、B中的与fi 第一个混沌序列产生的迭代值中的那一个进展异或操作。其中的char表示取实数的低八位。Valj=Valjcharfij=0,1,2,jvn 15第七步,水印文件的像素模块加密以后,用如下方程更改K1K9密钥,Ki10=Ki10+K1010mod 256 1i9 16用上式修改密钥后,取步骤4中迭代产生的实数序列中的 f4作为第一个混沌映射的初始条件即X0=f4再次生成一个新的4位实数序列,之后重复步骤57,直到水印文件处理完毕。2 DCT域灰度级盲水印算法2.1 灰度级水印预处理经过1产生的加密水印图像文件为

10、设为W,大小为MN。对W每个像素值Wi,j,i=1,2,M,j=1,2,N,按位分解为二进制,得到一个长度为MN8的一维二值水印嵌入序列。2.2 水印嵌入将原始灰度图像按88进展分块然后进展DCT变换。为较好地满足水印的稳健性和不可见性,选择将水印嵌入到DCT中频系数中10。详细步骤如下:1设W为192192的原始图像数据矩阵,将W按88进展分块,每块大小为2424。对每个分块进展DCT变换,即I=DCT 2I。2将W的像素值分别嵌入到24个88的块中,并按加性原那么嵌入在中频位置。将水印信息分别嵌入到每个块的第x,y系数上,即Idx,y=kWi,j,k为嵌入强度。 3水印嵌入后,对图像进展离

11、散余弦逆变换,即I=IDCTId,这样就得到含水印的图像。2.3 水印提取水印提取算法大致是嵌入算法的逆过程:第一步,对嵌入水印后的图像I按88分块,每一块进展DCT变换,得到每一块系数,取出每一块中点x,y处系数Idx,y做相应计算:Wi,j=Idx,y/k,k为嵌入强度11。第二步,对提取出的水印图像Wi,j,先灰度级逆处理,然后用混沌序列再进展二值化处理即可得到原始水印图像。3 仿真实验结果及分析在DCT域选定一组混沌加密序列作为嵌入参数,盲水印嵌入利用人类视觉掩蔽特性,如图1、2所示。嵌入的水印序列在没有原始图像情况下可以被提取出来,实验结果说明水印对大部分图像信号处理和几何失真具有鲁

12、棒性,如图3、4所示。图5为论文用到的原始水印,图6为恢复水印。图1输入灰度图像 图2 嵌入水印图像 图3不同像素图4受噪声破坏的图像 图5原始水印 图6恢复水印选用峰值信噪比PSNR客观评价图像降质,数据失真率DR客观评价检测水印质量,NC表示原水印和提取水印最大相关系数;1718各种攻击及其对含水印载体和水印检测结果质量的影响如下:1JPEG压缩:图7描绘了在JPEG不同的质量和相应的NC压缩后的恢复水印。显然,水印可以被识别,同时,NC的值均大于0.85。一般来说,当Q从90至20变化过程中,NC是稳步减少而不是像Q一样下降。因此,该算法仍具有鲁棒性和稳定性。2滤波:当水印图像通过高斯低

13、通、中值和不同型号的平均值过滤器进展过滤时,所有的水印如图8和图9所示。此外,NC的值均大于0.83,这说明该算法具有对抗滤波的才能。a Q=90 NC=0.950 9 b Q=70 NC=0.927 3 c Q=50 NC=0.911 8d Q=30 NC=0.895 4 e Q=20 NC=0.868 7图7 不同品质JPEG压缩后的恢复水印Qa s=3 NC=0.907 3 b s=4 NC=0.870 8图8 不同尺寸高斯低通滤波器s*s后的恢复水印aMedians=3NC=0.910 7 bMedians=5NC=0.890 8 cMedians=7 NC=0.869 7dMedia

14、n s=9NC=0.850 2 eAverages=3NC=0.904 7 fAverages=5NC=0.873 0g Averages=7 NC=0.857 8 h Average s=9 NC=0.832 4图9 不同尺寸下中值和均值滤波器s*s后的恢复水印各种攻击及其对含水印载体和水印检测结果质量的影响如表1所示。表1 攻击及其对载体图像和水印质量攻击方法 载体PSNR 水印无攻击 43.236 4 1.039 5JPEG 90% 38.656 3 5.659 4JPEG 70% 36.146 8 10.626 8JPEG 30% 33.562 2 23.931 8高斯噪声 26.74

15、8 3 11.258 4低通滤波 33.515 8 14.216 4中值滤波 34.753 9 14.469 4锐化 29.812 3 18.837 1灰度拉伸 18.776 5 26.890 1综合 10.166 2 18.123 74 结 语在本算法中利用80 b的外部秘钥通过数学转换计算得到混沌序列的初始值,迭代产生两个混沌序列,以字节的方式加密水印图像像素点,再经过灰度处理后嵌入到图像中。实验显示此算法保证了水印的不可见性,又具有很强的稳健性,受到攻击后的图像提取出来的水印仍能被识别出来,对常见图像处理操作具有较好的鲁棒性。参考文献1单桂军,时文兵. 基于Shearlet变换的盲图像水

16、印算法J. 计算机应用与软件,2021,316:319-323. 2鲍政, 张建伟, 夏德深. 基于混沌加密的DCT域灰度级盲水印算法J. 计算机工程,2006,327:157-162.3杨恒伏, 陈孝威. 一种鲁棒的DCT域公开水印算法J. 计算机工程,2003,3011: 142-144.4徐龙秦. DWT域的关系数据库鲁棒性盲水印算法研究J. 计算机工程与应用,2021,4622:153-156.5丁海洋. 基于DCT和DFT视频盲水印算法的研究与实现J. 北京印刷学院学报,2021,204:32-35.6 Yang Qianli, Cai Yanhong. A Digital Imag

17、e Watermarking Algorithm Based on Discrete Wavelet TransformC. Information Technology in Medicine and Education,2021:1102-1105.7郑融, 金聪, 魏文芬, 等. 一种基于混沌加密的DCT域数字图像水印算法J. 计算机应用,2005,2510: 2365-2373.8 Kutter M, Winkler S. A vision-base masking model for spread spectrum image watermarkingJ. IEEE Trans. Image Proccessing, 2002,111:16-25.9 Pareek. N. K, Vinod Patidar, Sud. K. K. Image encrypti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论