基于MATLAB的数字水印系统

一、课题背景和研究意义

从二十世纪九十年代开始,网络信息技术在全世界范围内取得了迅猛发展,它极大方便了人们之间的通信和交流。借助计算机网络所提供的强大的多媒体通信功能,人们可以方便、快速地将数字信息(数字音乐、图像、影视等方面作品)传到世界各地,一份电子邮件可以瞬息间传遍全球[1-7]。但在同时计算机网络也成为犯罪集团、非法组织和有恶意的个人利用的工具。从恶意传播计算机病毒,到非法入侵重要部门信息系统,窃取重要机密甚至可使系统瘫痪;从用计算机进行金融犯罪,到利用表面无害的多媒体资料传递隐蔽的有害信息,对计算机信息系统进行恶意攻击的手段可谓是层出不穷。

信息隐藏技术在保密通信、版权保护等领域中都具有相当广泛的应用价值,根据不同应用背景,信息隐藏技术可以分为两个重要分支隐写术(Stegano Graphy)和数字水印[8](Digital Watermarking)。数字水印主要是为了保护知识产权的,通过在原始媒体数据中嵌入信息来证实该媒体的所有权归属问题。数字水印的主要目的不是限制对媒体访问,而是确保媒体中水印不被篡改或消除。因此稳健性是数字水印最基本要求之一。数字水印中的稳健性是指水印图像经过一些常见改变后,水印仍具有较好可检测性。这些改变包括常见的图像处理手段(如数据压缩、低通滤波、图像增强、一次抽样、二次量化、A/D和D/A转换等等)、几何变换和几何失真、噪声干扰、多重水印(Multiple Watermarking)的重叠等。对不同应用场合,要求具有不同的稳健性。但需要指出的是,存在另一种与稳健水印性质相反的水印,被称为易损水印(Fragile Watermarks),它们被用来证实原始媒体是否被改动过。稳健性在整个水印系统设计中具有很重要的分量,这也是将隐写术和数字水印分别对待的原因之一。隐写术主要考虑的是安全性(即统计特性上无法检测隐密信息的存在性)和嵌入容量,不可见性等。

因此,信息隐藏技术的研究在信息安全领域中具有很重要的地位,它对于军事、情报、国家安全方面的重要意义是不言而喻。它包括数字隐写与隐写分析两个方面。一方面要以尽可能隐蔽的方式将信息深藏于浩如烟海的数字多媒体信号之中,毫不引起对方怀疑而达到隐蔽通信的目的;另一方则以各种手段检测可疑信息的存在,搜寻敌对隐蔽通信的信源,隔断隐蔽通信的信道。设计一种高度安全的隐写方法是一项富于挑战性的课题,而对隐写的准确性判定往往比隐写本身更加困难[12]。数字隐写与隐写分析的交互发展正是方兴未艾,成为互联网时代信息战技术的一个新的课题。信息网络上的攻防技术水平将反映的是一个国家的科技水平和防范意识。

二、LSB算法介绍

最低有效位(Least Significant Bits,LSB)[18]方法是最早提出来的最基础的空域图像信息隐藏方法,其它的许多空域算法都是从它的基本原理进行改进扩展得到的,使得LSB方法成为使用最广泛的隐藏技术之一。现在有一些简单信息隐藏软件大多是运用LSB和调色板调整等相关技术将信息隐藏在24 bit图像或256色图像之中,如Hide and Seek,Stego - Dos,White Noise Storm,S-tools等经典信息隐藏软件。

1、隐藏原理

LSB方法是通过调整载体图像像素值的最低若干有效位来实现数据的嵌入方法,使所隐藏信息在视觉上很难被他人发觉,而且只有知道了秘密信息嵌入的位置才能正确提取出秘密的信息。显然,LSB隐藏算法最低位被改变的概率大概是50%,它在原始图像里面引入了极小噪声,在视觉上是不可见的。实际上,对于24 bit真彩色的图像,我们在其最低的两位甚至三位来隐藏信息在视觉上仍然是不可见的,对于灰度图像,改变其最低的两位也能取得较好的效果。

另外,在LSB方法之中,也可不采用直接嵌入的方法,根据异或的可逆准则性,采用替换的准则来实现信息的隐藏效果。异或的简单原理如下:

。因此在嵌入数据位之时,嵌入的是数据位与1或0的异或值。基于异或的运算也有许多可改进的算法,在嵌入的过程之中,首先计算出每个像素灰度值的每一位的异或值,并把所得到结果与要嵌入的信息进行异或运算,然后把像素灰度值的最低位全部清零或置为1,再根据异或运算结果的值来改变最低位信息,实际上,这相当于对信息进行了一层加密的处理,嵌入的不再是原始信息了,而是原始信息的另外一种表达形式,不知道密钥的攻击者很难从中提取出有用信息。

2、鲁棒性分析

LSB算法具有相当弱的鲁棒性。对于许多变换,即使是有益的,也是很脆弱的。有损压缩典型如JPEG压缩,就有可能彻底破坏隐藏的信息。因为LSB算法试图利用人类的视觉系统上的漏洞,而有损压缩算法所依赖的是对附加噪声的不敏感性,正是利用它来减少数据量的。几何变换的移动像素尤其是改变像素在原栅格中的位置都有可能破坏嵌入的信息。任何其它的图像的变换如模糊、滤波等,通常都也会破坏隐藏的数据。

3、隐蔽效果

图2.1为512×512的Lena的灰度图,图2.2为LSB直接替换的最低有效位后的Lenna图,我们看不出两个图片之间的区别,隐蔽性比较好。

图2.1 原来的Lenna灰度图 图2.2 Lenna的隐秘灰度图

三、 水印攻击性实验

由于数字水印在实际应用中可能会遭到各种各样的攻击,因此对算法进行攻击测试是衡量一个水印算法优劣的重要手段。

1、JPEG 压缩实验

首先对嵌入水印后的图像进行 JPEG压缩(如图3.3),而后从压缩的图像中提取出水印(如图3.4),对融合图像进行不同JPEG压缩比压缩,得出数据如表3.1所示。程序代码如下:

imwrite(Y,'watermarked1.jpg','jpeg','quality',45);

Y=imread('watermarked1.jpg');

图3.3 压缩后的融合图形

(a) 未经压缩的提取水印 ( b) 压缩90%后的提取水印 (c) 压缩80%后的提取水印

(d) 压缩70%后的提取水印 (e) 压缩60%后的提取水印 (f) 压缩50%后的提取水印

图3.4 压缩实验后的水印效果图

表3.1 JPEG压缩实验提取与嵌入水印的峰值信噪比和相似度

JPEG压缩比(quality) 信噪比(PSNR) 相似度(NC)
50 9.4534 db 0.9270
60 12.0882 db 0.9350
70 14.4313 db 0.9588
80 17.6216 db 0.9887
90 21.1069 db 0.9938

由实验可知,小波域水印法对JEPG压缩实验有一定的抗性,压缩比直接影响PSNRNC的取值,当Quality取值越大时,压缩质量越好,提取出的水印效果也就越好。

2、噪声实验

加入噪声是对水印鲁棒性考验的一种常见的攻击 。本实验选取两种常用的噪声,高斯噪声和椒盐噪声作为攻击手段。先对融合图像加入高斯噪声(如图6.5),通过对高斯噪声的方差进行变化,得到不同效果图和数据,如下图6.6和表6.2所示。程序代码如下:

sigma=1;

Y=Y+sigma*randn(size(Y));

图3.5 加入高斯噪声后的融合图像

(a) 未经处理的提取水印 (b) sigma=1时的提取水印 (c) sigma= 2时的提取水印

(d) sigma=3时的提取水印 (e) sigma= 4时的提取水印 (f) sigma= 5时的提取水印

图3.6 高斯噪声实验后的水印效果图

表3.2 高斯噪声实验提取与嵌入水印的峰值信噪比和相似度

高斯噪声的方差(sigma) 信噪比(PSNR) 相似度(NC)
1 22.030 db 0.9963
2 16.1241 db 0.9859
3 12.7570 db 0.9706
4 9.9961 db 0.9453
5 8.1260 db 0.9203

由上述实验可知,小波域水印法对高斯噪声攻击性实验具有一定的抗性,但效果不太好,高斯方差直接影响PSNRNC的取值。

再对融合图像加入椒盐噪声(如图3.7),通过对椒盐噪声的密度取值进行变化,得到不同的图像和数据,如下图3.8和表3.3所示。程序代码如下:

U=0.5*ones(size(Y));

J=imnoise(U,'salt & pepper',0.0001);

Y(J==0)=0;

Y(J==1)=255;

图3.7 加入椒盐噪声后的融合图像

(a) 未经处理的提取水印 (b)密度为0.0002时的提取水印 (c) 密度为0.0004时的提取水印

(d) 密度为0.006时的提取水印 (e) 密度为0.0008时的提取水印 (f)密度为0.001时的提取水印

图3.8 椒盐噪声实验后的水印效果图

表3.3 椒盐噪声实验提取与嵌入水印的峰值信噪比和相似度

椒盐噪声的密度 信噪比(PSNR) 相似度(NC)
0.0002 16.3944 db 0.9939
0.0004 14.7578 db 0.9807
0.0006 12.8045 db 0.9694
0.0008 11.4493 db 0.9588
0.001 10.4967 db 0.9451

由上述实验可知,小波域水印法对椒盐噪声攻击性实验也具有一定的抗性,但效果不是太好,改变椒盐噪声的密度可直接影响PSNRNC的取值。

综上所述,小波域水印法在盲提取和检测中具有良好的鲁棒性和不可见性。在进行抗攻击性实验室,也表现出一定的抗性。但抗压缩性的能力明显优于抗噪声性的能力,以后的改进需向抗噪声干扰这方面进行。

基于MATLAB的数字水印系统相关推荐

  1. 基于MATLAB的OFDM系统实现

    基于MATLAB的OFDM系统实现 OFDM(正交频分复用)的基本原理是将高速的数据流通过串并转换分解成若干低速的数据流,利用多个正交的子载波并行传输.本文借鉴了IEEE802.11a标准并进行简化, ...

  2. 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真教程.doc

    基于MATLAB的MIMO系统预编码性能仿真教程 PAGE \* MERGEFORMAT - 33 - 摘要在现今的移动通信系统中,被极多的国际通信标准采纳为基础性关键技术的一种方法是多输入多输出的技 ...

  3. matlab频分复用,基于MATLAB的频分复用系统的仿真_.doc

    基于MATLAB的频分复用系统的仿真_ 基于MATLAB的频分复用系统的仿真_毕业论文(设计) Abstract With the development of communication techn ...

  4. 【音乐检索】基于matlab音乐检索系统【含Matlab源码 435期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[音乐检索]基于matlab音乐检索系统[含Matlab源码 435期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏 ...

  5. 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真.doc

    基于MATLAB的MIMO系统预编码性能仿真.doc (33页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分  摘要在现今的移动通信系统 ...

  6. matlab进行mppt控制仿真,基于matlab光伏发电系统的MPPT控制与仿真.pdf

    基于matlab光伏发电系统的MPPT控制与仿真 ( ) J.SHANXIAGRIC.UNIV.NaturalScienceEdition ( ) , () 002990 学报 自然科学版 2013 ...

  7. matlab扩频与解扩,基于+MATLAB+的DSSS+系统的仿真研究.pdf

    基于+MATLAB+的DSSS+系统的仿真研究.pdf 2012年第08期 专题研究 基于MATLAB的 DS-SS系统的仿真研究 ■ 梁春东 摘要:文章阐述了扩频通信的理论基础,并利用MATLAB可 ...

  8. 基于matlab的16qam系统,基于MATLAB的16QAM通信系统的仿真精选.doc

    基于MATLAB的16QAM通信系统的仿真精选 基于MATLAB的16QAM通信系统的仿真 [摘要]随着现代通信技术的发展,特别是移动通信技术高速发展,频带利用率问题越来越被人们关注.在频谱资源非常有 ...

  9. matlab单机无限大系统_基于MATLAB的单机无穷大系统短路故障分析

    基于 MATLAB 的单机无穷大系统短路故障分析 [摘要] 本文以 MATLAB7.0 软件为平台构建了一个单机无穷大系统的仿真 模型, 并以电力系统中最常见的单相短路故障为例, 分析了短路中的电压电 ...

最新文章

  1. c语言 真假条件跳转语句,什么是无条件跳转语句(C++)
  2. 线性求[1,P-1]的逆元
  3. Windows7下手动搭建Apache+PHP+MySQL方法记录
  4. 互联网协议IP抓包分析 -- wireshark
  5. POJ-3281 Dining 网络流最大流
  6. NetCore下模拟和使用Modbus工业通信协议
  7. 解决office2007每次打开提示向程序发送命令时出现错误
  8. ssd内部是多个flash一起操作_广告设计中Flash图形动画的应用
  9. 拆除指令怎么设置_快捷指令(16)朗读屏幕内容
  10. 防蓝光膜真的能阻挡蓝光,减小辐射吗?
  11. java B2B2C Springcloud仿淘宝电子商城系统-spring cloud 框架原理
  12. SecureCRT使用技巧连载
  13. 一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(13)--修改任务表单...
  14. 五步构建经营指标,拒绝分析不接地气
  15. linux没找到unzip命令,linux中提示没有unzip命令解决方法如果你如法使用unzip命令解压.zip文件,可能是你没有安装unzip软件,下面是安装方法命令: yum li...
  16. 《阿里巴巴Java开发手册》版本演进历史
  17. 域管理电脑自动锁屏html,简单两步让windows实现关闭屏幕时自动锁定电脑
  18. Android 模拟器 Root 和 SuperSU 安装
  19. web前端工具(配色图片图标)
  20. 关于FT232R下载模块,出现“FT232R USB UART”不识别的解决办法

热门文章

  1. Scrum板与Kanban如何抉择?pqtofaaae板与按照bdyefr
  2. 华硕AC66U_B1救砖或者恢复固件
  3. 【Ubuntu20.04网络配置】
  4. java多行文本框显示_JavaGUI——swing組件基礎(六)多行文本框組件JTextArea
  5. FreeMarker生成word-定义模板步骤(带表格且含合并单元格)
  6. 阻抗控制和导纳控制浅析
  7. 蚂蚁金服 mPaaS 服务端核心组件体系概述:移动 API 网关 MGS
  8. 围观五四青年节优秀借势文案-爱豆子
  9. Java编程需要必须掌握哪些基础知识?
  10. 【精选】JAVA算法题(二十五)