当前位置:首页 >> 信息与通信 >>

图像隐藏加密理论,算法以及程序技术报告


图像隐藏加密理论,算法以及程序

1

摘要

图片隐藏加密技术近年来得到了较大的发展,基于变换域的水印技术是目 前研究的热点。 数字水印是利用数字作品中普遍存在的冗余数据和随机性,把标 识版权的水印信息嵌入到数字作品中, 从而可以起到保护数字作品的版权或其完 整性的一种技术。 一个有效的图片隐藏加密系统至少具备以下三个最基本的特性:1.安全性: 数据信息隐藏于数据图像中, 不是文件头中,文件格式的变换不应导致水印信息 的丢失。2.隐蔽性:在数字图像作品中嵌入数字水印不会引起图像明显的降质, 即含水印的图像与原始图像对人的感觉器官的刺激应该是无差别或差别很小, 主 观感觉变化很小。3.鲁棒性:是指在经历有意或无意的信号处理过程后,水印信 息仍能保持完整性或仍能被准确鉴别。另外还有通用性、惟一性等特性。数字水 印的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信等。 本文提出了一种图片隐藏加密的水印算法,实验结果表明这种算法具有较 好的性能,实现的水印具有不可见性,而且具有较好的鲁棒性。 关键词:数字水印; Matlab 程序

2

Abstract

Image hiding and encryption technology in recent years have seen great development, based on changing domain watermark technology is being studied. Digital watermark is the use of digital works prevailing in the redundant data and random nature of the logo copyright watermark information embedded in the digital works, so as to protect digital copyright or the integrity of a technology. An effective Digital watermark system at least the following three basic characteristics: 1. Security of data and information hidden in the digital image, not document and the format of the change should not lead to watermark information is missing. 2. hidden in the digital image works that are embedded in Digital watermark there is no image clear of quality, shallow the image of Original image of the People' s receptor of incentives should be no difference or very different, subjective feeling very little has changed. 3. robust, is an experienced intentionally or unintentionally signal processing, watermarks information has been able to maintain integrity or continue to be accurate identification. In addition, only a general nature and characteristics. Digital watermark and applied basic areas of copyright protection, hidden identification, authentication and security cannot see communications. This article presents a based on Image hiding and encryption results table this methodology with a better performance in achieving the watermark is see, and a fairly good robust. Key words: Digital watermarking; Matlab program

3

目录
引言 ................................................................................................................................................. 5 第一章 图片隐藏技术-----数字水印.................................................. 错误!未定义书签。 1.1 数字水印的概念................................................................................................................ 6 1.2 数字水印的特点............................................................................. 错误!未定义书签。 1.3 数字水印算法................................................................................................................... 6 第二章 图片隐藏工具—— MATLAB ........................................................................................ 7 2.1 Matlab 简介..................................................................................................................... 7 2.2 Matlab 的应用............................................................................................................... 7 第三章 3.1 3.2 3.3 3.4 图片隐藏算法介绍 ..................................................................................................... 7 离散余弦叶变换的简介 ................................................................................................ 7 离散余弦变换水印嵌入算法 ........................................................................................ 9 离散余弦变换水印提取算法 ...................................................................................... 10 离散余弦变换水印算法原理框图 .............................................................................. 10

第四章 图片隐藏过程 ........................................................................................................... 12 4.1 程序代码......................................................................................................................... 12 4.2 图片隐藏效果.............................................................................................................. 14 参考文献 ...................................................................................................................................... 15 小组分工 ...................................................................................................................................... 15

4

引言: 随着多媒体产品系统、 电子出版物的快速增长和数字多媒体数据在互联网上 的广泛传播普及, 信息媒体的数字化为信息的存取提供了极大的便利性,同时也 显著提高了信息表达的效率和准确性; 数据的交换和传输变成了一个相对简单的 过程,人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将 数字信息传输到任何地方。 随之而来的副作用是这些数字形式的数据文件或作品 使另有意图的个人和团体有可能在没有得到作品所有者的许可下复制和传播有 版权的信息, 抵制对数字信息的非法复制传播的保护就显得尤为重要了。面对这 种挑战,很多传统的加密算法提出来了。 密码技术是信息安全技术领域的主要传统技术之一, 它是基于香农信息论及 密码学理论的技术, 现有的数字内容的保护多采用加密的方法来完成,即首先将 多媒体数据文件加密成密文后发布, 使得其在传递过程中出现的非法攻击者无法 从密文获取机要信息, 从而达到版权保护和信息安全的目的。但这并不能完全解 决问题: 一方面加密后的文件因其不可理解性而妨碍多媒体信息的传播;另一方 面多媒体信息经过加密后容易引起攻击者的好奇和注意,并有被破解的可能性, 而且当信息被接收并进行解密后,所有加密的文档就与普通文档一样,将不再受 到保护,无法幸免于盗版。换言之,密码学只能保护传输中的内容,而内容一旦 解密就不再有保护作用了。 因此, 迫切需要一种替代技术或是对密码学进行补充的技术,它应该甚至在 内容被解密后也能够继续保护内容。这样,人们提出了一种新兴的信息隐藏的概 念——数字水印(digital watermarking)。 数字水印技术是目前信息安全技术领域的 一个新方向, 是一种可以在开放网络环境下保护版权和认证来源及完整性的新型 技术, 创作者的创作信息和个人标志通过数字水印系统以人所不可感知的水印形 式嵌入在多媒体中, 人们无法从表面上感知水印,只有专用的检测器或计算机软 件才可以检测出隐藏的数字水印。

5

1 图片隐藏技术-----数字水印
1.1 数字水印的概念
数字水印技术是将一些标识信息(即数字水印)直接嵌入数字载体当中(包括多 媒体、文档、软件等)或是间接表示(修改特定区域的结构) ,且不影响原载体 的使用价值,也不容易被探知和再次修改。但可以被生产方识别和辨认。通过这 些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者 判断载体是否被篡改等目的。

1.2 数字水印的特点
a) 安全性:数字水印的信息应是安全的,难以篡改或伪造,同时,应当有较低 的误检测率,当原内容发生变化时,数字水印应当发生变化,从而可以检测 原始数据的变更;当然数字水印同样对重复添加有很强的抵抗性 b) 隐蔽性:数字水印应是不可知觉的,而且应不影响被保护数据的正常使用, 不会降质。 c) 鲁棒性:是指在经历多种无意或有意的信号处理过程后,数字水印仍能保持 部分完整性并能被准确鉴别。可能的信号处理过程包括信道噪声、滤波、数 /模与模/数转换、重采样、剪切、位移、尺度变化以及有损压缩编码等。主 要用于版权保护的数字水印易损水印(Fragile Watermarking) ,主要用于 完整性保护,这种水印同样是在内容数据中嵌入不可见的信息。当内容发生 改变时,这些水印信息会发生相应的改变,从而可以鉴定原始数据是否被篡 改。

1.3 数字水印算法
1.3.1 空间域算法 数字水印直接加载在原始数据上,还可以细分为如下几种方法: (1) 最低有效位方法(LSB) 这是一种典型的空间域数据隐藏算法。 该方法是利用原始数据的最低几位来隐藏 信息。LSB 方法的优点是有较大的信息隐藏量,但采用此方法实现的数字水印是 很脆弱的, 无法经受一些无损和有损的信息处理,而且如果确切地知道水印隐藏 在几位 LSB 中,数字水印很容易被擦除或绕过。 (2) Patchwork 方法及纹理块映射编码方法 Patchwork 是一种基于统计的数字水印,其嵌入方法是任意选择 N 对图像点,在 增加一点亮度的同时,降低另一点的亮度值。该算法的隐藏性较好,并且对有损 的 JPEG 和滤波!压缩和扭转等操作具有抵抗能力, 但仅适用于具有大量任意纹理 区域的图像,而且不能完全自动完成。 1.3.2 变换域算法 基于变换域的技术可以嵌入大量比特数据而不会导致可察觉的缺陷, 往往采用类 似扩频图像的技术来隐藏数字水印信息。这类技术一般基于常用的图像变换,基 于局部或是全部的变换,这些变换包括离散余弦变换(DCT)、小波变换(WT)、傅
6

氏变换(FT 或 FFT)以及哈达马变换(Hadamardtransform)等等。 1.3.3NEC 算法 首先以密钥为种子来产生伪随机序列,该序列具有高斯 N(0,1)分布,密钥一般 由作者的标识码和图像的哈希值组成,其次对图像做 DCT 变换,最后用伪随机高 斯序列来调制(叠加)该图像除直流分量外的 1000 个最大的 DCT 系数。该算法具 有较强的鲁棒性、 安全性、 透明性等。 由于采用特殊的密钥, 故可防止 IBM 攻击。 1.3.4 其他一些水印算法 目前比较流行的还有一种基于盲水印检测的 DWT 算法, 该算法首先对原始图像进 行小波变换, 根据人类具有的视觉掩蔽特性对低频分量进行一定的量化,同时可 不影响视觉效果, 并对作为水印的图像进行压缩和二值化处理,形成一维的二值 序列, 根据二值序列的值对上述量化后的原始信号的低频分量进行视觉阈值范围 内允许的修改, 从而实现水印的嵌入。水印提取过程是对含有水印的图像进行小 波变换,对低频分量同样进行量化处理,为了增大算法的安全性,可以对水印形 成的二值 0,1 序列在嵌入前进一步进行伪随机序列调制, 相应的在水印提取过程 需要增加用伪随机序列解调的步骤。 这样不知道伪随机序列的攻击者即使推测出 水印的嵌入规律,也无法提取水印,大大增加了水印系统的透明性和鲁棒性。

2 图片隐藏的工具-- MATLAB
2.1 Matlab 简介
Matlab 是 当 前 在 国 内 外 十 分 流 行 的 工 程 设 计 和 系 统 仿 真 软 件 包 。 它 是 Math-Works 公司于 1982 年推出的一套高性能的数值计算和可视化软件,它集数 值分析、矩阵运算、信号处理和图形显示于一体,构成了一人方便的、界面友好 的用户环境。

2.2

Matlab 的应用

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试 和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独 提供的专用 MATLAB 函数集) 扩展了 MATLAB 环境,以解决这些应用领域内特定 类型的问题。

3 图片隐藏算法介绍
3.1 离散余弦叶变换的简介

DCT 变换公式 因为 DCT 变换公式是这一算法的核心,有必要先了解一下 DCT 正反变换公式。 DCT 正反变换公式的核心是余弦变换,计算速度比较快,因图像处理所用的是二 维变换,这里只给出二维的 DCT 正反变换公式,二维 DCT 正变换公式为:

F (? ,? ) ? c(u)c(v) ?
x ?0

M ?1 N ?1

?
y ?0

f ( x, y) cos

? (2 x ? 1)
2M

cos

? (2 y ? 1)
2N

? =0,1, ? ? ?, M-1;? =0,1, ? ? ?, N-1
7

其中:
? 1 ? M c(u ) ? ? ? 2 ? M
? 1 ? N c (v ) ? ? ? 2 ? N
M ?1 N ?1 u ?0 v ?0

u?0 u ? 1,2 ? ? ? M ? 1 v?0 v ? 1,2 ? ? ? N ? 1

二维 DCT 反变换公式为:
f ( x, y) ? ?? c(u )c(v) F (u, v) cos

? (2 x ? 1)u
2M

cos

? (2 y ? 1)v
2N

x ? 0,1 ? ? ? M ? 1; y ? 0,1 ? ? ? N ? 1

其中 x,y 为空间采样值,u,v 为频域采样值。 因为数字图像多用像素方阵来标识,即 M=N,此时,二维 DCT 正反变换可以简化 为:

F (? ,? ) ? c(u)c(v)?
x ?0

N ?1 N ?1

?
y ?0

f ( x, y) cos

? (2 x ? 1)
2N

cos

? (2 y ? 1)
2N

u ? 0,1 ? ? ? N ? 1; v ? 0,1 ? ? ? N ? 1

f ( x, y) ? ?? c(u )c(v) F (u, v) cos
u ?0 v ?0

N ?1 N ?1

? (2 x ? 1)u
2N

cos

? (2 y ? 1)v
2N

x ? 0,1 ? ? ? N ? 1; y ? 0,1 ? ? ? N ? 1

二维 DCT 的性质 离散余弦变换是图像处理技术中几种最基本的酉变换之一。 酉变化是线性变化的 一种特殊形式,其基本线性运算式是严格可逆的,并且满足一定的正交条件。图 像的酉变换可以被理解为分解图像数据为广义的二维频谱, 变换域中每一分量对 应于原图频谱函数的能量。 设 IM?N 为 M?N 的图像矩阵则该图像的二维 DCT 变换可由下式表示: FDCT=
2 M ?N AM ?M I M ? N B N ? N

其中

? 1 , m ? 0时 ? ? 2 Am, i ? ? 其中 0 ? m,i ? M ? ?cos m(2i ? 1),其他 ? 2M ?
8

? 1 , n ? 0时 ? ? 2 Bk, n ? ? ,其中0 ? n,k ? N ? ?cos n(2k ? 1), 其他 ? 2N ?
经过二维 DCT 变换得到的 DCT 系数矩阵 GDCT 指示了一系列频率中每一个频率 所对应的变化程度,即频率的高低。其中低频分量将集中在矩阵的左上角,高频 分量则集中在右下角。图像的低频分量反映图像慢变化,即图像整体部分;图像 的高频分量代表图像跳变的地方,即图像细节部分,如轮廓、边缘。根据人类视 觉系统, 图像整体比细节部分更为重要, 若一幅图像经过处理后而视觉改变不大, 则其低频分量必定改变程度不大。此算法采用了将数字水印的灰度值植入 DCT 域的低频分量中的方法。 二维离散余弦变换是一种严格可逆的酉变换。它的两个矩阵 AM?M BN?N 满足以 下的正交条件: M N AT A ? I BT B ? I 2 2 由此,易得到离散余弦逆变换(IDCT):
I M ?N ? 2 M ?N
T T AM ? N ? G DCT ? B N ? N

正因为 DCT 是一种严格可逆的正交变换,才可能对基于 DCT 的植入算法实现准 确的数字水印滤波。 二维 DCT 的实现 数字图像水印算法选择二值化灰度图像作为水印信息, 根据水印图像的二值性选 择不同的嵌入系数,并将载体图像进行 8×8 的分块,将数字水印的灰度值直接 植入到载体灰度图像的 DCT 变换域中,实现水印的嵌入。具体方法如下: 设 I 是 M×N 大小的原始图像,J 是水印图像大小为 P×Q,M 和 N 分别是 P 和 Q 的偶数倍,把水印 J 加载到图像 I 中,算法分以下几步进行: 1. 将 I 分解为(M/8)×(N/8)个 8×8 大小的方块 B;同时,J 也分解为 (M/8)× (N/8)个(8P/M)×(8Q/N)大小的方块 V; 2. 对每一个 B 进行 DFT 变换:DB=DFT(B); 3. 加载水印对每一个 DB 和 V , s(i) 为从 DB 的中频选出的加载的位置 , 1≤i≤(8P/M)×(8Q/N), t(i)为水印 V 的位置坐标 , 1≤i≤(8P/M)×(8Q/N), DB’(s)=A×V,其中 A 是加权系数,用 DB’(s)来代替 DB,得到加载水印后的图 像 DBC; 4. 对以上得到的每一个 DBC 进行逆 DCT 变换:IDBC=IDCT(DBC)并将各方块 IDBC 合并为一个整图 I’,即加载了水印的新图像。

3.2

离散余弦变换水印嵌入算法

数字图像水印算法选择二值化灰度图像作为水印信息, 根据水印图像的二值性选 择不同的嵌入系数,并将载体图像进行 8×8 的分块,将数字水印的灰度值直接 植入到载体灰度图像的 DCT 变换域中,实现水印的嵌入。具体方法如下: 设 I 是 M×N 大小的原始图像,J 是水印图像大小为 P×Q,M 和 N 分别是 P 和 Q 的偶数倍,把水印 J 加载到图像 I 中,算法分以下几步进行:
9

1. 将 I 分解为(M/8)×(N/8)个 8×8 大小的方块 B;同时,J 也分解为 (M/8)× (N/8)个(8P/M)×(8Q/N)大小的方块 V; 2. 对每一个 B 进行 DCT 变换:DB=DCT(B); 3. 加载水印对每一个 DB 和 V , s(i) 为从 DB 的中频选出的加载的位置 , 1≤i≤(8P/M)×(8Q/N), t(i)为水印 V 的位置坐标 , 1≤i≤(8P/M)×(8Q/N), DB’(s)=A×V,其中 A 是加权系数,用 DB’(s)来代替 DB,得到加载水印后的图 像 DBC; 4. 对以上得到的每一个 DBC 进行逆 DCT 变换:IDBC=IDCT(DBC)并将各方块 IDBC 合并为一个整图 I’,即加载了水印的新图像。

3.3

离散余弦变换水印提取算法

设图像 D 为已经加载了水印的载体图像,现要将所加载的水印从 D 中提取出来, 其过程为上述加载水印算法的逆运算: 1. 将 D 分解为(M/8)×(N/8)个 8×8 大小的方块 BD; 2. 对每一个 BD 进行二维 DFT 变换:DBD=DCT(BD); 3. 提取数据对每一个 DBD,按照式 V’=1/A×DBD 得到 V’; 4. 将上面得到的所有 V’合并成一个水印整图 J’。

3.4

离散余弦变换水印算法原理框图 I J

8×8 分块处理

8×8 分块处理

DCT 变换

通过算法改变水印信息形式

选择加载位置

改变嵌入水印信息的深度

10 水印的嵌入

IDCT 变换

嵌入水印的图象 D

嵌入水印的图象 D

8×8 分块

DCT 变换

提取每块的水印信息

11

合并分块水印得到完整水印

4 图片隐藏过程
4.1 程序代码
4.1.1 水印嵌入程序 M=256;%原图像长度 N=32;%水印图像长度 K=8;%显示原图像 subplot(3,2,1); I=imread('E:\test\test.bmp','bmp'); imshow(I); title('原始公开图像');%显示水印图像 subplot(3,2,2); J=imread('E:\test\watermark.bmp','bmp'); imshow(J); title('水印图像');%水印嵌入 for p=1:N for q=1:N x=(p-1)*K+1;y=(q-1)*K+1; BLOCK=I(x:x+K-1,y:y+K-1); BLOCK=dct2(BLOCK); if J(p,q)==0 a=-1; else a=1; end BLOCK=BLOCK*(1+a*0.02); BLOCK=idct2(BLOCK); I(x:x+K-1,y:y+K-1)=BLOCK; end end%显示嵌入水印后的图像
12

subplot(3,2,3); imshow(I); title('含水印的图像') imwrite(I,'watermarked.bmp','bmp'); 4.1.2 水印提取程序 N=32; K=8; I=imread('E:\test\test.bmp','bmp'); J=imread('watermarked.bmp','bmp'); for p=1:N for q=1:N x=(p-1)*K+1; y=(q-1)*K+1; BLOCK1=I(x:x+K-1,y:y+K-1); BLOCK2=J(x:x+K-1,y:y+K-1); BLOCK1=idct2(BLOCK1); BLOCK2=idct2(BLOCK2); a=BLOCK2(1,1)/BLOCK1(1,1)-1; if a<0 W(p,q)=0; else W(p,q)=1; end end end%显示提取的水印 subplot(3,2,4); imshow(W); title('提取的水印') ;

13

4.2 图片隐藏效果

14

参考文献
1 基于混沌加密与自适应混合的数字图像隐藏技术《电视技术》 2004 年 12 期 苟 文海 袁晓辉 2 用 MATLAB 仿真数字水印系统的研究 《福建电脑》 2009 年 2 期 付春平 李春 福 3 基于图像的信息隐藏分析技术综述 《计算机工程》 2003 年 7 期 夏煜郎 荣 玲 4 一种基于 BMP 图像的信息隐藏技术 《广西师范大学学报(自然科学版)》 2007 年 2 期 周开利 康耀红 冯尔理 5 基于视觉冗余性的图像信息隐藏 《计算机应用》 2006 年 1 期 乔小燕 孙兴 华 杨静宇 4 水印数字定义 http://baike.baidu.com/view/39205.htm 5 水印数字算法 http://zh.wikipedia.org/wiki/%E6%95%B8%E4%BD%8D%E6%B5%AE%E6%B0%B4%E 5%8D%B0

15


相关文章:
图像加密解密算法
中北大学实验报告,课程设计 中北大学 信息商务学院 ...3.1 基于像素点置乱算法图像加密技术 图像置乱的...通常,图像置乱是图像信息隐藏图像信息分存和数字...
基于混沌序列的加密图像隐藏技术的设计与实现论文
基于混沌序列的加密图像隐藏技术的设计实现论文_...算法加密后图像嵌入载体图像中,并能承受图像剪切,...做了详细的论述,给出了算法流程、程序和实例效果。...
混沌密码与数字图像加密应用
实验项目实验报告( 1 )学科:信息网络安全 学号...混沌密码数字图像加密应用、信息隐藏 实验目的: 利用...图像加密,加密程序如下: %混沌加密Logisitc加密算法...
开题报告-二值图像隐藏分析技术的研究与实现
开题报告-二值图像隐藏分析技术的研究实现_信息...另外,在隐写分析算法的研究基础上,目前已出现了一些...2、设计加密算法。 3、设计可逆隐藏算法。 4、掌握...
实验1 基于置乱的信息隐藏算法
报告纸 实验报告专业班级 学号 实验 1 基于置乱的信息隐藏算法 Arnold 图像置...隐藏基本原理; (2)理解图像加密技术的基本思想; (3)掌握 Arnold 置乱算法和...
毕业设计开题报告
基于混沌算法加密技术的仿真与实现 专业(方向):班...基于秘密共享的图像加密技术是根据密钥分存的理论设计...数字水印和信息隐藏,图像置乱又可以 看成数字水印...
图像加密技术综述beta2
述了图像加密检测技术,包括攻击检测,隐藏检测和破解...的图像加密技术 、 根据密码算法使用的加密密钥和...混沌理论将开创科学思想上又一次新的革 命。混沌学...
AES加密算法实验报告
AES加密算法实验报告_计算机软件应用_IT/计算机_专业...美国国家标准技术研究所在 2001 年发布了高级加密...程序成功的实现了对图片加密,得到的加密后的结果...
基于MATLAB的混沌序列图像加密程序
技术图像进行处理使加密后的图像 使用 matlab 将图像信息隐藏,实现信息加密。 ...解密的程序与加密的相反。 3.基于混沌的图像置乱加密算法效果分析 利用 Logistic...
图像的信息隐藏技术与设计
图像信息隐藏算法研究——... 35页 5财富值 基于...论及其密码学理论技术,一般采用将明文 加密成密文...1998年,美国政府报告中出现了第一份有关图像数据...
更多相关标签: