- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息隐藏与通信保密概要
信息隐藏与通信保密
第五组: 130756 陈先棒
130758 樊子娟
130759 许金乐
数字水印方法
数字水印的基本原理
定义:数字水印是永久镶嵌在其他数据(宿主数据)中的具有可鉴别性的数字信号或模式,并且不影响宿主数据的可用性。
特点:安全性、可证明性、不可感知性、健壮性
数据水印算法:
水印的加载
水印的检测
数字水印的分类
从水印的载体上分类:静止图像水印、视频水印、音频水印、软件水印、文档水印
从外观上分类:可见水印、不可见水印
从水印的加载方法上分类:空间域水印、变换域水印
MATLAB仿真:
静止图像、不可见水印、变换域水印(DCT、DWT)
DCT域的数字水印
DCT:离散余弦变换,将一组光强数据转换成频率数据,以便得知强度变化的情形。
若对高频的数据做些修饰,再转回原来形式的数据时,显然与原始数据有些差异,但是人类的眼睛却是不容易辨认出来。
在原始图像的分块DCT变换系数上嵌入水印信号,直流系数的改变很容易影响图像的质量,而高频系数则代表图像中的噪声部分易被去掉从而非常容易丢失。因此我们选择每个块中固定的中频系数来加载水印信息。
DCT域的数字水印
DCT域嵌入水印算法流程 DCT域提取水印算法流程
DCT域的数字水印
MATLAB仿真
例:将文字隐藏到图片中
1、新建一个txt文档,命名为“hidden.txt”,用于输入待嵌入的水印信息
输入文字信息“key1234589”
2、新建一个空的txt文档,命名为“message.txt”,用于输出水印提取的结果
3、选取图片Lena.bmp作为水印载体
DCT域的数字水印
io=imread(lena.bmp);
T=dctmtx(8);
DCTrgb=blkproc(i1,[8 8],P1*x*P2,T,T);
wi=blkproc(DCTrgb,[8 8],P1*x*P2,T,T);
imwrite(output,watermarkedlena.bmp);
水印的加载:
DCT域的数字水印
水印的加载:
MATLAB仿真结果:
DCT域的数字水印
水印的提取:
wi=imread(watermarkedlena.bmp);
T=dctmtx(8);
DCTcheck=blkproc(wi,[8 8],P1*x*P2,T,T);
for i=1:80
if DCTcheck(i+4,i+1)=DCTcheck(i+3,i+2)
message(i,1)=1;
else
message(i,1)=0;
end
End
out=bit2str(message);
fid=fopen(message.txt, wt);
fwrite(fid, out)
DCT域的数字水印
水印的提取:
MATLAB仿真结果
嵌入的水印信息
水印的提取:
MATLAB仿真结果
提取的水印信息
DWT域的数字水印
DWT:离散小波变换
水印的加载:
1、初始化:将载体图像的每个像素的最后r比特置为1
2、小波变换:对水印图像和初始化后的载体图像进行小 波变换
3、矢量量化:矢量划分、投影排序、编码、
4、加密及隐藏:先加密再隐藏以保证安全
隐藏:矢量量化的结果与初始化后的载体图像像素的 后r位(全为1)相与,则载体图像像素的后r位即为所隐藏的数据
DWT域的数字水印
MATLAB仿真
例:在载体图像中嵌入图像水印
分别选取1.bmp图像和2.bmp图像作为载体图像和水印图像
水印图像
载体图像
DWT域的数字水印
水印的加载
MATLAB仿真结果:
DWT域的数字水印
水印的提取(水印嵌入的逆过程)
1、参数提取:提取接收到的图像的每个像素的后r位
2、逆初始化:对提取出的后r位置1
3、解密参数:通过相应的解密算法恢复隐藏的参数
4、矢量重建和图像重构:小波变换、逆小波变换
DWT域的数字水印
水印的提取
MATLAB仿真结果
谢谢!
文档评论(0)