一种基于双混沌映射的加密算法设计与应用.doc

上传人:吴起龙 文档编号:1592010 上传时间:2018-12-26 格式:DOC 页数:11 大小:19.78KB
返回 下载 相关 举报
一种基于双混沌映射的加密算法设计与应用.doc_第1页
第1页 / 共11页
一种基于双混沌映射的加密算法设计与应用.doc_第2页
第2页 / 共11页
一种基于双混沌映射的加密算法设计与应用.doc_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种基于双混沌映射的加密算法设计与应用.doc》由会员分享,可在线阅读,更多相关《一种基于双混沌映射的加密算法设计与应用.doc(11页珍藏版)》请在三一文库上搜索。

1、一种基于双混沌映射的加密算法设计与应用Design and application of encryption algorithm based on double chaos map LI En, WU Min, XIONG Yong-hua(School of Information Science & Engineering, Central South University, Changsha 410083, China) Abstract:The paper presented an encryption algorithm of double chaotic map based on

2、 logistic and Henon.By cascading one-dimensional chaos system and two-dimensional chaos system,used chaotic series produced by composite reconstruction in encryption for plain text.It exploited the simulated experiment platform of the algorithm.Compared with conventional DES encryption and encryptio

3、n algorithm based on Lorenz, the simulation shows that the new algorithm has good performance in balancing encryption intension and operation efficiency. Key words:logistic map;Henon map; chaos map; encryption; decryption 混沌现象是一种由确定性系统产生、对初值极为敏感、类似随机的过程,混沌信号具有类噪声、宽频谱等特性,非常适合于序列加密1,2,因此将混沌理论应用于加密,已成为

4、近年来的一个研究热点。混沌理论是一门新兴的交叉理论,其应用于密码学上,具有保密性强、随机性好、密钥量大、更换密钥方便等特点;此外,在抗干扰性、截获率、信号隐蔽等方面同样具有潜在的优势。尽管混沌加密具有上述特点和优势,但目前混沌理论在密码学上的实际应用中还存在诸多难点与问题,如混沌系统在计算机或其他数字系统实现时,由于对混沌映射的参数和状态模拟精度的限制,使混沌序列表现出短周期、强相关及局部线性的缺点,在较小精度实现下的混沌系统不适合加密。 为解决上述混沌系统安全稳定应用方面的问题,国内外研究人员从提高保密性能出发进行了许多的探索和研究。例如文献3,4将混沌加密与常规加密级联,利用混沌信号不可预

5、测性以及常规密码系统的成熟密钥空间设计技术和安全性易于评估的特性,设计出的混合密码使两类系统优点互补,但这样的系统大多是通过硬件实现的,因其运算量大,对硬件要求较高;文献5,6将多个混沌模型混合,该算法密钥空间大、对明文和密钥敏感,可以抵抗利用差分特性、统计特性和相空间重构对系统进行的攻击,但该算法选用多个混沌模型后,也同样导致计算量大增,仅适合于对安全性较高的场合;文献7,8通过伪随机序列加入扰动,使得混沌加密序列的周期更长、复杂度更高,但其参数选择和判定目前还存在一定的困难。因此,现有的对混沌理论加密的研究,往往只考虑到安全性,而没有顾及到算法的运算效率,或过多地考虑运算效率而忽视了算法的

6、安全强度,在实时性高的场合应用难度较大。 1 双混沌映射的加密与解密模型 混沌加密是利用混沌系统产生混沌序列作为密钥序列,利用该序列对明文加密,密文经信道传输到接收方;混沌是确定的,由非线性系统的方程、参数和初始条件完全决定,只要系统参数和初始条件相同,可以完全重构出来,因此接收方容易构造出与发送方同样的混沌系统,实现同步,从而将明文信号提取出来实现解密9。目前己有很多混沌和超混沌系统模型供人们研究。其中一维的有logistic映射混沌系统10、Tent映射11等;二维的有Cat映射12、Dufing方程13等;三维的有Lorenz系统14、蔡氏混沌系统15等;四维的有Rossler超混沌系统

7、等16。三维和四维的高维混沌系统相对于一维和二维的混沌系统有更大的密钥空间,其安全性较高,但其用到较频繁的浮点运算,对计算机的计算精度要求高,同时也降低了计算速度。由于高维混沌系统的应用尚处于不成熟阶段,一维logistic映射和二维Henon混沌系统更加适合于广泛应用。 1.1 Logistic映射与Henon映射 1)Logistic映射 该映射由生物学家R.May于1976年提出,是一个简单又具有重要意义的非线性迭代方程10:xn+1=xn(1-xn)。其中:xn(0,1);控制参数(0,4。该方程形式是完全确定的,也不包含任何随机因素,当3.569 945 6?獭?4时,由该映射产生的

8、序列呈现出混沌态;当取=4时,获得典型的logistic映射:xn+1=4xn(1-xn)。 Logistic映射的优点可概括为:a)对初始值非常敏感。对于相差10-16的初始值,迭代出来的轨迹差别也十分明显;混沌动力系统具有确定性,给定相同的初始值,其相应的轨迹肯定相同,可以轻而易举地获得数量极多的非相关序列,因此一般情况下,很难从一段有限长度的序列来推断出混沌系统的初始条件。b)形式简单。只要混沌映射的参数和初始条件就可以方便地生成、复制混沌序列;不必浪费空间来存储很长的整个序列。c)具备白噪声的统计特性,可以用于需要噪声调制的众多应用场合。 总体来看,logistic混沌模型的迭代方程简

9、单,混沌加密参数只有一个,这决定了其加密运算速度很快,特别比高维的混沌系统要快很多,但其密钥空间较小,安全性稍差。 2)Henon映射 天文学家Henon从研究球状星云团以及从Lorenz吸引子得到启发,在1976年提出了一个二维非线性混沌系统。其方程如下17: xk+1=1+yk-ax2k yk+1=bxk(1) 其中,当1.05 从混沌理论可知,二维的Henon映射产生的混沌伪随机序列完全满足均匀分布、-link的自相关、O互相关的性质。本文应用经典的Henon映射,主要是基于三个方面的原因:a)理论上对其混沌行为的研究比较深入;b)它具有很好的密码学特性;c)Henon映射是二维的,可提

10、供的密钥空间比较大。 1.2 双混沌映射模型框架 基于单一混沌系统或多个混沌系统的混沌加密算法,其设计的关键是对混沌映射的选择,不同的混沌映射在算法实现复杂度、算法时间和空间复杂度以及安全性等方面都有较大差异。本文所提出双混沌加密算法就是从算法的实现、速度和安全性考虑,既能达到较小的时间和空间复杂度,又能有较大的密钥空间和较高的安全性,避免单混沌系统可能出现的信息泄露问题。由此将logistic加密速度快和Henon的参数选择范围广、密钥空间大的特点结合起来,提出一种基于logistic混沌映射和Henon映射的混沌系统。其混沌加/解密框图如图1所示。 不同的文件内部格式不一样,但任何文件都是

11、以二进制形式存放在计算机中的,这一特性使得系统能够处理不同类型的文件。用户首先对明文数据进行预处理,通过编程以二进制的方式打开文件;然后选用初始值和输入参数,并将这些数作为双混沌映射模型的密钥,从而得到一个混沌序列;混沌序列与明文数据进行异或运算得到密文;解密过程与加密过程基本对应,通过双混沌映射模型,用相同的密钥输入得到混沌序列与密文异或计算得到明文。 1.3 加密与解密算法 图1中所提到的双混沌映射模型详细设计如图2所示。选定Henon和logistic映射的初始值x0、y0和三个内部参数a、b、u作为密钥,算法中的xn、yn、xn为中间迭代结果。具体算法如下: a)针对式(1),先选定H

12、enon映射的初始值x0、y0和两个参数a、b作为密钥。 b)迭代10次,得到xn、yn。 c)将x0y0的乘积值M取绝对值,将|M|-|M|得到的数作为logistic方程xn+1=xn(1-xn)的初始值,并以u为参数。如果|M|-|M|=0,则返回到a),重新输入初始值或参数。 d)迭代10次,得到xn。 e)计算xn100,并取乘积的2,4,6,8,10位组成一个五位二进制数与256取余,得到一个位密钥流,与明文作异或运算,就形成一个密文字节。 f)迭代10次,得到xn+1、yn+1、xn+1,反复执行e)和f),直到所有明文字节都加密完毕。 其中:b)和d)迭代次数保证了Henon映

13、射和logistic映射都进入混沌迭代状态,而为了保证运算速度,次数仅选10次;步骤c)是为了保证logistic映射输入初始值为01的数。 2 实验结果与性能分析 2.1 实验平台设计 双混沌映射加/解密实验平台主要要求能够读取图片,然后选择双混沌加/解密算法对图片进行加密、解密、显示、存储、传输等操作,并记录各种算法的相关性能参数。实验平台的应用软件在Windows操作系统、Visual Basic 6.0环境下开发完成,主要包括以下四个模块(图3): a)文件加载模块。主要用来选择需要加密或解密的文件,由DriveListBox控件、DirListBox控件、FileListBox控件、

14、CheckBox控件及LoadFile函数组成。 b)加密参数输入模块。五个Lable控件用来显示logistic映射和Henon映射参数输入的说明内容;五个TextBox控件用来输入初始条件和控制参数;Check-Box控件用来改变TextBox控件的PasswordChar属性,可以设置输入的数据是否显示。 c)加密效果显示模块。采用两个FileBox控件:一个用来当做输入文件的容器;一个用来显示加密文件内容,配合HScrollbar控件和VScrollBar控件在容器内实现加密文件的浏览。 d)常用控件模块。为保存加密或解密的文件,引入CommonDialog控件。三个CommandBu

15、tton控件和VScrollBar控件,一个用来对特加密文件进行加密或解密,一个用来保存加密或解密的文件,另一个为退出。保存文件是通过SaveFile语句实现的。 2.2 实验结果 通过本文所设计的双混沌映射加/解密实验平台软件,读取一幅图片,用复合迭代所产生的混沌序列对图片进行加密和解密。下面首先用本文设计的加密测试软件进行安全性测试。图4(a)是在一组内部参数设置下加密的效果图。其参数为 ?=3.835,a=1.01,b=0.3,x0=0.200 000 000,y0=0.100 000 000。对加密后的图像采用相同的密钥解密后的效果图如图4(b);(c)是将x0设为0.200 000

16、001、y0设为0.100 000 001,其他值不变的情况下得到的效果图。可见,即使密钥存在细微的差别,也不能够对密文正确地解密。仿真结果表明,算法对密钥非常敏感,这说明本文提出的基于双混沌映射的混合混沌系统对系统参数及初始条件是非常敏感的。 再用本文算法与DES加密和基于Lorenz加密进行加/解密速度比较。实验运行计算机为2.8 GHz CPU/1 GB RAM/ Microsoft Windows XP操作系统。其实验结果如表1所示。可见,本文加密方法的加/解密速度很快,因此很适用于大数据量、实时性要求高的消息加密。 表1 三种加密算法加/解密速度比较 测试图像 名称 长宽 基于双混沌

17、映射的密码 加密/s解密/s 基于Lorenz的密码 加密/s解密/s DES算法 加密/s解密/s apple 1281280.020.010.050.030.500.44 boats 2562560.030.020.060.051.921.87 forest 6404800.080.060.220.228.838.20 city 1 0247680.210.211.21.3522.4223.18 children 2 0482 0480.730.703.443.32122.10120.68 2.3 性能分析 本文提出的算法选定三个内部控制参数和两个初始状态作为密钥,密钥空间是很大的,单以两

18、种映射的初值所形成的密钥空间计算已达21032个。即使在已知加密算法使用logistic和Henon映射的情况下,绕过穷举密钥攻击转而通过穷举间接获得三个内部控制参数也是不可能实现的。与单个混沌系统产生的伪随机序列相比,本文设计的双混沌系统序列密码具有更高的安全性。另外,因为混沌加密属于序列密码,分组加密的攻击方法对它是无效的。同时,对选择明文/密文攻击方法,由于混沌的单向性和混沌信号的迭代处理,异或操作后密钥流的推断几乎不可能。而分析DES和AES算法的加密方式可知其主要是反复替代和置换,因此加密时间较长,而其56位的密钥在当前看来也显得不足。 双混沌映射加密属于流密码的范畴,其准备时间非常短。加密时由于只对数据的各个位进行异或操作,其时间主要花费在密钥流的生成操作上,相对于目前流行的分组加密算法和复杂的高维混沌加密系统,本文算法动力学方程简单,计算机处理的都是简单的基本运算,其加密效率很高。双混沌映射加密算法没有S-box空间,由于采用的双混沌映射都只是一维和二维的线性映射,临时变量也比较少;而且,它通过循环产生密钥流,循环过程中需要寄存的变量很少,实现简单。因此,其运行时占用的空间很少。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1