数字图像加密算法研究与实现

               摘 要

近十年来,随着信息网络技术的飞速发展,多媒体技术在各领域的应用可谓是日新月异。数字图像无疑已经成为互联网的主要交互对象之一。数字图像在军事系统、政府机构、医疗系统、国防系统和金融系统等重要机构中得到了广泛应用,这也意味着图像在传输的过程中存在着巨大的安全隐患。若在传输的时候被第三方恶意的拦截、随意篡改、非法拷贝、任意传播,后果将会很严重。所以数字图像的安全传输问题,受到了大众的普遍重视。因此信息安全已成为人们关心的焦点,也是当今的研究热点和难点。 为了实现数字图像保密,实际操作中一般先将二维图像转换成一维数据,再采用传统加密算法进行加密。与普通的文本信息不同,图像和视频具有时间性、空间性、视觉可感知性,还可进行有损压缩,这些特性使得为图像设计更加高效、安全的加密算法成为可能。
本文重点介绍了基于混沌理论的图像加密算法,对比并研究了几个典型的混沌系统:Logistic映射、Hemon映射、Lorenz系统以及猫映射。最后,在matlab7.8环境下,对灰度图像进行了基于Logistic映射的加密解密,并得出正确的结果。
关键词:Logistic映射;图像加密 ;混沌系统 ;位置置乱

                目  录

1 绪论 (1)
1.1 研究背景 (1)
1.2 研究方法 (1)
1.3 研究内容 (2)
2 数字图像加密理论概述 (3)
2.1数字图像的基本知识 (4)
2.2 数字图加密算法的性能要求 (4)
2.3 数字图像加密算法的分类 (5)
2.3.1基于矩阵变换像素置换的图像加密技术 (5)
2.3.2基于秘密分割与秘密共享的图像加密技术 (6)
2.3.3基于现代密码体制的图像加密技术 (6)
2.3.4基于混沌理论的图像加密算法 (7)
3 基于混沌理论的图像加密算法 (8)
3.1 混沌的基本理论 (8)
3.1.1 Li-Yorke的混沌定义 (8)
3.1.2 Devaney 的混沌定义 (9)
3.1.3 Melnikov 的混沌定义 (10)
3.2混沌的特征 (10)

3.3常见的混沌系统的研究方法 (12)
3.4几种典型的混沌系统 (12)
3.5.1 Logistic映射 (13)
3.5.2 Henon映射 (14)
3.5.3 Lorenz系统 (15)
3.5.4猫映射 (16)
4 基于Logistic映射的图像加密/解密研究与实现 (17)
4.1基于Logistic映射的像素值加密及解密方案 (17)
4.2基于Logistic映射的像素位置加密及解密 (19)
4.2.1具体加密方案 (19)
4.2.2解密方案 (20)
4.3实验结果以及仿真分析 (20)
4.3.1基于像素点置乱图像加密/解密的实验结果及分析 (20)
4.3.2基于像素位置置乱图像加密/解密的实验结果及分析 (23)
4.3.3结合像素点与位置的双重置乱分析 (25)
5 总结 (28)
致谢 (29)
参考文献 (29)

1 绪论
1.1 研究背景
近十年来,随着信息网络技术的飞速发展,多媒体技术在各领域的应用可谓是日新月异。数字图像无疑已经成为互联网的主要交互对象之一。数字图像在军事系统、政府机构、医疗系统、国防系统和金融系统等重要机构中得到了广泛应用,这也意味着图像在传输的过程中存在着巨大的安全隐患。若在传输的时候被第三方恶意的拦截、随意篡改、非法拷贝、任意传播,后果将会很严重。所以数字图像的安全传输问题,受到了大众的普遍重视。因此信息安全已成为人们关心的焦点,也是当今的研究热点和难点。
  多媒体数据,特别是数字图像,比传统的文字承载着更大更丰富的信息量,因而成为人类社会在信息利用方面的重要手段,尤其是在医学领域和军事领域。图像的安全需求主要包括三个方面:(1)保密性:预防第三方非法获取图像信息。(2)完整性:预防在储存或传输的过程中被破坏、丢失和篡改。(3)版权保护:辨别图像真伪,并提供有效的法律依据。为了保护数字图像的安全交互,就需要很可靠的图像加密技术。为了实现数字图像保密,实际操作中一般先将二维图像转换成一维数据,再采用传统加密算法进行加密。与普通的文本信息不同,图像和视频具有时间性、空间性、视觉可感知性,还可进行有损压缩,这些特性使得为图像设计更加高效、安全的加密算法成为可能。图像加密算法已经取得了丰富的研究成果,人们已经设计出了众多的图像加密算法。
1.2 研究方法
多媒体数据信息安全技术的研究主要有两种种方法:多媒体数据信息加密技术和多媒体信息隐藏技术。
(1) 多媒体数据信息加密技术:图像是多媒体安全技术的核心技术,涉及密码学、数学、信息论等多方面的知识。传统的加密技术大多针对的是文本数据或二进制数据,其计算过程十分复杂。对数字图像数据来说,它特殊的编码结构,庞大的数据量、多变的格式以及较高的实时性要求,导致需要对其采用特殊的加密算法。
(2)多媒体数据信息隐藏技术:载体文件相对隐秘文件的大小(指数据含量,以比特计)越大,隐藏后者就越加容易。因为这个原因,数字图像(包含有大量的数据)在因特网和其他传媒上被广泛用于隐藏消息。信息隐藏是把机密信息隐藏在大量信息中不让对手发觉的一种方法。信息隐藏的方法主要有数字水印技术、可视密码、潜信道、隐匿协议等。数字水印就是在多媒体数据信息中添加某些数字信息,达到图像认证的目的。对于所添加的信息,往往希望不被察觉,且第三方在不破坏数据本身质量的情况下无法将水印去掉。同时,在嵌入水印的过程中,我们又不可以破坏原来的文件,即不能让人们发觉水印的存在,因此,不可见性是数字水印最重要要求。
1.3 研究内容
由于数字图像比文字或声音更加的生动、形象和直观,蕴含的信息十分的丰富,故数字图像信息的安全就越发引起人们的重视。 因此本文以数字图像为基础,研究数字图像信息加密算法安全技术。图像信息安全技术包括图像加密和图像认证等。本次课题的宗旨是分析数字图像的结构及其特点,然后对数字图像进行加密和解密,即:利用一定的图像加密算法对一副图像进行加密,以达到隐匿原始图像的目的,然后进行解密,恢复原始图像。图像加密算法已经取得了丰富的研究成果,人们已经设计出了很多的图像加密算法。典型的有以下几种:(1)基于现代密码体制的图像加密;(2)基于秘密分割与秘密共享的图像加密技术;(3)基于矩阵变换的图像加密;(4)基于混沌的图像加密。
本课题主要研究的是基于混沌的图像加密解密算法及实现,即设计一个在matlab7.8环境下,基于混沌的数字图像加密解密系统,对任意输入的一幅灰度图像进行加密解密,并能够得出正确的结果。

2 数字图像加密理论概述
2.1数字图像的基本知识
图像是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。或者说图像是客观对象的一种表示,它包含了被描述对象的有关信息。它是人们最主要的信息源。据统计,一个人获取的信息大约有75%来自视觉。用二维函数f(x,y)定义图像,即x,y是空间坐标,f(x,y)是点(x,y)的幅值,每一个点具有一个特定的位置(x,y)和幅值f(x,y),可称之为像素。其中灰度图像是一个灰度或亮度的二维函数。彩色图像则是由三个二维灰度(RGB或HSV)函数组成的,如图2-1所示:

图2-1(a)原始图像           图2-1(b)对应的像素点
由像素点组成的二维排列,可以用二维矩阵A[m,n]表示。m和n表示图像的宽和高,矩阵元素a(i,j)的值,表示图像在第i行,第j 列的像素的灰度值;i,j表示几何位置。
对于灰度图像,每个像素的亮度可用一个0到255之间的数字来表示。其中0表示黑,255表示白,其他的数值则在黑白灰度之间,如图2-2所示:

图2-2(a)灰度图像                 图2-2(b)对应像素点的灰度值
彩色图像可以用红、绿、蓝三元组的二维矩阵来表示。通常,三元组的每个数值也是在0到255之间,0表示相应的基色在该像素中没有,而255则代表相应的基色在该像素中取得最大值。
图像在计算机中常用的存储格式有:BMP、TIFF、EPS、JPEG、GIF、PSD、PDF等格式。在matlab中有四种基本图像类型,索引图像、灰度图像、RGB图像、二值图像。索引图像包括一个颜色矩阵Map和数据矩阵X,灰度图像是由一定范围内的颜色灰度值构成的数据矩阵I,RGB图像,在matlab中储存为m*n*3的数据矩阵,其中的元素定义了每一个像素的R、G、B的颜色值,二值图像只需要一个数据矩阵,每个像素取两个灰度值。

2.2 数字图加密算法的性能要求
因为数字图像在国防系统、军事系统、教育系统、金融系统以及医疗系统等领域得到了广泛的引用,在这些重要领域,需要保证那些敏感的数字图像的安全传输,以防未授权用户的访问。由于数字图像的冗余度较高、数据量很大、格式繁多、实时性要求高,故数字图像加密算法总体上应满足以下几点:
(1)安全性:在传播的时候,要防止第三方恶意的窃取、泄露、非法传播数字图像信息。
(2)完整性:预防数字图像在储存或传输的过程中被破坏、丢失和篡改。
(3)版权保护:辨别图像真伪,并提供有效的法律依据。
此外,根据具体的情况,也要考虑到压缩比不变性、实时性、数据格式不变性以及数据可操作性这些方面的要求。
2.3 数字图像加密算法的分类
数字图像加密:即在发送端采用某种加密算法作用于一幅图像明文,把它变成不可识别的密文,达到图像保密的目的。在接收端采用相应的算法解密,恢复出原文。其通用算法模型如图所示2-3所示:

                图2-3通用算法模型

目前国内外对数字图像加密的研究主要采用以下几种方法:
2.3.1基于矩阵变换像素置换的图像加密技术
其基本思想是对图像矩阵进行有限次的初等矩阵变换,即可有效
地打乱输入明文的次序,然后有效地遮盖明文信息,进而达到加密的目的。常用的矩阵变换方法有:
(1)Arnold变换,俗称猫脸变换.设像素的坐标x , y ∈S = {0, 1, 2, …, N-1},
  则Arnold变换为:
   公式(2-1)
式中的N表示数字图像的阶数,(x,y)为像素点的坐标。
将二维Arnold变换应用在图像f(x,y)上,可以通过像素坐标的改变而改变原始图像灰度值的布局。原始图像可以看作一个矩阵,经过Arnold变换后的图像会变的“混乱不堪”,由于Arnold变换的周期性,继续使用Arnold变换,可以重现图像[1]。利用Arnold变换的这种特性,可实现图像的加密与解密。n维Arnold变换同二维Arnold变换一样具有周期性,继续使用Arnold变换,也可以重现原始图像。利用n维Arnold变换对图像的相空间进行置乱,也能实现图像的加密。
2.3.2基于秘密分割与秘密共享的图像加密技术
秘密分割就是把消息分割成许多碎片, 其中的每一个碎片都不能代表什么, 只有把所有的锁片组合在一起,消息才能重现出来。其原理就是在发送端先把图像数据按照某种算法进行分割且交给不同的人来保存; 而在接收端需要保存秘密的人的共同参与才能恢复出原始待传输的图像数据。 该算法的原理简单而且直观,安全性高,抗干扰性很强,就算个别子图的泄漏也不至于影响整个图像信息的泄漏。但是这种算法的数据量很大,在传输的过程中有很多的困难。
2.3.3基于现代密码体制的图像加密技术
由于数字图像在传输通道里不可避免的会转化成一位二进制的数据流传输,所以原则上现代密码体制的加密算法对数字图像加密也是可行的。其原理就是把传输的图像看做明文,在密钥的控制下,达到对图像数据的加密。其原理框图如下图所示:

图2-4:密钥控制下的保密通信框图
根据密钥加/解密钥是否相同,现代密码体制加密算法可分以下:
(1)对称密钥加密算法
对称算法(传统密码算法),就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加解密密钥是相同的。这些算法也叫秘密密钥算法或单钥算法, 它要求发送方和接受方在安全通信之前,事先协定好密钥。密钥是对称算法的安全性的保障, 如果密钥泄露了,则无论谁都可以对消息进行解密[2]。对通信需保密的前提就是对密钥保密。在实际应用中,对称密码体制主要用于加密文本信息。在公钥密码体制中, 最重要的有RSA 体制、背包体制、ElGamal体制、Robin 体制、椭圆曲线体制及多维RSA体制等。
(2)非对称密钥加密算法
该算法属于公钥密码体制,即加/解密的密钥并不相同,知道加密密密钥,也不能计算出解密密钥。通过公开的加密密钥大家都可以用该密钥对信息加密,然而想要解密信息,须要知道解密密钥才可以。这个公开的加密密钥就是公共密钥,简称“公钥”。相应的,私人密钥就是解密密钥,简称“私钥”。采用这种密码体制时,保护好解密密钥就能预防无私人密钥的第三方随意获取、篡改、传播该信息,以此达到保密通信的目的。
2.3.4基于混沌理论的图像加密算法
混沌图像加密技术是近年来应用非常普遍的一种数字图像加密技术,混沌现象是指在非线性动态系统中出现的确定性和类似随机的过程,混沌动力学在此基础上得到迅猛发展,这使得混沌可以用来作为一种新的密码体系,可以加密文本、声音及图像数据。研究人员发现,混沌与加密之间有着天然的联系,如下表所示:
表2-1混沌与加密对比
混沌性质 加密的性质 描述
遍历性 混乱性 输出具有类似的分布状态
对参数敏感 对变换具有扩散性 输入引起输出的改变
混合性 具有扩散性 局部变化引起整个空间的变化
动力系统确定性 伪随机流确定性 系统产生伪随机信号
结构复杂 算法(攻击)复杂 过程简单,结果复杂

3 基于混沌理论的图像加密算法
3.1 混沌的基本理论
“混沌”一词,原意是混乱、无序,在现代非线性理论中,混沌则是泛指在确定体系中出现的貌似无规则的、类随机的运动。到目前为止,“混沌”一词还没有一个公认的普遍适用的数学定义[3]。有的学者认为,在不严格的意义上,如果一个系统同时具有对初值的敏感性以及出现非周期运动,则可认为系统是混沌。但是更多的学者认为,相对混沌做出精确定义是一件十分困难的事情。尽管如此,从事不同领域研究的学者都是基于各自对混沌的理解进行研究并谋求各自的应用[4]。迄今,主要有以下三种混沌定义:Li-Yorke意义下的混沌,Devaney意义下的混沌,及Melnilov意义下的混沌。

3.1.1 Li-Yorke的混沌定义
Li-Yorke定理:设是上的连续自映射,若存在3周期点,则对于任意正整数,存在周期点。
Li-Yorke关于混沌的定义:闭区间上的连续自映射,如果满足下列条件,则可以确定它存在混沌现象:
(1)的周期点的周期无上界;
(2) 闭区间上存在不可数子集,满足
a)对于任意,当时有

b)对任意,有

c)对任意,其中是任一周期点,则有

根据上述定理和定义,对闭区间上连续函数,如果存在一个周期为3的周期点时,就一定存在任何正整数的周期点,即一定出现混沌现象。
该定义准确刻画了混沌运动的几个重要特征:
1)存在可数无穷多个稳定的周期轨道;
2)存在不可数无穷多个稳定的非周期轨道;
3)至少存在一个不稳定的非周期轨道[5]。
Li-Yorke定义还表明在区间映射中,对于集合S中的任意两个初始值经过多次迭代,两个序列之间的距离上限可以为大于0的正数,下限为0,这就是说当迭代次数趋于无穷时,序列简单距离可以在每个正数和0之间游荡,即系统的长期行为是不可预测的。

3.1.2 Devaney 的混沌定义
在拓扑意义下,Devaney混沌定义为:设是一度量空间,一个连续映射如果满足以下3个条件,便称在上是混沌的。
(1)对初值敏感依赖。存在,对任意的和任意的,在的领域内存在和自然数,使得.
(2)拓扑传递性。对上的任意对开集、,存在(如一映射具有稠轨道,则它显然是拓扑传递的).
(3)f的周期点集在中稠密。对初值的敏感依赖性,意味着无论和离得多近,在的作用下两者的距离都可能分开的较大的距离,并且在每个点的附近,都可以找到离它很近而在的作用下终于分道扬镳的点,对这样的,如果用计算机计算它的轨道,任意微小的初值误差,经过多次迭代后将导致计算结果的失败[6]。
拓扑传递意味着任一点的领域在的作用之下将“遍撒”整个度量空间,这说明不可能细分或不可能分解为两个在下不相互影响的子系统。周期点集的稠密性,表明系统具有很强的确定性和规律性,决非混乱一片,形似混乱而实则有序,这正是混沌的耐人寻味之处。

3.1.3 Melnikov 的混沌定义

在二维系统中,最具开创性的研究是Smale马蹄理论。马蹄映射定义于平面区域上,,其中由一单位正方形和两边各一个半圆构成。映射规则是不断把纵向压缩(压缩比小于),同时横向拉伸(拉伸比大于2),再弯曲成马蹄形后放回中。Henon映射就是马蹄映射的一个实例。已经证明,马蹄映射的不变集是两个Cantor集之交,映射在这个不变集上呈混沌态。因此,如果在系统吸引子中发现了马蹄,就意味着系统具有混沌[7]。
Melnikov对混沌的描述概括起来可描述为:如果存在稳定流形和不稳定流形并且这两种流形横截相交,则必存在混沌。Melnikov给出了稳定流形和不稳定流形横截相交的方法,但这种方法只适合于近可积哈密顿系统。
3.2混沌的特征
混沌是指确定性的非线性系统中所出现的形式上较为混乱的非周期运动。它的“定常状态”不是通常概念下确定性运动的三种定常状态:静止(平衡)、周期运动和准周期运动,而是一种始终限于有限区域而且轨道永不重复的、性态复杂的运动。它有时被描述为具有无穷大周期的周期运动或貌似随机的运动等。与其他复杂现象相区别,混沌运动有着自己独有的特征,主要有[8]:
(1)对初始条件的敏感性。由确定性系统所描写的运动紧密地依赖于初始条件。但混沌现象出现表明:初始条件的微小差别将最终导致根本不同的现象,如果初值具有一极微小的变化,在短时间内的结果还可以预测,但通过长时间的演化后,它的状态根本无法确定。
(2)有界性。混沌是运动轨线始终局限于一个确定的混沌吸引域,无论混沌系统内部多么不稳定,它的轨线都不会走出混沌吸引域,所以从整体上来说混沌系统是稳定的。
(3)遍历性。若系统为混沌的或则表现为混沌状态,那么吸引子的轨迹不可能停留在吸引域某一固定点,而是在有限时间内经过混沌区域的每一个状态点,从而充满整个混沌吸引域。
(4)分形和分维: 分形是 n 维空间一个点集的一种几何性质, 该点集具有无限精细的结构, 在任何尺度下都有自相似部分和整体相似性质, 具有小于所在空间维数 n 的非整数维数。分维就是用非整数维——分数维来定量地描述分形的基本性质。
(5) 奇异吸引子: 又称混沌吸引子, 指相空间中具有分数维的吸引子的集合。该吸引集由永不重复自身的一系列点组成, 并且无论如何也不表现出任何周期性。混沌轨道就运行在其吸引子集中。
(6)分叉和分叉点: 又称分岔或分支。指在某个或者某组参数发生变化时, 长时间动力学运动的类型也发生变化。这个参数值(或这组参数值)称为分叉点, 在分叉点处参数的微小变化会产生不同性质的动力学特性, 故系统在分叉点处是结构不稳定的[9]。
3.3常见的混沌系统的研究方法
研究混沌系统主要有以下几个方法:分维数分析法、关联维数分析法、自功率密度分析法、Lyapunov指数分析法、赝相空间法、庞加莱截面法、分频采样法以及直接观测法。最常用到的是Lyapunov指数分析法[10]。Liouville定理指出,保守系统在相空间运动的过程中,始终保持相体积不变。但对于一个耗散系统,其相体积一般要逐渐收缩,即维相空间的轨线都要收缩到维环面上。选择混沌系统时,应该考虑到以下两点:
(1)所设计的密码系统的安全性应该得到保障,即选择的(数字化)混沌系统的动力学特性应该满足相应混沌密码的需求。
(2)能否在提高解密/解密速度以及节约实现成本的情况下实现该混沌系统。
3.4几种典型的混沌系统
将原始信息与混沌发生器产生的混沌序列进行特定的运算,使原始信息转换为具有类似随机噪声的性态,从而对数字图像文件加密。解密就是将加密信息与混沌发生器产生的混沌序列进行反运算,去除混沌信号,使原始信息恢复。混沌加密与解密原理如图3-1所示:

                     图3-1混沌加密流程图

以下是几种典型的混沌系统:
3.5.1 Logistic映射
Logistic映射是一种非常简单却在加密领域应用十分广泛的动力系统,其中一维Logistic映射定义如下:
公式(3-10)
其中u属于(0,4]被称为Logistic参数。研究表明,其中属于(0,1),当时,Logistic映射处于混沌状态,由初始条件X0在Logistic映射作用下产生的序列是非周期的、不收敛的,而在此范围之外,生成的序列必将收敛于某一个特定的值。u=4时,该映射是满射,产生的混沌序列在区间(0,1)上具有遍历性[11]。
Logistic 映射的分岔反应了随参数的变化在时的行为。如图3-2所示:

                     图3-2 Logistic映射的分岔图

在 时,为稳定点。
若 时,为稳定点。
若3.40224…时,出现周期 2 解。
若3.54408…时,出现周期 4 解。
对上述分岔序列值 进行详细分析后,我们得到了一个极限解=3.569945…。当到达该极限时,系统的解是一个“周期解”,当参数不断增加时,系统经过不断的倍周期分岔通向混沌;当超过之后,系统就会进入混沌状态。即当在 [0,]范围内,系统的解序列表现为周期解[11]。除了稳定的平衡态和稳定的周期解这两种吸引子外,当在[,1]范围内时,这个系统解序列的稳态解或极限解将出现奇异吸引子,相应的物理现象中有混沌现象。

3.5.2 Henon映射
天文学家Henon在研究球状星云团以及Lorenz吸引子的过程中得到启发,在1964年提出了Henon映射,随后证明了Henon映射是一混沌系统。该映射是如公式(3-1)所示的二维映射:
公式(3-1)
该映射的jacobian矩阵行列式如公式(3-2)所示:
公式(3-2)
若|b|<1,则说明该面积是耗散或收缩的,即每一次的迭代使任何面积单元缩小到到原来的 |b| 倍,面积边界在指向在迭代过程中该Henon 映射具有如下两个不动点为公式(3-3)所示:
公式(3-3)

当 a=1.4,b=0.3 时,系统的两个不动点分别为:A(0.631,0.631),B(-1.131,-1.131),在 A 处 Jacobin 矩阵的特征值为 =-1.924,特征向量为,时,特征向量为,即由可知, 的特征向量方向即为不稳定流形方向,的特征方向即为稳定流形方向,因为,所以A点不稳定,故该系统是稳定的[12]。Henon 映射的混沌吸引子如图3-3所示:

               图3-3 混沌吸引子

3.5.3 Lorenz系统
Lorenz 系统表现出的非线性动力学行为是极为丰富复杂的。Lorenz 混沌系统是世界上第一个被发现的由确定性动力学系统表现出的非确定性行为。Lorenz 系统的混沌运动则在混沌动力学的发展史上居于创始性、奠基性的地位。洛伦兹通过对对流实验的研究,得到了一个表现非常奇怪的现象:当系统能量上升时,便使得流体的运动轨道从右侧外缘进入,由外向内盘绕到中心附近,然后突然随机的跳到左侧外缘继续向内盘绕,这个过程是无周期的、随机的,其轨道永远不自我相交[13]。该混沌系统的方程表达式如公式(3-4)所示:
公式(3-4)
关于Lorenz方程有以下几个结论:
(1) Lorenz方程有自然的对称性,当用(-x,-y,z)替换(x,y,z)带入上述方程式时,其形式不变。因此,有些轨道也有这种自然对称性。其它轨道则必然为与它构成这种自然对称性的轨道所伴随。
(2)z轴是不变集:过 z轴的轨道留在其上并趋于原点。环绕z 轴的轨道从z=0平面的上方看是逆时针旋转的,因为在平面 x=0上,若y>0,有 dx/dt>0;而若y<0,有 dx/dt<0 。
(3)存在零体积有界全局吸引集 :Lorenz方程的流的散度为公式(3-5)所示:
公式(3-5)
从而体积单元 v 随时间推移收缩为 ,当 时,利用李雅诺夫函数有: , 即原点 (0,0,0)是全局渐近稳定的。
(4)平衡点: 对所有的参数值 , 和 ,原点(0,0,0)都是平衡点,且当 时,它为稳定的全局吸引子[14] 。
3.5.4猫映射
猫映射是一种混沌系统,它将明文当做混沌系统的初始值进行迭代或演化来达到将明文进行置乱(加密)的效果。果。它也叫做Arnold映射,最早由Arnold和Avez提出。Arnold变换是Arnold在遍历理论研究中提出的一种变换,对于正方形的数字图象来说,使用离散化的Arnold变换。
(1)二维Arnold变换
其定义为:
公式(3-6)
其中N为数字图像的阶数,(x,y)为像素点的坐标。
一幅数字图象可用一矩阵A={a(i,j)}N×N表示,其中a(i,j)表示图象在第i行j列像素处的灰度值(或RGB分量值)。数字图象的置乱原理是:将原来点(x,y)处象素对应的灰度值或RGB颜色值移动到变换后的点(x’, y’)处。如果对一个数字图象迭代地使用离散化后的Arnold变换,即将(1)式左端的(x’, y’)T作为下一次相应变换的输入,则可重复这个过程一直作下去。当迭代到某一步时,如果出现的图象的各种灰度值或RGB值均匀分布在图象所在的区域:{(x,y):0≤x≤N-1,0≤y≤N-1},则图象的信息将完全被掩盖,达到了图象加密的目的。
(2)基于n维Arnold变换的图像相空间置乱
对于给定的正整数N,下列变换称为n维Arnold变换:
= 公式(3-7)
n维Arnold变换同二维Arnold变换一样具有周期性,继续使用Arnold变换,也可以重现原始图像。利用n维Arnold变换对图像的相空间进行置乱,也能实现图像的加密[15]。

4 基于Logistic映射的图像加密/解密研究与实现

由于第三章已经对Logistic映射的定义做过了介绍,故此处不再讲解。本章重点研究且实现基于Logistic映射的像素值加密和基于Logistic映射的像素位置加密。
4.1基于Logistic映射的像素值加密及解密方案
设f代表大小为M×N,有L个灰度级的图像。选定一维混沌系统,并将其初始值x(0)作为加密密钥,通过该混沌系统产生混沌序列,并将其量化为二值随即序列。将得到的序列与原始图像数据按比特位进行异或得到加密图像f’。原始图像的像素点f(x,y)(0≤x≤M-1,0≤y≤N-1),对应于加密图像的像素点f(x’,y’)。其流程图如图4-1所示:

              图4-1像素值置乱流程图

具体步骤如下:
(l)给定两个Logistic系统的参数和,并给定两个系统初值和。
(2)取原始图像A的所有像素的值之和,该和对256取余运算,得到一个[0,255]范围的整数,然后以该整数除以256,得到的结果作为辅助密钥k,k(O,l)。
(3)用辅助密钥k修改混沌系统初始值: = (+k)/2,=(+k)/2。以修正后的和,作为logistic混沌系统的初始值,构造2个长度为 M*N的实数混沌序列。
(4)将由步骤(3)得到的2个实数混沌序列进行转换,得到2个改进的混沌序列:,i=1,2,3,…,MxN。
(5)顺序取图像中的一点(设该点的序号为n),若该点的序号属于奇数,则由实数混沌列的构造加密密钥:若该点的序号属于偶数,则由实数混沌序列的构造加密密钥:。
(6)用原始图像A中的第n个像素点灰度值A(x,y)与步骤(5)产生的logistic密钥值进行按二进制位异或操作,得到加密后的像素值A’(x,y)。
(7)重复(5)—(6)步,直到将将所有像素点加密完毕,即得到加密图像A’。
解密过程是上述加密过程的逆过程,算法类似。
4.2基于Logistic映射的像素位置加密及解密
设f代表大小为M×N的图像,选定两个混沌系统分别以初值x(0),y(0)产生两个混沌序列,将序列归一化后分别乘以M和N,并将两列序列取整,使得序列值取值分别为与区间的整数。对两个序列进一步处理得到遍历的序列与遍历的序列,用这两个序列作为置乱矩阵fm的行地址和列地址,对原图像进行置乱。其流程图如下图 4-2所示:

                      图4-2像素位置置乱流程图

4.2.1具体加密方案
(1)输入原始图像A(i,j,g(i,j))、M和N,其中(i,j)表示某一像素坐标值,g(i,j)表示像素灰度值,图像大小为M个像素,且有。
(2)输入混沌映射的初始值x0,通过映射产生混沌序列。
(3)利用混沌序列将图像每行像素循环移动(左移)变换到该行另一位置,但保持像素值不变。
(4)利用混沌序列将图像每列像素循环移动(下移)变换到该列另一位置,但保持像素值不变。
(5)得到加密图像各像素新的灰度值g’(i,j),生成加密后的图像A’(i,j,g(i,j))。
(6)算法终止。
4.2.2解密方案
(1)输入经过加密后的图像A’(i,j,g(i,j))、M和N,其中(i,j)表示某一像素坐标值,g(i,j)表示像素灰度值,图像大小为M个像素,且有。
(2)输入混沌映射的初始值x0,通过映射产生混沌序列。
(3)利用(2)生成的混沌序列将图像每列像素循环移动(上移)到该列另一位置,且像素值不变。
(4)利用(2)生成的混沌序列将图像每行像素循环移动(右移)到该行另一位置,且像素值不变。
(5)得到解密图像各像素新的灰度值g”(i,j),正好和g(i,j)相同。即还原图像。
(6)完成算法。
4.3实验结果以及仿真分析
4.3.1基于像素点置乱图像加密/解密的实验结果及分析
以大小为256*256的灰度图lenna.bmp为例,采用图4-1所示的流程图对其进行像素值置乱,原图如4-3所示:

图4-3原始图像
第一步:产生如下2个Logistic混沌序列,关键语句如下:

for i=1:1:MN-1 %产生2个Logistic混沌序列
x1(i+1)=u1
x1(i)(1-x1(i));
x2(i+1)=u2
x2(i)(1-x2(i));
end
for i=1:1:M
N %改造2个Logistic,得到两个y序列
y1(i)=(1/3.1415926)*asin(sqrt(x1(i)));
y2(i)=(1/3.1415926)*asin(sqrt(x2(i)));
end
所产生的混沌序列如图4-4所示:

               图4-4 Logistic混沌序列

第二步:对像素点灰度值与Logistic混沌序列进行二进制位异或操作,得到加密后的图像。像素值加密后的图像如4-5所示:

                           图4-5加密图像

第三步:对加密图像的像素点灰度值与产生的混沌序列进行异或操作,得到解密后的图像,效果图如4-6所示:

                       图4-6还原图像
很明显,只经过像素值置乱的加密图像图4-4仍然具有一些原图像的细节信息,加密效果不是特别很好。

4.3.2基于像素位置置乱图像加密/解密的实验结果及分析
以大小为256*256的灰度图像小鸟.bmp为例,以图4-2所示的像素位置置乱流程图对其进行像素位置置乱,原图如4-7所示:

               图4-7原始图像

第一步:输入初值,利用Logistic映射产生混沌序列,关键语句如下:
for n=1:m1+n1-1
x(1)=s;
q=h;
x(n+1)=qx(n)(1- x(n));
end

所产生的混沌序列如图4-8所示:

                           图4-8混沌序列

第二步:对输入的图像,将每行的像素循环左移到该行另一位置,每列像素循环下移到该列另一位置,保持像素值不变,得到加密后的图像。如图4-9所示:

                        图4-9位置加密

第三步:对加密后的图像,将每行像素循环右移到该行另一位置,每列像素循环上移到该列另一位置,保持像素值不变,得到解密后的图像。如图4-10所示:

                       图4-10位置解密

对比分析图4-5像素加密和图4-9位置加密可知,基于像素位置的置乱能够破坏原数字图像的有序性,达到置乱的目的。但是也存在一个缺陷,就是无论经过多么复杂的变换,只改变了数字图像像素位置,而数字图像矩阵中的元素即图像像素的灰度值和Alpha值没有改变,因此图像的灰度直方图不会发生变化。攻击者可能通过像素比较的方法加以破解。因而像素位置置乱与像素值置乱相结合成为发展的必然。不但对数字图像的像素位置进行置换,而且对其像素值也进行变换,从而改变数字图像的直方图,使安全性进一步提高。

4.3.3结合像素点与位置的双重置乱分析
以大小为256*256的灰度图像猴子.bmp为例,先以图4-1所示的像素值置乱流程图对其进行像素置置乱,然后用图4-2所示的像素位置置乱流程图对已经过像素值置乱的图像进行像素位置置乱,效果图如下4-11所示:

 图4-11(a)原始图像                     图4-11(b)像素值置乱图像 

图4-11(c) 位置加密置乱图像 图4-11(d)双重加密置乱图像

                     图4-11加密效果比较

由图4-11可以得出,只经过像素位置置乱加密的图像4-11(c)效果比较好,图像像素点分布比较均匀。而只经过像素值置换的加密图像图4-11(b)仍然具有一些原图像的细节信息,加密效果不是很好。然而经过像素位置与像素值双重置换加密的图像4-11(d)的图像像素分布均匀,已经覆盖了原图像的人物轮廓,无法得出原图像的细节信息,其加密效果是最优的。
前面已经从加密效果这个方面分析了像素点置乱加密、像素位置置乱加密以及双重置乱加密,下面以直方图对比效果来分析,图4-11所对应的直方图如图4-12所示:

图4-12(a)原始图像直方图 图4-12(b)像素值置乱直方图

图4-12(c)位置置乱直方图 图4-12(d)双重置乱直方图
图4-12直方图对比效果
由图4-12可知:基于混沌的数字图像像素位置的加密技术只是置换数字图像的像素点的位置,而像素值并不置换,从而数字图像的直方图不会改变,因而所得密图直方图与原数字图像的直方图相同;而基于混沌的数字图像的像素值加密技术虽然将像素值进行置换,改变了数字图像的直方图,但是像素位置没有置换,因此加密效果不太理想;然而基于混沌的数字图像像素位置与像素值双重置换加密算法既置换像素位置,又置换像素值,从而加密密图的直方图与原图像的直方图是不同的,而且加密后的直方图分布非常均匀,从而加密效果更优。

5 总结
由于数字图像生动形象,故在很多重要领域得到了广泛的应用。数字图像的安全传输问题越来越受到重视。数字图像加密技术是数字图像信息安全的一种有效保护措施,目前已经产生了许多的图像加密算法。 本文主的第一章主要介绍了图像加密算法研究的背景、内容以及方法。第二章重点了解了数字图像的基本知识,包括图像定义、图像常用存储格式以及图像压缩及编码,还有图像加密算法的性能要求和几类算法:基于矩阵变换的图像加密技术、基于秘密分割与秘密共享的图像加密技术、基于现代密码体制的图像加密技术和基于混沌的图像加密技术。第三章重点介绍了基于混沌的图像加密技术,就混沌的理论、定义、特征以及选择做了详细的介绍。此外,对几种常见混沌系统的研究方法也有说明。在现在已有的理论基础上,重点分析了几个典型的混沌系统:即Hemon映射、Lorenz系统和猫映射。第四章就基于Logistic映射的图像加密的理论、模型、加密解密的具体方案以及仿真结果做了具体的讲解。

            参考文献

[1].冯志华.基于可逆元胞自动机的图像加密算法[D] .大连海事大学学位论文, 2008年
[2].安丙辰.基于DSP的数字混沌加密系统的设计与实现[D]. 大连理工大学学位论文,2006年
[3].施达.数字水印自适应多级息隐匿算法研究[D].四川大学学位论文, 2005年
[4].吴睿杰.四位非线性超混沌的控制与同步[D].江苏大学学位论文,2009年
[5].孙跃华.计算机密码学的新进展[J].中国计量学院学报,2007.12
[6].张晓强,王蒙蒙,朱贵良. 图像加密算法研究新进展[J].计算机工程与科学, 2012年第34卷第5期
[7].苏莉萍, 冯健.基于混沌的图像置乱加密算法及MATLAB的实现[J].《装备制造技术》,2007年第8期
[8].任帅.基于混沌的数字图像加密技术研究与应用[D].解放军信息工程大学学位论文2011年4月
[9].王洪均.数字图像加密加密算法研究[[D].南京理工大学学位论文, 2007年7月
[10].倪姬娜.混沌同步及在保密通信中的应用[D].东华大学学位论文, 2007年
[11].张鹏 .基于混沌理论的图像加密技术研究[D].燕山大学学位论文, 2011年5月
[12].郑凡,范文华,李雪妍 . 基于Henon映射的数字图像加密[J].北京邮电大学学报,2008年2月第31卷第1期
[13].韩永忠.图像加密技术分析[J].陕西省物理学会会议论文,2008年
[14].林润海.基于三维整数拟仿射变换和四维混沌图像的图像加密[D].汕头大学学位论文,2009年
[15]. 李国朝.《MATLAB基础及应用》[M.北京:北京大学出版社出版社 2007年7月

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值