混沌加密技术(共8篇)
混沌加密技术 篇1
0 引 言
19世纪末,法国著名数学家和物理学家庞加莱第一次发现三体运动中的混沌现象。20世纪60年代,美国气象学家洛仑兹在研究气象学时发现了大气运动中的混沌现象,这就是著名的“蝴蝶效应”,混沌系统只要存在初始条件的微小差异,将导致其轨道演化很快变得互不相关,即所谓的“差之毫厘,失之千里”,由于混沌系统具有非周期、连续宽频带、类噪声和长期不可预测等特点,因而特别适用于保密通信等领域。
本文提出了一种将AAC编码技术与混沌加密相结合的一种音频保密系统,首先在加密端将一段原始的音频信号进行AAC编码,对编码之后的音频信号采用二维猫映射混沌加密算法进行加密,在解密端首先用二维猫映射混沌解密算法对编码之后的音频信号进行解密,解密之后再采用AAC解码算法解码,最后在将整个加密和解密系统移植到S3C2410硬件平台Linux系统中,实验结果表明该方案与传统的混沌语音保密系统相比,具有加密解密效率高,硬件资源占用少,解密后音质好,传输所需要带宽小等优点。
1 二维猫映射加密算法
下面将具体阐述猫映射加密算法的相关理论,猫映射如式(1)所示:
式中mod 1表示只取实数的小数部分。为了将猫映射用于加密,需要对它进行适当处理。首先将猫映射扩展到N×N,并进行离散化,如式(3)所示:
其次,引入加密参数。加密参数的引入可以通过改变矩阵A的元素来获得,为了工程实现可行性,可以采用如下变换阵Ad:
式中a,b都取小于N的整数。猫映射逆变换公式如式(5)所示:
最后对二维N×N矩阵按行输出即可得到解密后的一维信号。
广义猫映射的状态空间是有限的,所以很有可能不再是混沌的。但从几何上看广义猫映射仍然具有猫映射的拉伸和折叠的特性,这个性质导致原来相邻的两点(i,j)和(i,j+1)经迭代几次后不再相邻,因而仍然具有一定程度的初值敏感性,利用这一点可以将一段语音进行迭代运算若干次,就可以打乱语音的相关性,从而实现语音加密的效果。广义猫映射的逆映射如式(7)所示:
为了保证整数运算,正映射时系统的参数都取整数,逆映射的参数也取整数,这样在加密和解密的过程中就不会带来误差,把经过正映射加密了的语音再按逆映射迭代相应的轮数,就可以实现语音的无失真解密。
2 加密方案的设计及实现
2.1 加密方案描述
该方案的具体实现流程是:在发送端首先将原始语音信号进行AAC编码算法FAAC编码,再将编码后的语音文件用二维猫映射混沌加密算法置乱,接着将编码后的语音文件通过TCP/IP传输协议将编码后的语音信号传送到接受端,接收端首先利用二维猫映射逆变换算法解密编码后的文件,然后对解密后的语音文件采用AAC解码算法FAAD解码,最终还原出原始语音信号。具体实现流程如图1所示。
2.2 加密算法的实现
下面以一段语音编码加密为例来阐述加密算法的实现流程过程:
(1)设置加密密钥:猫映射的映射参数a,b和迭代轮数k;
(2) 将AAC编码后语音数据块分成m=N×N,比如一段音频数据块的长度为m=4 096,,则N=64;
(3) 然后利用离散化得猫映射式(3)进行位置置乱;
(4) 循环做k轮置换;
(5) 将分块数据从新堆叠成一个列向量,输出。
完整的解密过程如下:
(1) 设置置解密密钥:猫映射的映射参数a,b和加密轮数k;
(2) 将AAC编码后的数据块m分成m=N×N,比如对音频数据块长取为m=4 096,则N=64;
(3) 然后利用离散化得猫映射逆变换式(6)进行位置置乱;
(4) 循环做k轮置换;
(5)将分块数据重新堆叠成一个列向量,输出。
加密算法实现流程如图2所示。
3 系统的安全性能分析
3.1 参数失配分析
将加密参数分别设置为a=3,b=8,K=64,当解密参数与加密参数完全符合时,能够实现语音信号正常解密,当解密参数其中之一和加密参数不符合,则不能正常解密。加密前后语音信号的频谱和倒谱如图3,图4所示。参数匹配、失配解密语音信号的频谱和倒谱如图5,图6所示。
3.2 相关分析
在测试语音中,选取前4 096个相邻的语音采样点对,记为(xi,yi)。按如下定义的相关系数来计算这4 098个语音幅度值之间的相关性如图7,图8所示。
4 结 语
本文提出了一种基于AAC编码算法与混沌猫映射结合的混沌语音保密方案,可以语音的压缩与加密,并且在嵌入式处理器中移植了该加密算法,实现结果表明该方案是可行的,该方案在保密通信领域具有潜在的实际工程应用前景。
参考文献
[1]黄润生.混沌及其应用[M].武汉:武汉大学出版社,2005.
[2]禹思敏.混沌系统与混沌电路:原理、设计及其在通信中的应用[M].西安:西安电子科技大学出版社,2011.
[3]CHEN G,MAO Y B,CHUI C K.A symmetric image en-cryption scheme based on 3Dchaotic cat maps[J].Chaos,Solitons&Fractals,2004,21(3):749-761.
[4]王磊.MPEG-4AAC编码器在TMS320C6416上的实现[D].西安:西安电子科技大学,2007.
[5]吴祥兴,陈忠.混沌学导论[M].上海:上海科学技术出版社,1996.
[6]罗小华,李元彬,罗明伟,等.一种新的四维二次超混沌系统及其电路实现[J].微电子学,2009,39(3):398-401.
[7]王梓坤.论混沌与随机[J].北京师范大学学报:自然科学版,1994(6):68-73.
[8]LORENZ E N.Detemfinistic nonperiodic flow[J].Atmos.Sci.,1963,20:130-141.
[9]LI Yu-xia,WALACE K S,CHEN Guan-rong.Hyperchaosevolved from the generalized lorenz equation[J].Int.J.Ci-re.Theor.App.,2005,33:235-251.
[10]JIA Q.Adaptive control and synchronization of a new hy-perchaotic system with unknown parameters[J].Phys.Letters A,2007,362(5/6):424-429.
[11]ZHANG H.Controlling and tracking hyperchaotic ssler system via active backstepping design[J].Chaos Solit.Fract.,2005,26(2):353-361.
[12]MATIHEWS R.On the derivation of a chaotic encryption algorithm[J].Cryptologia,2010,13(1):29-42.
混沌加密技术 篇2
关键词 Lorenz系统 密码学 混沌加密 数字图像
中圖分类号:TP393.08 文献标识码:A
随着数字多媒体技术和计算机网络技术的迅速发展,数字多媒体的安全性和保密性就越来越重要。数字图像的加密和解密在信息安全技术中尤其重要,希望加密后的图像类似于现实世界的白噪声,这样,未授权者就无法得到图像的有效信息,实现了数字图像信息的安全和保密。而传统的对文本加密的方法无法适应数字图像自身的特点,所以不适合应用于数字图像加密。混沌理论是一种新兴的非线性理论,它具有以下几个特征:对初值敏感性、不可预测性、非线性、伪随机性。这些特性非常适合于数字图像信息的加密。但是混沌序列是一种高度依赖迭代精度的序列,当理论精度是无穷大时,混沌序列可以看作是理想的随机序列,近似于现实世界的白噪声。实际应用中,由于计算部件精度的限制和实现成本的制约,都无法达到无穷的计算精度,这样得到的混沌序列就是一种有周期的伪随机序列。
1 Lorenz系统介绍
Lorenz混沌系统是美国著名的气象学家洛伦兹在1963年研究大气运动时提出的,其方程组表达式如下:
其中表示对流运动的振幅,与运动强度成正比;表示上升流与下降流的温度差;表示垂直温度分布与线性温度廓线的偏差,即垂直温度分布的非线性度;表示流体分子的粘性系数;为瑞利数;为几何因子,没有直接的物理意义。
1.1 加密算法的密钥设计
混沌模型用于加密算法中的时候,这些混沌模型的参数和系统初始值理论上都可以作为加密算法的初始密钥。但是为了使得加密算法有良好的安全性能,必须保证这些超混沌模型能够进入超混沌状态,因此,在算法中,仅仅把这三个模型中每一个模型的初始值,作为算法的初始密钥,由用户输入,而把这些模型中的所有系统参数都按照上面给出的进入超混沌状态时的取值在算法中固定下来。
另外,为了区分不同模型的初始值,将这三个模型中的初始值,分别记作M,N;A,B;U,V。即混沌模型的两个初始值在加密算法中记为M,N;超混沌模型的两个初始值在加密算法中记为A,B;混沌模型的两个初始值在加密算法中记为U,V。
所以初始密钥K是一个6元组,包含6个子密钥:
K=(M,N,A,B,U,V)。
1.2 加密算法原理
利用图像像素值替换算法,对置换后的图形进行像素值的修改,得到最终的密文图像。解密的过程与加密相似,采用相同的初始密钥,对超混沌模型进行迭代,分别生成置换矩阵、密钥流矩阵和替换次序矩阵。先将密钥矩阵与密文按位进行异或操作,再把结果根据置换矩阵进行逆向置换,既可以解密为初始明文。
2 算法的安全性分析及实验结果
对256*256大小的灰度lena图像,采用Matlab工具对优化后的多级混沌加密算法进行实验,并对实验结果进行安全性分析。
2.1 实验结果
对原始图像进行加密,输入的初始密钥(未经字符化处理)K(M,N,A,B,U,V)=(4.32,0.25,0.17,0.66,1.67,2.05)。
可以看出,利用该多级混沌图像加密算法,使得原始图像被充分的置乱与替换,直观上无法看出原始图像的痕迹。
2.2 密钥空间和密钥敏感性分析
本算法的初始密钥未经字符化处理前,为实数,由6个子密钥构成。若计算机的精度为1015,则密钥空间远远大于1090,完全可以抵抗穷举法的攻击。密钥经字符化处理后,密钥空间为位字符(≥6),所以密钥空间为256n,当足够大时,可以抵抗穷举攻击;另外,由于算法加入了时间戳,实际密钥空间也极大增加。利用正确的初始密钥,可以对加密图像进行解密,解密后的图象质量良好。另外,当解密密钥发生微小的错误(0.001)时,不能正确还原图像,解密图像混乱无序,没有意义。这说明,解密过程对密钥非常敏感,算法的安全性较高。
2.3 相关性分析
从加密图像中随机抽取1000对垂直相邻的像素,对它们的相关性进行分析。图中横坐标表示像素点()的像素值,纵坐标表示像素点( +1)的像素值。
可以看出加密后图像的相邻像素值较为均匀得分布到了整个像素值空间。相邻像素值不仅仅在低值空间均匀分布,在高值空间也同样均匀分布。这说明,加密后的图像灰度分层现象消失,因而图像的相关性大大减弱。
采用相关性计算公式,对算法的加密图像计算相关系数,结果如表1所示。
表1 加密图像的相关系数
说明加密算法使图像的相关性降低,具有较高的抗攻击能力。
3 实验结论
浅析网络安全与混沌加密技术 篇3
1 网络安全的概述
国际标准化组织(ISO)将“计算机安全”定义为:“为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄漏”。上述计算机安全的定义包含物理安全和逻辑安全两方面的内容,其逻辑安全的内容可理解为我们常说的信息安全,是指对信息的保密性、完整性和可用性的保护,而网络安全性的含义是信息安全的引申,即网络安全是对网络信息保密性、完整性和可用性的保护。
从本质上来讲,网络安全包括组成网络系统的硬件、软件及其在网络上传输信息的安全性,使其不致因偶然的或者恶意的攻击遭到破坏[1]。网络安全既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。
网络安全技术随着人们网络实践的发展而发展,其涉及的范围非常广,如认证、加密、防火墙及入侵检测等技术是网络安全的重要防线。从技术角度看网络安全取决于两个方面:网络设备的硬件,网络设备的操作系统和应用软件。因此网络安全的基本技术主要包括网络加密技术、网络地址转换技术、操作系统安全内核技术、身份验证技术以及网络防病毒技术等。其中加密技术是网络信息安全的核心技术,已经渗透到大部分安全产品之中,并正向芯片化方向发展。
2 网络加密技术
在保障信息安全各种功能特性的诸多技术中,密码技术是信息安全的核心和关键技术,通过数据加密技术,可以在一定程度上保护网内的数据、文件、口令和控制信息,以及保护网上传输的数据,提高数据传输的安全性,保证传输数据的完整性。
2.1 数据加密
数据加密过程就是通过加密系统把原始的数字信息(明文),按照加密算法变换成与明文完全不同的数字信息(密文)的过程。假设E为加密算法,D为解密算法,则数据的加密解密数学表达式为:P=D(KD,E(KE,P))。
2.2 私钥加密
私钥加密又称对称密钥加密,因为用来加密信息的密钥就是解密信息所使用的密钥。私钥加密为信息提供了进一步的机密性,它不提供认证,因为使用该密钥的任何人都可以创建、加密、和平共处送一条有效的消息。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。但是对于大型网络,当用户群很大,分布很广时,密钥的分配和保存就成了问题。这种加密方法的优点是速度很快,很容易在硬件和软件中实现,在处理大量数据的时候被广泛使用。典型的算法有 DES及其各种变形(如Triple DES),IDEA,RC4、RC5以及古典密码(如代换密码和转轮密码)等。
2.3 公钥加密
公钥加密技术也叫非对称密码体制,比私钥加密出现得晚。在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,一个用于加密信息,另一个用于解密信息。加密密钥向公众公开,谁都可以使用,解密密钥只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,故其可称为公钥密码体制。如果一个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息。而私钥却是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。公钥加密系统的缺点是它们通常是计算密集的,因而比私钥加密系统的速度慢得多;优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便地实现数字签名和身份验证。典型的算法有 RSA、背包密码,Elliptic Curve算法等等。随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密机制。
3 混沌加密技术
1963年,美国气象学家洛伦兹(Lorenz)提出混沌理论:认为气候从本质上是不可预测的,最微小的条件改变将会导致巨大的天气变化,这就是著名的“蝴蝶效应”。对于这个效应最常见的阐述是:“一个蝴蝶在巴西轻拍翅膀,可以导致一个月后德克萨斯州的一场龙卷风”。今天的“蝴蝶效应”或者“广义的蝴蝶效应”已不限于当初而言,而是一切复杂系统对初值极为敏感性的代名词或同义语,其含义是:对于一切复杂系统,在一定的“阈值条件”下,其长时期大范围的未来行为,对初始条件数值的微小变动或偏差极为敏感,即初值稍有变动或偏差,将导致未来前景的巨大差异,这往往是难以预测的或者说带有一定的随机。
混沌是一种复杂的非线性、非平衡的动力学过程,是一种始终局限于有限区域、轨道永不重复且性态复杂的非线性运动形式,它有时也被描述成周期无穷大的运动或貌似随机的运动。
一般认为,产生混沌运动需具备三个特征:内随机性(产生混沌的根源是系统本身)、分维性质(系统运动轨道在相空间中构成奇怪吸引子)、存在Feigenbaum常数(具有结构的普适性和测度的普适性)。
其特点为:(1)混沌系统的行为是许多有序行为的集合,而每个有序分量在正常条件下,都不起主导作用;(2)混沌看起来似为随机,但都是确定的;(3)混沌系统对初始条件极为敏感,对于两个相同的混沌系统,若使其处于稍异的初态就会迅速变成完全不同的状态。
混沌加密基于混沌系统所具有的独特性质,它的理论基础是:混沌信号具有的非周期、连续非对称宽带频谱、似噪声等特性,具有良好的遍历性和非周期性[2]。将混沌系统作为密钥流发生器,利用特定的编码,即可实现通信双方的实时动态加解密,其加密强度主要取决于密钥的生成算法。
由于混沌系统对初始状态的极度敏感性、复杂的动力学行为、数值分布上不符合概率统计学原理,得不到一个稳定的概率分布特征;另外,混沌数集是实数范围,还可以推广到复数范围,使混沌系统难以重构和预测。目前只能在特殊条件下对一些混沌系统进行重构,从理论上还没有较好的一般性方法,要破译通过混沌加密的信息非常困难,因而特别适用于保密通信,目前混沌保密通信研究中多采用基于混沌同步理论的保密通信系统。
首先,混沌系统对初始值和参数非常敏感,可以提供很大的密钥集合, 密钥的周期可任意大,能够高速生成,具有不可预测、难破译等特点,可完全满足加密的需要。其次,混沌加密属于流密码,对分组加密的攻击方法是无效的[3]。而且,混沌加密算法的加密和解密过程是可以重用的,这样其所占用的空间大大缩小,其时间空间代价也较小。当然,混沌加密算法也存在的问题,主要包括短周期响应、有限精度效应和实现精度与保密性的矛盾等。
用混沌同步加密信息具有运算速度快、保真度高、密钥量大、安全性好以及足够的带宽和较强的实时功能。混沌同步加密技术是加密图像信息和声音信息等大数据量信息的一种新技术,是加密领域的一种新方法,是保证网络通信安全的一项新技术,有着较为广阔的应用前景。
摘要:随着计算机的普及和网络技术的广泛应用,计算机信息的保密及网络安全问题日益重要,而加密技术则是网络安全技术中的核心技术。为此,对目前信息加密技术进行了分析,阐述了网络加密技术的相关理论及技术,同时对混沌加密技术进行了描述。并从混沌加密技术的基本原理、发展阶段和特点以及存在的问题对其进行了较为全面的分析和总结。
关键词:网络安全,私钥加密,公钥加密,混沌加密
参考文献
[1]徐国爱.网络安全(第2版)[M].北京:北京邮电大学出版社,2007,9.
[2]刘嘉辉,李岩,宋大华.混沌加密理论的探讨[J].牡丹江师范学院学报(自然科学版),2006(1).
视频混沌加密及其FPGA实现 篇4
随着科技 的飞速发 展 ,视频采集 技术获得 了十分广泛 的应用。 在工业自 动化控制 、医疗器械 、安防设备 等领域都能 看到视频 采集的身 影 [1,2]。然而在 一些特殊 的场合 , 比如网络 视频和视 频会议等 , 对于数据 安全有较 高的要求。 这就需要 对传输的 视频数据 进行加密 处理[3,4,5,6,7]。但是对于 网络视频 和视频会 议等对数 据实时性 要求非常高 的应用场 合 ,由于其加 密算法复 杂并且数 据运算量大 ,显然不符 合实时性 的要求。 因此 ,本文采用 一种加密效 果好并且 易于实现 的混沌猫 映射算法 来完成加 密运算 ,以满足安 全性和实 时性的需 要。
视频加密 主要有两 种方法 , 一种是采 用基于Linux操作系统 下的C语言或MATLAB语言等软 件的方法 加以实现 , 这种方法 的特点是 可移植性 较好 , 实现起来 较为简单方 便。但这 种方法是 面向处理 器的 ,指令执行 采用的是串 行操作的 方式 , 执行速度 相对较慢 , 因而视频信 号处理的 实时性也 相对较差 。另一种 则是采用 硬件描述语 言的方法 加以实现 ,这种方法 是面向最 基本的逻 辑单元或门 电路单元 , 其主要特 点是能够 充分利用FPGA的并行处 理优势。 但这种方 法在通常 情况下不 支持对浮点 数的运算 和处理 , 实现难度 相对较大 [7]。与静止 图像加密的 主要不同 之处在于 ,对视频信 号处理和 混沌加密的 实时性具 有很高的 要求。因 此 ,本文采用 硬件描述 语言和FPGA技术实现 视频数据 的混沌加 密。利用FPGA并行处理 等优良特 性可以更 好地将CCD摄像头采 集的模拟视 频信号转 化为数字 视频信号 并完成对 其加密等多 个步骤 ,从而最终 完成对视 频的混沌 加密。实 验结果表明 ,该系统能 同时满足 视频采集 的实时性 和安全性 这两者的要 求。
1 视频混沌加密原理
1 . 1 二 维 猫 映 射
猫映射最 早由Arnold提出 , 因为常用 一张猫脸 演示而得名 。它是一 种将明文 置乱的加 密方式。 二维猫映 射的数学表 达式如下 :
式中(xn, yn) 是一幅N×N图像的像 素点位置 , ( xn + 1, yn + 1) 是原像素点 坐标经过 猫映射变 换之后所 得到的新 坐标 ,N = 240。A的两个特 征值, 其对应的 李氏指数, 该映射是混 沌的[6]。同时 ,它符合混 沌运动的 两个因素 :拉伸和折叠 。又由于det A=1, 因此该二 维的猫映 射是保面积 映射。并 且猫映射 是一一映 射 ,图像中的 一个像素点 唯一地映 射到另一 个像素点 中去。
1 . 2 二 维 猫 映 射 参 数 的 选 取
传统的二 维猫映射 为了取得 较好的加 密效果 , 需要对图像 进行多次 的置乱 ,因此导致 了加密系 统的时间 代价大 ,效率低下 。多次置 乱的加密 公式如下 :
A矩阵可以 表示为 :
P和P -1为互逆矩 阵 ,θ为一对 角矩阵 , 其数学表 达式为 :
将式(4)代入式(3)中 ,得 :
由上式可 知 ,多次A矩阵的猫 映射加密 相当于B矩阵的一次猫映射加密, 相当于图像完成了A矩阵的多次拉 伸和折叠 [7]。因猫映 射加密具 有周期性 , 周期大小 与图像分辨 率、矩阵中 参数大小 等有密切 联系[5]。因此 ,选择好矩阵 中的参数 可以令效 果事半功 倍。
因此在选 择参数时 尽量选择 令加密图 像像素分 布均匀的迭 代次数n, 以达到最 好的加密 效果。猫 映射的周期M由图像大 小N以及猫映 射矩阵中 的参数所 决定 , 因此 , 通过MATLAB仿真来获 得加密周 期M和最佳的加 密参数。
选取矩阵, 当图像大 小为240×240时 , 猫映射加密 的周期为60, 不同迭代 次数图像 的加密效 果如图1所示。
从仿真结果可知,二维猫映射置乱的迭代次数并不是越大越好,譬如A矩阵迭代20次之后,图像中的信息能被肉眼所分辨。而A矩阵的60次迭代之后图像又被还原。虽然A矩阵的5次迭代和55次迭代之后的加密图像已经都被完全打乱,但由于迭代次数过多会造成矩阵中的元素过大,不便于计算。因此本实验采用的加密矩阵为:
式中B矩阵为猫 映射加密 的置乱矩 阵 ,其效果相 当于A矩阵的5次变换。 使用B矩阵对图 像置乱 ,不但解决 了视频数据 的安全性 问题 , 更由于算 法的简单 易于实现 ,可以很好 地满足视 频采集系 统的实时 性要求。
2 FPGA 采集系统的设计
本实验采 用的FPGA芯片是Xilinx公司VirtexⅡPro系列的XC2VP30。该FPGA芯片包含13 969个逻辑片 、428 Kb的分布式RAM、136个乘法器 单元、2 448 Kb的块RAM、8个数字时 钟管理模 块、2个Power PC核和8个G比特收发 器。
2 . 1 FPGA 采 集 系 统 概 述
本文的采 集系统由Xilinx公司的XUP Xilinx VirtexⅡPro开发板为核心开发平台、视频采集子板VDEC1、CCD摄像头和LCD液晶显示器组成。其系统设计框图如图2所示。
2 . 2 FPGA 采 集 系 统 流 程
整个采集 系统包括4个模块 :AD芯片初始 化模块、ITU656解码模块 、缓存模 块和VGA显示模块 [8]。4个模块均由Verilog语言编写 , 在Xilinx公司的ISE开发环境下 完成。
系统上电 之后 ,首先会由I2C初始化模 块进行ADV7183B芯片的相 关初始化 , 包括ADV7183B采集数据 后输出的数 据格式和 相关制式 的设置等 。初始化 完成后 ,AD芯片采集 到的数据 会不断地 传送到ITU656解码模块中 , 解码模块 判断数据 是否为有 效数据的 起始信号 ,若为有效 显示数据 ,则将该场 的有效显 示数据进 行颜色空间 的转换 , 由YUV422格式转换 为能被显 示器识别 的RGB格式。然 后由线缓 存对每一 行数据进 行缓冲操 作 ,若写满一 行数据则 切换另一 个线缓存 器。利用 乒乓操作对Block RAM组成的缓 存进行读 写操作 ,不但很好 地解决了异 步时钟下 的数据存 储问题 ,而且避免 了同时读 写数据时造 成的冲突 。从Block RAM中读出的 数据会被 存储到帧缓 存中 , 最后会将 数据交由VGA控制模块 显示到屏幕 上[9]。视频采 集系统的 流程图如 图3所示。
3 混沌猫映射的 FPGA 实现
完成视频 的采集和 存储之后 , 需要对视 频数据进 行加密。猫 映射加密 的实质是 对图像的 像素点进 行置乱操作 ,由于其易 于实现的 特点很好 地满足了 视频数据 的实时性要求,故猫映射加密是一种优秀的视频预加密方案。
在硬件的 实现上 ,需要对一 帧完整的 图像数据 的像素点进 行置乱 ,将原本顺 序存储的 像素点分 别分配到 猫映射后的 地址。这 个操作就 需要一个 模块把原 本递增的地 址变量转 化为猫映 射后的地 址变量 ,再按照映 射后的地址 将像素值 存入到帧 缓存相应 的地址中 。然而 ,一维地址变 量并不能 直接进行 猫映射的 运算 ,需要将其 转化为二维 地址变量 :
式中xaddr和yaddr为二维地 址变量 ,saddr为一维地 址变量 ,cpixel为每行像 素个数。
从第1节的结论可知,选取的猫映射加密矩阵B为:
将矩阵B代入式 (8) 即可得到 混沌猫映 射后的二 维地址。最 后 ,还需要将 这个二维 地址转换 为一维地 址存入帧缓 存中 :
根据上述 混沌猫映 射的原理 , 得视频加 密的实现 框图如图4所示。
利用FPGA并行操作的优点, 使地址的猫映射变换和视频数据的解码同时进行,大大缩减了数据处理所消耗的时间。同时由解码模块向VGA控制器和猫映射地址变换器发出一个控制信号,以确保控制信号与数据的同步性。
4 FPGA 硬 件实现结果
4 . 1 实 验 结 果 波 形 分 析
由于视频 的数据量 较大 , 因此 , 本系统采 用了采用240×240的分辨率 和RGB656作为RGB数据的传 输格式 , 采用RGB656降低了数 据量的同 时也保证 了图像的质 量。实验 的最后 , 采用了Xilinx公司的在 线逻辑分 析仪Chipscope进行了数 据的仿真 , 视频采集 系统的数 据仿真图如 图5所示。
4 . 2 硬 件 实 验 结 果
本实验使 用的采集 系统由FPGA开发板、 视频采集子 板、CCD摄像头三 部分组成 。采集系 统主要设 置了两个功 能键 , 由拨码开 关组成 , 开关一实 现对视频 截取的功能 ,开关二实 现了视频 数据实时 加密的功 能。摄像 机获取的原 视频图像 如图6(a)所示 ,通过混沌 猫映射后 的视频加密 图像如图6(b)所示。
5 结 论
基于混沌密钥的图像加密算法 篇5
静止图像可以看作是平面区域上的二元连续函数:
在图像数字化之后,A=f(x,y)则相应于一个矩阵,矩阵的元素所在的行与列就是图像显示在计算机屏幕上诸像素点的坐标,元素的数值就是该像素的灰度。通过矩阵的初等变换或改变矩阵元素的值,即打破图像像素点的相关性,可以使得像素点变得杂乱无章,从而达到加密的目的。
混沌密码学方法是利用混沌动力学系统所具有的伪随机性、确定性和对初始条件与系统参数的极端敏感性以及混迭特性来构造分组密码或序列密码,以达到对信源进行加密的目的。混沌信号具有非周期性、连续宽带频谱、类似噪声的特性,使得它具有天然的隐蔽性;对初始条件和微小扰动的高度敏感性,又使混沌信号具有长期不可预见性。混沌加密方法属于对称加密体制的范畴。这种加密体制的安全性取决于密钥发生器(即混沌)所产生的信号与随机数的近似程度,密钥流越接近随机数安全性越高,反之则容易被攻破。不过,混沌加密方法是符合现代密码学要求的,其近阶段的方向是寻找更加随机的混沌流,并同时解决混沌流的同步问题。
1 基于Logistic映射的图像加密算法
1.1 Logistic映射
Logistic映射是一个源于人口统计的动力学系统,其系统方程可写为如下形式:
其中xn为映射变量,μ为系统参量,它们的取值范围分别为:-1<xn<1,0<μ≤4。Logistic映射是一个非常简单,却又具有重要意义的非线性迭代方程,它具有确定的形式,并且系统不包含任何随机因素,但系统却能产生看似完全随机的,对参量μ的动态变化和初始值极为敏感的现象(当μ∈[3.6,4)时系统变为混沌状态)。
文献[1]证明系统方程产生的序列的概率分布函数为:
其中ρ(x)是不依赖于初始值的,它对混沌系统具有普遍适用性。可以利用概率分布函数来计算混沌系统方程的均值为:
1.2 算法实现
在图像数字化之后,图像A=f(x,y)相当于一个矩阵:
矩阵的每个元素的值表示一个像素点的灰度(亮度)。我们利用Logistic映射所产生的混沌序列对矩阵元素做异或运算来打破其相关性,从而达到加密的目的。在接收端以同一混沌序列(对称加密体制)对加密图像做异或运算即可得到解密图像。
图1(a)为利用Logistic映射生成混沌序列的流程图,图1(b)为基于Logistic映射实现图像加密的流程图。
取系统参数μ=3.8,初始值x0=0.3001,图2(a)为实验原图像,图2(b)为加密后图像,图2(c)为错误密钥(x0=0.3002)解密后图像。图2(d)为正确密钥解密得到的图像。实验表明,加密图像杂乱无章,无法解读;正确密钥能完全解密;而错误密钥(哪怕是微小的误差)都不能解密,这正是混沌序列对初始条件敏感性的体现。
图3为原始图像与加密图像的直方图。
由图2、图3我们可以看出,利用Logistic映射所产生的混沌进行图像加密可以很好地打乱图像像素点之间的相关性,更能抵抗统计分析的密码攻击。
1.3 安全性分析
(1)关于密钥空间的分析
基于Logistic映射的加密算法密钥由两个浮点数组成,如使用每个浮点数的8位有效数字则得到8+8=16个不确定的数位,即其密钥空间为1016,这接近于56位的DES算法的256,而DES算法的安全性是公认的。如图2(c)是该算法密钥x0=0.3002时得到的解密图像,虽然只有10-4的偏差,也无法恢复出原图像。
(2)灰度变化平均值
对于图像灰度值的变化,我们引入灰度变化平均值GAVE,以反映图像灰度变化程度,度量加密图像的完全度[2]。设G(gij)与C(cij)均是大小mn的灰度图像,其灰度级数为L,则有:
称为两个图像的灰度平均变化值[3]。
上述参数在G与C相同时取最小值0,而当加密图像为原图像的逆时,即cij=L-gij时,取最大值L。对于一个加密图像,当两个图像的灰度产生均匀变化时,图像加密的效果是最好的,并且越均匀安全性越高,最好的情况应该是图像灰度平均变化值为L/2。
对上述算法,计算得到灰度平均变化值GAVE(A,A’)=72.6121,其灰度变化良好,这说明加密图像对密钥非常敏感,密钥的微小变化,加密图像灰度值发生了巨大变化。
2 基于二维Henon映射的迭代图像加密算法
2.1 Henon映射
有些高维映射存在单值确定的逆,这是不同于一维映射本质的特征,非平凡二维映射即至少二次的非线性映射往往具备这种单值可逆的特征。Henon映像[4]是最简单的非平凡二维映射,它是二次方型非线性的二维映射,但Henon映射的动力学性质已足够复杂而且存在单值确定的逆。Henon映射定义为[5]:
其逆映射为:
为了适应图像加密的特点,在图像加密算法中使用如下取模改造后的Henon映射,该映射存在单值确定的逆:
其逆映射为:
式中L为图像的最大灰度值。
2.2 算法实现
基于混沌系统及Henon映射的图像加密的算法原理:应用二维取模的且参数b=1的Henon映射,对各像素点的灰度值进行链式循环迭代,并用一维混沌映射产生的整数序列依次改变各环节中的迭代次数d与Henon映射的参数a。
算法加密解密原理如图4所示。
取系统参数u1=3.8,u2=3.9,初始值v1=0.3001,v1=0.3002,图5(a)所示为原始图像,(b)所示为加密图像,(c)所示为正确密钥解密图像。图6为加密图像的直方图。
由图5、图6可以看出,加密效果良好,用正确的密钥可以完全无失真地还原出原始图像。为增加加密强度,可以对加密图像再做一次循环迭代。
2.3 安全性分析
(1)关于密钥空间的分析
基于Henon映射的迭代加密算法的密钥是生成两个Logistic混沌序列的系统参数和初始值,即其密钥是由四个浮点数组成,若做两次迭代运算,则密钥由八个浮点数组成,具体应用时可以做多次循环迭代以获得更高的加密强度。其加密算法的密钥空间远远大于前一种加密算法。
(2)灰度变化平均值
在灰度变化值方面,做一次迭代得GAVE=73.0810,高于前一种算法,即此图像算法加密使图像像素值产生了更均匀的变化,加密效果更好。做两次迭代得GAVE=85.6565,更接近于L/2=128,加密图像与原始图像相关性更小。
3 总结
本文研究了两种基于混沌映射的图像加密算法,对每种算法的加密效果及安全性进行了分析和对比。基于Logistic映射的图像加密算法计算简单,加密效率较高,广泛适用于一般的图像加密。但其不满足统一颁布的原则,且密钥仅由两个浮点数组成,密钥空间过小,随着破译技术的不断发展,一维混沌系统在加密强度上显得不够。基于二维Henon映射的迭代加密算法的加密效果要优于前一种算法,而且可以通过多次迭代加密来提高加密强度,其缺点是计算量过大,效率低。
摘要:传统的加密手段,如DES,在图像文件较大时显得效率低下,混沌密码学提出一种有效的方法来解决图像加密在高速、高安全性方面的难题。混沌系统有很多重要的特性,比如,对初始条件和系统参数敏感,伪随机性,非周期性以及拓扑传递性等,大多数特性满足图像信息保密传输的需要,因而,混沌密码系统比传统密码系统更适合于图像加密。本文对Logistic映射、Henon映射两种混沌加密算法进行了研究,从密钥空间、灰度平均变化值等方面对各算法加密的效果进行了讨论。
关键词:混沌密钥,Logistic映射,Henon映射
参考文献
[1]王光瑞,陈光旨.非线性常微分方程的混沌运动[M].南宁:广西科学技术出版社,1995.
[2]廖晓峰.混沌密码学原理及其应用[M].北京:科学出版社,2009.
[3]王迤冉,王洋,詹新生.基于混沌的图像加密算法性能分析[J].河南大学学报(自然科学版),2006.
[4]张瀚,王秀峰,李朝晖,刘大海.一种基于混沌系统及Henon映射的快速图像加密算法[J].计算机研究与发展,2005.
一种改进的混沌图像加密算法 篇6
关键词:混沌扰动,Logistic映射,有限精度效应,数字化混沌,图像加密
0 引 言
混沌信号由于其初值敏感性, 且是由非线性的确定系统产生的貌似随机的运动轨迹, 在信息安全领域得到广泛的应用。理想的混沌信号是无限精度的, 但在实际工程应用中, 无论是由数字计算机还是专用的数字信号处理器实现混沌序列, 其混沌迭代过程都由有限字长的加法器、乘法器等基本运算单元来实现, 其参数和运算过程的结果都是存储在有限字长的存储单元中。理想的无限精度混沌信号必然变成了有限精度的数字信号, 因而相对于原先的理想混沌信号或混沌系统就会产生量化误差, 降低了混沌信号的随机性, 从而影响其在信息安全领域的应用。具体说来, 量化误差主要包括:
(1) 将混沌系统输入信号、参数用有限字长表示时产生的量化误差;
(2) 在数字运算过程中, 为了限制位数而进行尾数处理, 及为了防止溢出而压缩信号电平的运算误差, 主要是是乘积量化误差;
(3) 量化误差通过混沌系统后产生的扩散误差或传播误差。
上述的三种量化误差跟混沌信号的表示方法、运算方式、字节长短、尾数的处理方式以及混沌系统结构形式等有关。文献[1] 参照逻辑斯谛映射构造了一个简单非线性数字控制系统, 结合数值分析和动力学基本方法, 分析A/D转换、系数以及乘积运算量化效应在该系统中的表现, 揭示量化在非线性控制系统中的一些独特性质。研究表明, 由于量化效应的影响, 一些非线性控制系统不可能由数字系统实现, 而一些理想状态下的混沌系统则可能转变为稳定的周期系统。
目前补偿数字化混沌系统动力特性退化的方式主要有三种, 分别为:提高精度;使用级联的多个混沌系统;对混沌系统施以主动的扰动。实际应用表明, 对混沌系统进行扰动是目前所知的最简单有效的一种方式。现有对混沌系统的扰动方法主要有两类:扰动混沌系统参数和扰动混沌系统变量。在扰动混沌系统变量方面, 文献[2]提出的使用线性反馈移位寄存器 (LFSR) 产生二序列的扰动策略, 文献[3]使用简单满足均匀分布的伪随机数发生器 (PRNG) 对混沌变量进行扰动。文献[4]用m序列随机改变混沌函数的参数, 并在混沌函数的输出中加入非线性m序列的扰动, 进一步提高混沌序列的复杂性。但应当看到, 应用这类策略扰动的数字化混沌系统, 其产生的混沌伪随机序列周期上限会受到扰动信号周期的制约。
在此首先以典型的混沌映射Logistic映射为例, 讨论了输入信号量化误差、系统参数量化误差和运算量化误差对混沌特性的影响。然后, 提出基于混沌扰动的Logistic映射实现, 有效改善了有限精度效应问题, 并且由于应用混沌序列扰动, 其生成的伪随机序列周期不受扰动信号周期的限制。理论分析和仿真结果表明, 该方案可以有效地补偿数字化混沌系统动力学特性的退化, 产生具有良好统计特性的混沌序列, 并且计算复杂度小, 安全性高。最后, 给出了基于混沌扰动的混沌图像加密算法, 并对其加密效果进行性能分析。
1 Logistic映射有限字长效应研究
Logistic映射的定义为:
undefined
式中:x为自变量;μ为系统参数。Logistic映射数字实现时默认采用的是定点数表示、舍入处理。用Matlab/Simulink仿真如图1所示。
根据文献[1]的分析表明, 输入信号、系统参数和运算量化误差均会影响到混沌序列的生成。
2 基于混沌扰动的混沌序列实现
为减小有限字长效应对混沌特性的影响, 采用混沌序列对混沌系统进行扰动, 形成的基于混沌扰动的系统结构如图2所示, 其中序列d (t) 通过如下方法形成扰动向量undefined, 扰动过程为c (t) =pt (t) +d (t) 。文献[2,3,4]中的扰动序列d (t) 为m序列, 其生成的混沌序列的最大问题是受m序列的周期影响, 最终也变成周期序列。以A/D运算量化后的Logistic混沌系统为例, A/D转换的字长取4 b的定点数, 设m序列的阶数为6, 其特征多项式为1+x5+x6。Logistic系统初始条件为x0=0.5, 参数μ=2。在扰动过程中, 产生的Logistic序列的值可能超出[-1, 1]的范围, 故需要对值的大小进行比较和处理, 即将加入扰动后的输出与1 (或-1) 比较, 若结果大于1 (或小于-1) , 则进行减1 (或加1) 处理, 否则不做处理。结果如图3所示。由图3可知, 经过m序列扰动改进的系统具有一定的混沌特性, 经过更长的一段时间后呈现周期化, 周期为63。
根据图2, 混沌序列为Logistic混沌系统, 序列扰动也为Logistic混沌序列 (也可以选择其他混沌系统) 。A/D转换的字长取4 b的定点数。在扰动过程中, 产生的Logistic序列的值可能超出[-1, 1]的范围, 故需要对值的大小进行比较和处理, 即将加入扰动后的输出与1 (或-1) 比较, 若结果大于1 (或小于-1) , 则进行减1 (或加1) 处理, 否则不做处理。设扰动的Logistic混沌序列的初值为0.1, 参数μ=2。Logistic系统输入u=0.5δ (n) , 参数μ=2。系统输出结果如图4所示。
结果表明, 系统在较长一段时间内呈现混沌状态。可见, 基于混沌序列扰动的混沌系统其有限字长效应得到大大改善, 随机性得到大大增强。
3 基于混沌扰动的图像加密原理
下面讨论基于混沌扰动的混沌图像加密方案[5,6,7,8], 如图5所示。
从图5可以发现, 图像的保密性能主要取决于加密矩阵和置换矩阵的随机性。
3.1 加、解密算法
加密算法步骤如下:
(1) 选取Logistic映射1初值和系统参数为密钥K1= (x11, μ11, x12, μ12) , Logistic映射2初值和系统参数为密钥K2= (x21, μ21, x22, μ22) 。其中x11, x12, x21, x22∈ (-1, +1) ;μ11, μ12, μ21, μ22∈ (1.75, 2];{x11, μ11, x21, μ21}为式 (1) 的混沌系统初值和系统参数;{x12, μ12, x22, μ22}为用于扰动的混沌系统的初值和系统参数;
(2) 利用密钥和图2所示的基于混沌扰动的Logistic映射生成异或矩阵P。由于灰度图像一般为256级, 其值在0~255之间, 为此, 要将Logistic序列做一些适当的变换, 把 (-1, 1) 区间上的值映射到集{0, 1, 2, …, 255}, 可由Matlab 7.0中的abs () 和floor () 函数完成, 即:xi′=abs[floor (256xi) ]。其中, xi是图7所示的经Logistic映射扰动后的Logistic混沌序列, 其随机性与式 (1) 所示的系统相比较大大增强。floor () 函数为向负方向取整函数。这样, 由混沌实数列和floor () 函数可得到整数序列x1′, x2′, x3′…。其中, xi′∈{0, 1, 2, …, 255}, i∈{0, 1, 2, …};
(3) 利用密钥和图2所示的基于混沌扰动的Logistic映射生成置换矩阵P。根据图2, 生成经Logistic映射扰动后的Logistic混沌序列, 对此序列按从小到大的顺序进行排序, 由各个元素位置的变化可以得到一个排序置换, 此置换可以在Matlab 7.0中利用排序函数“sort () ”直接得到, 并排成置换矩阵Zm×n, 其中zi, j∈{1, 2, 3, …, m×n}, i=1, 2, …, m;j=1, 2, …, n。根据置换矩阵, 对加密后的图像进行置换, 从而得到图像密文;
(4) 利用异或矩阵P进行图像加密;
(5) 利用置换矩阵Z进行图像置换。
解密算法是加密算法的逆运算, 在解密算法中, 首先利用与加密密钥相同的密钥产生异或矩阵P和置换矩阵Z, 异或矩阵与加密中的异或矩阵相同, 置换矩阵是加密算法中转换矩阵的逆置换, 在图像解密过程中, 先进行置换运算, 再进行异或运算。
用Matlab 7.0, 结合上述算法, 对“lenna.jpg” (256×256) 图像进行加密/解密的仿真实验, 密钥选取为:K1=K2= (0.5, 2, -0.5, 1.9) , 加密和解密图像如图6所示。其中:图6 (a) 为原始图像;图6 (b) 为密钥为K1=K2= (0.5, 2, -0.5, 1.9) 加密后的图像;图6 (c) 为错误密钥K1=K2= (0.5, 2, -0.5, 1.8) 解密后的图像, 图6 (d) 为正确密钥解密后的图像。
从上述对数字图像进行的加密和解密实验效果可知, 根据密文根本不能得出原始明文的相关信息, 只有使用正确的密钥去解密才能正确恢复明文。同时可以看到, 即使解密密钥中的一个变量仅有微小差异, 也根本得不到原始明文的任何有关信息。此外, 如果使用不同的初始密钥对同样的明文进行加密, 那么得到的密文也是完全不同的。
3.2 算法性能分析
3.2.1 直方图
图7所示实验结果清楚表明, 与原始图像直方图比较, 基于混沌扰动的Logistic映射加密图像直方图有很大的不同, 它非常均匀。因此, 经本文算法加密后图像在传输中具有更好的隐蔽性。
3.2.2 相关性
原始图像中相邻像素的相关性是很大的, 为了破坏统计攻击, 必须降低相邻像素的相关性。本文采用式 (2) ~式 (6) 计算原始图像和加密图像的m× (n/2) 对像素点测试其在水平和垂直方向的相关系数, 其测试值如表1所示。
undefined
式中:x和y表示两个图像的像素灰度值。在实际数值计算时采用如式 (4) ~式 (6) 的E (x) , D (x) 和cov (x, y) 的离散形式:
undefined
3.2.3 算法安全性能分析
从上述实验结果及其分析可知, 必须正确输入密钥, 即初始值 (x11, x12, x21, x22) 和系统参数 (μ11, μ12, μ21, μ22) 全部正确才能对加密图像正确解密。因此该算法对图像加密的密钥空间在Matlab 7.0试验平台上可达到1060, 其中初始值 (x11, x12, x21, x22) 和参数 (μ11, μ12, μ21, μ22) 的空间数量级均为1015。非授权者若用穷举法进行破密, 很难在有限的时间内破密成功。
根据Kerckhoffs准则, 加密算法要与密钥完全分开是现代密码体制的要求。上述实验结果表明本文提出的算法可以公开, 完全符合现代密码体制的要求。
4 结 语
这里提出的基于混沌扰动的数字化混沌扰动方案能够克服数字化混沌系统的短周期效应, 对系统的动力学特性退化进行了有效的补偿。该方法的引入为混沌动力学从理论模型投向实际应用提供了可行的途径。并将该方案应用于图像加密, 对加密后图像的统计特性分析表明了该方案的可行性。
参考文献
[1]王亮, 汪秉文.基于逻辑斯谛映射的非线性控制系统量化效应[J].华中科技大学学报:自然科学版, 2008, 36 (8) :34-37.
[2]周红, 凌燮亭.有限精度混沌系统的m序列扰动实现[J].电子学报, 1997, 25 (7) :95-97.
[3]Sang Tao, Wang Ruili, Yan Yixun.Perturbance-based Algo-rithm to Expand Cycle Length of Chaotic Key Stream[J].Eleetronies Letters, 1998, 34 (9) :873-874.
[4]Li Shujun, Mou Xuanqin.On the Security of a Chaotic En-cryption Scheme:Problems with Computerized Chaos in Fi-nite Computing Precision[J].Computer Physics Communi-cations, 2003, 153:52-58.
[5]Kwok H S, Wallace K S Tang.A Fast Image Encryption-systemBased on Chaotic Maps with Finite Precision Representation[J].Chaos, Solitons and Fractals, 2007, 32:1 518-1 529.
[6]Kwok-Wo Wong, Bernie Sin-Hung Kwok.An Efficient Dif-fusion Approach for Chaos-based Image Encryption[J].Chaos, Solitons and Fractals, 2009, 41:2 652-2 663.
[7]管春阳, 高飞.一种基于混沌序列的加密算法[J].北京理工大学学报, 2003, 23 (3) :363-366.
基于四维混沌系统的图像加密研究 篇7
随着人们不断对非线性混沌系统现象的深入研究, 混沌系统在现代技术领域中的应用已经引起了广泛关注。混沌信号作为加密信号源, 可以应用于图像加密, 文本加密, 语音加密, 系统加密等诸多领域, 因此关于混沌信号的研究也就引起了人们的兴趣[1,2,3]。提出了一个基于四维混沌系统来实现图像的加密的方法, 研究说明, 该方法不仅可以实现对图像加密, 而且与其它加密方法相比较, 除了应用混沌信号对图像加密外, 还可以设置加密密码, 因此该方法具有更好的保密性能。这一方法也只有在多维混沌系统中才能实现。
1 混沌系统及其MATLAB仿真
四维混沌系统的方程为[4]:
式中, a=50, b=15, c=13, d=0.5, e=20。
2 基于四维混沌系统的图像加密算法
采用图像置乱技术对图像进行加密处理。
加密算法简要介绍如下:首先对该四维混沌系统的微分方程产生的实值序列进行预处理, 抽取一定的二进制序列进行图像加密, 其次是读取256×256格式大小的原图像, 将原图像块置乱, 再按图像块中的行 (或列) 进行置换。如图2所示, 将256×256格式大小的原图像分成32×32格式大小的图像块, 结果得到8×8=64个小图像块, 对这64个小图像块在整个图像上利用8×8的幻方或Hilbert变换进行块置乱, 用来取消图像的像素点在领域中空间位置的相关性, 最后在将得到的图像在行、列两个方向上分别进行上、下及左、右的隔行 (或隔列) 的整行 (或整列) 的元素交换, 以消除图像相邻行 (或列) 的位置相关性, 这样就可以得到加密图像了[5,6,7,8]。
MATLAB仿真结果如图1所示。
由图2所示的原图像和加密图像的灰度直方图强度的分布可以看出, 加密的图像比原图像的灰度值的强度分布的更均匀更随机, 这同时也就提高了图像的抗攻击能力, 保证了其传递信息的安全性能。再有为提高图像信息传递过程的更安全性, 可以将原图像的加密算法进行迭代, 使之比原来的图像安全保密性措施更好。
把迭代的次数和混沌信号的加减手段做为密码, 更有利于保密, 如图3所示。原图像经过了数次的迭代加密后的加密过程, 可以看出图像加密的迭代次数越多, 迭代的加密图像效果越好, 其识别原图像能力也就越差, 原图像加密的效果也就越好, 解密也就越困难了。这样图像等信息的传递过程中其安全性能也就越来越高。
对于图像的解密过程就是加密图像的逆过程, 必须知道其迭代的次数和混沌信号的加减手段, 否则将无法正确解密出原图像的, 就像如图3 (g) 所示不完全知道其加密过程就会出现错误解密的图像。
3 结束语
加密技术的发展主要是在编译和破译的不断斗争逐步发展起来的, 随着社会的不断进步, 一些新的加密算法不断的涌现出来, 而利用混沌系统做为加密源, 是近年来提出的新方法。本文首先对一个四维的混沌系统对其进行仿真, 验证了系统的混沌性。然后利用该四维混沌系统对图像进行加密处理, 通过迭代的次数和混沌信号的加减手段设置为密码, 更提高了解密难度。进一步说明了该方法的实用性。另外随着混沌研究的不断深入, 混沌系统维数的将不断提高, 也将为信息加密提供更加宽广的应用前景, 这些都有待于进一步的探讨和研究。
参考文献
[1]Abarbanel D I.Analysis of Observed Chaotic Data[M].NewYork:Springer-Verlag, 1996.
[2]Hassan Khani, Paeiz Azmi.A novel multi-access scheme for UWB-PPM communication systems[J].European Transactions on Tele-communication, 2006:389-401.
[3]Felsen G, Dan Y.A natural approach to studying vision[J].Nat.Neurosci, 2005:1643-1646.
[4]朱建良, 赵洪超.一个新的四维混沌系统及其电路实现[J].哈尔滨理工大学学报, 2009.
[5]戴宗坤.信息安全应用基础[M].重庆:重庆大学出版社, 2005.
[6]李昌刚, 韩正之.图像加密技术新进展[J].信息与控制, 2003, 32 (4) :339-343.
[7]孙鑫, 易开祥, 孙优贤.基于混沌系统的图像加密算法[J].计算机辅助设计图形学学报, 2002, 14 (2) :136-139.
混沌加密技术 篇8
关键词:信息安全,密码学,混沌加密,数字图像,多混沌系统
随着计算机硬件的发展,计算机的运算速度不断提高,对很多加密算法的抗破译能力提出了挑战。经研究证明原有的一些加密方法在现有技术条件下己经不具备足够的安全性[1],因此继续研究加密技术和设计新型有效的加密算法已经成为迫切的需要。一些新兴的密码技术如量子密码技术、混沌密码技术、基于生物特征的识别理论与技术相继出现[2],这其中混沌现象以其独特的动力学特征在现代密码技术被广泛应用。
1 混沌图像加密算法设计
目前常用的一维混沌系统有Logistic系统、Rossler系统.、Tent系统、lorenz系统等。在对一维混沌加密系统进行简单的变换加密后,会转化为一种平凡混沌加密系统,难以保障其安全性[3,4,5]。
针对这种情况,本文提出一种基于多混沌的数字图像加密算法,其基本思想是利用三个不同的混沌模型,在加密算法中实现不同的功能。第一个混沌模型经过多次迭代,产生置换矩阵,对原始图像作置乱变换;第二个模型则决定各像素被修改的次序;第三个混沌模型迭代产生密钥流,依照第二个模型决定的修改次序,对置换后图像中各像素的值进行修改。
1.1 算法中用到的混沌模型
首先介绍算法中使用的三个混沌映射模型[6]。
1)第一个混沌映射模型
该模型选用了混合光学双稳模型,其迭代方程为:
当A=6,B=3时,已知该模型处于混沌状态。本论文的加密算法中,该模型用来产生置换矩阵,以便对输入的明文进行初始置换。
2)第二个混沌映射模型
该模型选用了分段线性混沌映射:
当0
3)第三个混沌映射模型
该混沌映射模型采用了目前应用最为广泛的Logistic映射:
该映射在3.5699456<μ<4时,其Lyapunov指数为正,处于混沌状态。本论文的算法中,该模型用来产生最终的密钥流,即上面提到的产生密钥流的第二级混沌系统。
1.2 图像像素位置置乱算法
考虑一幅大小为M×N,具有S级灰度的图像,设(i,j)为像素P所处的坐标,(i',j')为经过置乱后,像素P所处的坐标。其中1≤i≤M,1≤j≤N;1≤i'≤M,1≤j'≤N。图像像素位置置乱算法即要求设计映射f,使得:
映射f同时应该满足以下条件:坌(i1,j1),(i2,j2),若(i1,j1)≠(i2,j2),则(i1',j1')≠(i2',j2')。其中(i1,j1)=(i2,j2)表示i1=i2并且j1=j2。这个条件表明,图像像素置乱算法应该是一一映射的。本文利用混沌模型1,迭代产生图像置乱算法。
1.3 图像像素值替代算法
对一幅大小为M×N,具有S级灰度的图像,设rij为经过置乱后坐标(i,j)处的像素值,其中1≤i≤M,1≤j≤N。r'ij为执行完替代操作后,坐标(i,j)处的图像像素值。图像像素值替代算法即要求设计映射T,使得:
本文利用混沌模型2和3,迭代产生图像像素值替代算法。替代算法分为两步,首先利用混沌模型2产生图像像素的替代次序矩阵;然后利用混沌模型3生产密钥流,按照替代次序矩阵对图像的每一个像素加密。
2 多级混沌图形加密算法的实现
2.1 加密算法的密钥设计
本文提出的加密算法综合使用了上述3种混沌模型,每一种混沌模型的初始值和参数(共7个)都可以作为密钥。但是为了保证算法中采用的映射模型处于混沌状态,定义混合光学双稳模型中的参数A=6,B=3,定义Logistic映射中的参数μ=4,剩余的4个值作为算法的初始密钥,由用户输入。所以初始密钥K是一个4元组,包含4个子密钥:
K=(X,P,Y,Z)。
其中:
X:模型(4-1)的初值,要求0
P:模型(4-2)的参数,要求0
Y:模型(4-2)的初值,要求0
Z:模型(4-3)的初值,要求0
2.2 加密算法的实现步骤
多级混沌加密算法的实现步骤描述如下:
1)输入密钥K(X,P,Y,Z)。
2)打开待加密的图形。
3)根据像像素位置置乱算法f,对图像进行置乱处理。
4)根据图像像素值替代算法T,对图像像素值进行替换操作。
5)输出加密后的图形。
2.3 加密算法的原理图
总体上讲,上述加密算法由三个操作完成,分别是:扩展、置换和异或。其中扩展是将16位初始明文扩展为32位信息。置换是将扩展后的32位信息根据置换矩阵P进行置换,以达到“混乱”的目的;其中用到的置换矩阵由混沌模型(1)生成。异或是将置换后的结果与密钥流Keyi(i=1,2,3,……)进行异或操作,生成最终的密文;其中密钥流是通过混沌模型(2)和(3)的联合作用产生的。
初始密钥K包含4个子密钥X,P,Y,Z,分别对应3个混沌模型的初始值与参数,加密时由用户输入。
算法的原理如图1所示。
2.4 算法的实现细节讨论
该多级混沌加密算法用C++语言设计,对算法的具体实现作如下讨论:
2.4.1 算法中,对3个混沌模型的迭代分别得到不同的混沌序列
为了获得更好的伪随机性,可以舍弃初始若干次迭代所得的值,而选取第k次以后的迭代值。在本算法具体实现时,取k的值为20,即舍弃初始20次迭代的值,选取从第21次开始的迭代结果保存并使用。
2.4.2 图像像素值替代算法T中第5步,对密钥和置乱后的图形像素值进行了异或操作
对于具有S级灰度的图像,置乱后的图形像素值是S位的二进制代码。为了使混沌系统产生的实数密钥能够和S位像素值进行异或操作,以二进制代码的形式读取密钥矩阵,并取其低S位进行异或操作。实验中,S取值为8或者16。
2.5 解密过程
在解密过程中,密钥X,P,Y,Z与加密时的密钥完全一致。密钥X仍然用于生成置换矩阵,密钥P,Y,Z分别是另外2个混沌模型的初始值和参数,经过混沌迭代后,产生替换次序矩阵和密钥矩阵,用于解密。密文图形经过与密钥矩阵的异或,再进行反向置换操作,可以正确地恢复成明文图形。
3 结论
本文提出一种基于多混沌的数字图像加密算法,利用三个不同的混沌模型对数字图像进行多次置换、置乱,实现对数字图像的加密。该加密算法具有实现简单、加密速度快、安全性较高的特点。同时本算法是对称加密算法,解密时根据初始密钥进行加密过程的逆操作,就能够实现正确的解密,恢复原始信息。
参考文献
[1]杨波.现代密码学[M].北京:清华大学出版社,2003.
[2]龙冬阳.应用编码与计算机密码学[M].北京:清华大学出版社,2005.
[3]高俊山.徐松源.基于混沌理论的加密过程的研究[J].自动化技术与应用,2001,(6):13-16.
[4]Yang T,Yang L B,Yang C M.Breaking chaotic switching using generalized synchronization Examples[J].IEEE Trans.Circuits Syst.I,1998,45(10):1062.
[5]Yang T,Yang L B,Yang C M.Application of neural networks to unmasking chaotic secure communication[J].Phys D,1998,124:248.
[6]姜丽.多级混沌加密算法的研究与应用[D].华东理工大学硕士学位论文,2003.
[7]E.N.Lorenz.混沌本质[M].北京:气象出版社,1997.