




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南大学毕业设计(论文) 第 1 页 HUNAN UNIVERSITY毕业设计(论文) 设计论文题目:混沌视频加密算法及其实现学生姓名:学生学号:专业班级:学院名称:指导老师:学院院长:2011年6月 1 日 湖南大学毕业设计(论文) 第 I 页 混沌视频加密算法及其实现摘 要随着计算机技术和网络技术的迅猛发展,视频应用成为网络中越来越热门的应用领域,并且已经深入人们日常生活中。在视频信号传输过程中,不可避免的会遇到视频信号被窃取的问题。对于一些有保密性质的视频信息,尤其是涉及到使用者私有信息,甚至是涉及到国家机密的视频信号,传输过程的加密和保护显得尤为重要。本文首先介绍了该课题的研究背景和研究现状;然后介绍了混沌理论和密码学的相关内容,并且描述了混沌理论如何应用于密码学之中;然后介绍了Logistic混沌方程和Henon混沌方程的基本原理和迭代过程,提出了基于这两个混沌方程的相互迭代产生的一个复合的混沌方程;由于混沌方程的迭代具有遍历性、非周期性等特性,非常适合作为密钥产生的工具。关键词:视频;加密;混沌;混沌理论;Logistic;Henon; 湖南大学毕业设计(论文) 第 28 页Chaotic Video Encryption Algorithm and Its RealizationAbstract As the rapid development of computer technology and network technology, the application of video is becoming more and more popular in this field. Moreover, it has much influence in peoples daily lives. However, in the process of video signal transmission, it will unavoidable suffer the problems of video signal stolen. For some confidential video information, especially for users private information and video information related to nation secret, the encryption and protection in the process of transmission will be very important. Firstly, the following essay will introduce the research background and the current situation in the subject; then it will demonstrate the method that chaos theory is used in cryptography; then it will present the basic principle and the iteration process of Logistic chaos equation and Henon chaos equation. Furthermore, it will present that a new mixed chaos equation can be created based on two iteration equation. Because chaos iteration equation has many features, such as ergodicity, aperiodic, it is very suitable to become a good tool for key generation. At last, by using C programming language, I achieve the chaotic encryption method.Key Words: video; encryption; chaos; chaotic theory; Logistic; Henon目 录1 绪论11.1 研究背景概述11.2 国内外研究现状和发展趋势11.3 视频加密的研究进展21.4 论文构成及内容32 应用于密码学中的混沌理论42.1混沌理论的简介42.1.1 混沌的定义42.1.2 混沌的特征42.1.3 几种典型的混沌系统52.2 密码系统的分类62.3 混沌密码学62.4 基于混沌的流密码72.5 视频加密算法的性能83 设计中的思路和算法描述103.1混沌密码的设计思路103.2混沌密码算法103.3对称密钥密码系统114 算法的软件实现134.1 开发及运行环境134.2 混沌方程的运动状态和分布情况134.3 混沌序列产生方法154.4 加密解密的过程175 软件测试及实验结果分析205.1 软件运行205.2 程序测试效果23结 论26致 谢27参考文献281 绪论1.1 研究背景概述随着多媒体技术的飞速发展和国际互联网的普及,人们可以通过网络交流重要信息、进行商业贸易等活动。人们借助于计算机连接因特网,可将各种消息(文字、图像、声音、多媒体数据等)迅速地传播到世界各地。但是人们在享受互联网带来的极大便利的同时也伴随着诸多的信息安全传输问题,信息安全已成为学术界和企业界所共同关注的研究热点和关注问题。安全功能的复杂性以及攻击手段的层出不穷,使人们迫切需要研究和开发出更多安全、高效、可靠的信息安全技术。在这种情况下,将混沌理论引入信息安全领域是当前非线性科学和信息安全科学两个学科交叉融合的热门之一1。因为,混沌理论和密码学之间具有天然的联系和结构上的某种相似性2。比如,混沌的轨道混合特性和混沌的初始值敏感性都与传统加密系统的扩散特性相对应3;而混沌信号的类随机特性和对系统参数的敏感性对应于传统加密系统的混乱特性4。由此可见,混沌所具有的优异混合特性保证了混沌加密器的扩散和混乱作用可以和传统加密算法同样好。混沌理论是近年来发展较快的非线性科学的重要分支5,因其具有非周期、连续宽频带、类噪声和长期不可预测等特点,所以特别适用于保密通信等领域。混沌是一种复杂的非线性、非平衡的动力学过程。混沌系统的行为是许多有序行为的集合,而每个有序分量在正常条件下,都不起主导作用,所以混沌看起来似为随机,但都是确定的。“蝴蝶效应”的提出就是基于混沌理论的研究6。混沌理论在加密算法的应用中十分有可行性。混沌系统由于对初值的敏感性,很小的初值误差就能被系统放大,因此,系统的长期性是不可预测的7。同时混沌序列具有很好的统计特性,所以它可以产生随机数列,这些特性很适合于序列加密技术。所以,利用混沌原理对数据进行加密,可以防范频率分析攻击、穷举攻击等攻击方法, 使得密码难于分析破译。1.2 国内外研究现状和发展趋势混沌加密是近几年才发展起来的一种加密技术,由于混沌信号对初始状态的极度敏感性、类噪声、易于产生和再生、其数学模型比较适合用计算机迭代实现等优良性质,已经吸引了越来越多的密码学者的密切关注。选择何种混沌系统才能满足密码学各项要求的混沌序列已经成为大量密码学者研究的重要方向。在应用领域中,如何保证压缩视频的安全性成为一个重要课题。视频压缩算法只是实现视频信息的压缩处理,并不具备保密功能,无法防止视频信息被盗取或攻击。近年来,随着视频信息的广泛应用,对视频保密的需求越来越多。视频加密算法在20世纪70年代被提出,在90年代后期被广泛研究。其发展主要分成3个阶段:第一个阶段主要研究置乱算法,也就是直接置乱视频信息和数据,以达到信息混乱而不被理解的目的。第二个阶段是利用密码算法对压缩的视频数据进行加密。随着多媒体的不断发展,多媒体的编码压缩标准不断提出。例如MPEG、H.264等视频压缩标准8。因此,可以将视频数据先进行压缩编码,再使用DES9、IDEA、RSA等传统加密算法实现加密。然而,由于这些算法过于复杂,不易硬件实现,将会带来不可忽视的运算负荷和时延,不能够满足多媒体实际加密时的需求。第三个阶段,采用部分加密方法来加密视频数据,即选择视频流中的一部分数据进行加密10。选择加密少量的数据可以降低计算复杂度,来满足实时性需求。然而这种加密方法存在着安全隐患。比如,只对I帧加密,对于P帧和B帧不加密,由于P帧和B帧之间会有帧内预测的宏块,并且由于帧之间的相关性,P帧和B帧会有未加密的I帧。因此,这种加密方法也被认为是不安全的。近年来,混沌序列具有容易产生,对初值敏感和类似于白噪声的特点,被认为是序列密码的很好选择。目前国内外对于混沌算法应用于数据加密传输系统中的研究已经展开,但总体来说目前的混沌加密算法的实现都是采用基于软件的方式完成,加密速度和实时性并不十分理想。这也就表示,在未来更加广阔的信息时代中,针对于视频加密技术来说,基于混沌序列密码以及流密码算法的研究将成为视频加密系统中的新领域和新方向。1.3 视频加密的研究进展随着视频越来越广泛的应用,相应的安全问题也越来越严重了。近年来,视频加密算法得到不断的发展和改进。现有的算法多种多样,基本上有两种:直接加密算法、选择性加密算法。(1)直接加密算法11直接加密算法是将视频数据当作普通二进制数据,因此可以使用传统的加密算法,如DES、IDEA、RSA等来加密。这些方法具有很高的安全性,但是由于加密的数据量大,导致效率很低,难以满足实时性的要求。由此,一些新型的加密算法,例如基于混沌的加密算法,不断出现。(2)选择性加密算法12在视频编码过程中,选择加密一部分关键数据,称作选择性加密方法。此方法具有相容性,多媒体数据通常具有数据量大的特点,通过选择加密一部分数据,可以降低加密的数据量,提高加密效率。最基本的选择性加密算法是基于MPEG的IPB帧结构的,也就是仅加密其中的I帧。后来又出现了新的MPEG流的加密算法,称作SECMPEG。它将选择性加密和附加头信息结合到一起。选择性加密方法有很多,包括空域选择加密、变换域加密、熵编码过程加密等等。1.4 论文构成及内容本论文共分五章:第一章为绪论。第二章简单介绍了密码学中的混沌理论。对密码学和混沌学中的基本内容和特征进行了总结和论述,同时介绍了混沌是如何应用于密码学中的。第三章介绍了我在设计时所用的思路和对其中的算法进行了描述。主要介绍了如何使用混沌产生密钥和选用的对称密钥密码系统。第四章介绍了如何用C语言实现了混沌视频加密算法,简单介绍了软件开发和运行的环境,说明了如何通过复合混沌方程迭代产生密钥,也阐述了该程序是如何对视频进行加密的。第五章简单的介绍了程序的操作方法,并从理论上分析了这种加密程序的安全性,又从实验角度得出了这种加密程序的时效性。最后的结论是对论文进行了总结,同时强调了复合混沌加密的优点,并且思考了一些不足和有待完善的地方。2 应用于密码学中的混沌理论2.1 混沌理论的简介2.1.1 混沌的定义“混沌”一词最早出现的意思是“杂乱无章、混乱无序”。然而,时至今日,混沌在不同的领域中广泛的应用。因此,对于混沌的定义也就多种多样了。由于混沌系统的奇异性和复杂性,至今人们还没有一个统一的定义。通常认为,混沌就是指确定系统中出现的一种类似于无规则的、类似随机的现象。混沌不是简单的无序,而是没有明显的周期的对称,却具有丰富的内部层次的有序结构。混沌这一学说在许多方面都有应用。在数学领域,混沌是指发生在确定性系统中的貌似随机的不规则运动,一个确定性理论描述的系统,其行为却表现为不可重复、不可预测,这就是混沌现象。进一步研究表明,混沌是非线性动力系统的固有特性,是非线性系统普遍存在的现象。在现代科学中,其应用更加的高深,可以说混沌轨道的运动完全受规律支配,但相空间中轨道运动不会中止,在有限空间中永远运动着,不相交也不闭合。混沌运动表观上是无序的,产生了类随机性,也称内在随机性。而在在非线性科学中,混沌现象指的是一种确定的但不可预测的运动状态。它的外在表现和纯粹的随机运动很相似,即都不可预测。但和随机运动不同的是,混沌运动在动力学上是确定的,它的不可预测性是来源于运动的不稳定性。或者说无限小的初值变动对混沌系统都有影响具于敏感性,无论多小的扰动在长时间以后,也会使系统彻底偏离原来的运动轨迹。2.1.2 混沌的特征混沌的运动具有通常确定性运动所没有的特征,混沌具有以下几个方面的特征。13(1)遍历性:混沌运动轨道局限于一个确定的区域,混沌轨道经过该区域内的每一个状态点。(2)整体稳定局部不稳定:稳定性是指系统受到微小的扰动后,系统仍保持原来状态的属性和能力,而在整体稳定的情况下局部是不稳定的。(3)对初始条件的敏感依赖性:也就是初始条件的微小变化,在混沌系统中不断放大,都可能对长期的状态有巨大影响。“蝴蝶效应”的理论也可以指代混沌的这种特性。(4)长期不可预测性:由于混沌系统的轨道的不稳定性和对初始条件的敏感性,注定混沌系统不能长期预测将来某时刻的状态。实际上混沌的特性还有很多,这里就不一一列举了。以上几个特性是混沌的常见特性,正式由于这些特性,才使得混沌理论可以很好的与密码学结合。2.1.3 几种典型的混沌系统(1)抛物线映射:抛物线映射是一类混沌映射的统称,通常所说的logistic映射和虫口模型都属于抛物线映射。它的标准写法为,见式(2,1):Xn+1=Xn(1-Xn) 0, 4,Xn0, 1 (2,1)或者见式(2,2)Xn+1=1-Xn2 0,2, Xn-1,1 (2,2)虽然它仅仅是一维区间映射,却能产生复杂的混沌行为,且研究比较方便。(2)Henon映射: Henon映射的方程为,见式(2,3):Xn+1=-pXn2+yn+1yn+1=qXn (2,3)(3)Arnold映射 Arnold的方程定义为,见式(2,4):Xn+1=Xn+yn (mod1)yn+1=Xn+2yn (mod1) (2,4)(4)Lorenz系统 该系统是美国气象学家Lorenz得到的第一个表现奇异吸引子的动力学系统,其方程如下,见式(2,5):x=-x+yy=x-y-xzz=-z+xy (2,5)2.2 密码系统的分类1、明文变换到密文(1)代替:即明文中的每一个元素被映射为另一个元素。该操作主要达到非线性变换的目的。(2)换位:即明文中的元素被重新排列,是一种线性变换。2、所用的密钥数量(1)单密钥加密:也就是对称加密,发送者和接收者使用相同的密钥。(2)双密钥加密:也称之为非对称加密,发送者和接收者各使用不同的密钥,两个密钥形成一个密钥对,分别是公钥和私钥。3、明文被处理的方式(1)分组加密:一次处理一块元素的输入,对每个输入块产生一个输出块。(2)流加密:也叫做序列密码,连续的处理输入元素,并随着此过程进行,一次产生一个元素的输出,即一次加密一个比特或一个字节。密码系统的分类是非常重要的。在编写加密算法和程序时,往往需要从这几个方面去考虑来决定加密系统的实现方式。2.3 混沌密码学密码学中用于指导密码设计的两个基本原则:扩散和混乱。扩散是将明文冗余度分散到密文中使之分散开来,以达到隐藏明文的信息结构;混乱则是用于掩盖明文、密文和密钥之间的关系,使密钥和密文之间的统计关系变得尽可能的复杂。混沌的轨道发散特性和初值敏感性对应于传统加密系统的扩散特性,而混沌信号的类随机特性和对系统参数的敏感性对应于传统加密系统的混乱特性。由此可见,混沌具有着优异的混合特性,保证了混沌加密的扩散和混乱作用可以和传统加密算法一样好。由于混沌和密码学之间具有的天然的联系和结构上的相似性,使得混沌非常适合应用于密码学领域。然而混沌理论并不等同于传统密码学,两者之间有很多相似点和不同之处。如表2.1所示就能够清晰的比较两者。表2.1 混沌理论与传统密码学的相似与不同之处混沌理论传统密码学相似点对初始条件和控制参数极其敏感性扩散类似随机的行为和长周期的不稳定轨道伪随机信号混沌映射通过迭代,将初始域扩散到整个相空间密码算法通过加密产生预测的扩散和混乱混沌映射的参数加密算法的密钥不同点混沌映射定义在实数域内加密算法定义在有限集上无特定的安全性和性能分析理论密码系统安全性和性能的分析理论2.4 基于混沌的流密码流密码将明文分成连续的符号或比特x=x1,x2,用密钥流k=k1,k2,的第i个元素ki对xi加密,也可以表示成Ekx=Ek1x1Ek2x2。如果密钥流经过若干符号之后重复,则称此流密码是周期的;否则,称之为非周期的。在流密码中,密钥流元素kj的产生是由第j时刻流密码的内部状态j和实际密钥的k所决定,可以写作kj=f(k,j)。加解密变换是时变的,时变性由加解密系统中的记忆元件来保证。在流密码中,加密系统中的存储状态随时间的变化而变化。这一变化过程可以用一个函数来描述,可以将它表示为fs,称之为转移函数。根据转移函数是否依赖于输入的明文符号,可将流密码分成两类,同步流密码和自同步流密码。在同步流密码中,状态转移函数fs于输入的明文符号无关。因此,密钥流kj与明文符号无关,而j时刻输出的密文cj也并不依赖于j时刻之前的明文符号。也就是说,同步流密码的加密部分可以划分为密钥流生成部分和加密变换部分,密钥流生成部分是可以进行伪随机序列的生成。总而言之,在同步流密码中,只要收发双方有相同的密钥k和内部状态就能够产生相同的密钥流。而自同步流密码中,状态转移函数fs与输入的明文符号有关。此时,密钥流kj与明文符号相关,j时刻输出的密文cj不仅仅依赖于密钥流,更依赖于明文符号。密码反馈是自同步流密码的一种最常用的工作模式。2.5 视频加密算法的性能用于安全加密的算法必须满足一下方面:(1)核心的加密算法必须是公认可靠的;(2)加密系统的实现必须是可靠的;(3)加密系统应当能够支持足够长的密钥。对于视频信息,它具有信息量大、实时性高、通信连续等特性,因此视频加密算法相对于常规信息而言又具有特殊的要求。以下几个方面的指标可以用来评价视频加密算法的优劣。1、安全性。当破译密码所需付出的代价大于直接购买视频所需的代价时,密码系统是安全的。如果将视频看作普通的二进制数据,可以用传统加密方式对视频进行加密。由于视频数据信息量大,破译者需要对数据进行大量的解码操作,这将大大增加破译难度,但是本身加密的成本也会成倍增加。所以,在保证安全性的条件下,可以使用特殊的、快速的加密算法。2、实时性。在很多视频应用场合,比如视频会议等都需要视频传输具有实时性,因此视频本身的复杂度不能太高。3、压缩比不变性。这种性质是指加解密的前后数据量保持不变。使用具有压缩比不变性的算法加密的数据,在储存过程中不改变占用的空间,在传输过程中保持传输速度不变。因此,理想的视频加密算法应该具有压缩比不变性。4、数据格式不变性。数据格式不变性是指加解密前后的视频数据的格式信息保持不变。这样可以实现视频数据的时间定位,也能支持视频数据的添加、删除、剪切和粘贴等操作。5、容错性。由于视频的传输过程中存在着干扰,因此视频加密算法应该有一定的抗噪声能力,能够有效的防止错误扩散。6、数据的可操作性。在某些情况下,要求对加密后的数据进行直接操作,包括码率控制、图像的剪切粘贴等操作。7、安全等级可控性。根据视频实际应用场合,调节加密参数,能够较好的控制加密的强度。由上述内容可以看出,安全性越高,需要加密的数据量就越大,算法复杂度就越高,算法效率也就越低。然而实时性越高,加密的数据量越小,安全性可能得不到保证。因此,在加密视频过程中,应当选择合适的方法使得这些指标达到平衡。3 设计中的思路和算法描述3.1 混沌密码的设计思路从总体上来看,混沌加密的密码主要有以下三种设计思路。(1)使用混沌系统生成伪随机密钥流,该密钥流直接用于掩盖明文。这类加密方案需要深入研究混沌加密的原理,这一方案是利用混沌方程的算法产生随机数的理论和离散化实现技术。(2)使用明文或密钥作为初始条件或控制参数,通过迭代或者反向迭代多次的方法得到密文。(3)利用混沌来构造公开密钥密码。这一项还处于初期阶段,混沌的公钥加密方案的研究还在进行当中,而且目前的研究实用性还较差。由上可以看出,第一种思路对应序列密码,而第二种思路则对应着分组密码。在我的设计当中,应用的正是第一种思路。因为第一种思路是要产生一个伪随机数列,如果选用第一种思路,就要实现一个伪随机数发生器。从直观的角度来看,伪随机数发生器是在有限的系统中实现的,它能够产生类似随机性的数字序列。虽然伪随机数发生器产生的序列是有周期的,但其周期非常的长,因此可以直接用于加密系统中,并且可以有比较好的安全性。3.2 混沌密码算法由之前的介绍可以看出,混沌序列具有初值敏感性、类随机性、不可预测等特性。如果将系统的参数或初始条件作为密钥,混沌加密系统就会成为一个具有很好的密码特性的加密系统。因为混沌密码具有混合特性又具有扩散特性,非常符合密码学的要求。如果将它应用于加密解密,产生密码的算法非常的方便,而且加解密速度快,安全性高。但是直接使用混沌序列来进行加密的话,破解者可以通过已知明文重构序列来获得密钥。因此,为了更好的实现混沌密码在加解密中的应用,必须要经过一定方式的处理。以下有几种处理的方式。(1)增加迭代次数这种算法是将一维分段线性混沌映射产生的混沌序列间隔m次取值,用获得的序列再和明文异或,实现加密,其中的m也可以作为密钥。解密的时候,将密文与正确的混沌序列异或,即可得到明文。这种方法可以有效的抵御已知明文的攻击,但是缺点是减小了混沌序列的周期。(2)复合混沌映射复合混沌是指使用多个混沌映射复合构成一个新的混沌系统,每个混沌映射经过周期循环来产生密钥流。复合混沌系统具有混沌吸引子和对初值的敏感性。采用这种混沌系统生成的序列,增加了密钥流的复杂性,使得明文的每一位与密文的若干位有关,提高了破译密码的难度。(3)映射参数可变的算法为了提高混沌序列的随机统计特性,增加混沌序列的复杂性,延长周期,抵御已知明文攻击,可以使用一种随机改变混沌映射参数的方法。这种算法可以看成是由n个具有不同参数的一维分段线性混沌级联而成。这种方法能够增大混沌序列的周期,因为即使出现了相同的混沌序列值,只要参数不相同,混沌序列也不会陷入循环,从而增大混沌序列的周期,并且混沌系统的参数从一个增大到n个,加大了破译难度。以上几种算法是为了更好的应用混沌序列密码,我在设计中使用的是第二种算法来增加加密系统的安全性。使用复合方式能够使混沌特性更加的优良,保密性能更高。3.3 对称密钥密码系统 对称密钥密码系统的模型如图3.1所示:消息源秘密通道密码破译者密钥源目的地加密算法解密算法图3.1 对称密钥密码系统模型在这一模型中,消息源产生明文消息X=X1,X2,XM。X的M个元素是某个有限字母表的字母。该字母表通常由26个大写字母组成,目前使用的典型字母表是二进制字母表。为了加密,产生形式为K=K1,K2,Kj的密钥。密钥K的所有可能值得范围成为密钥空间。若该密钥在消息源产生,则它必须通过某种加密心道提供给目的地,或者采用另一种方式,由第三方密钥源产生密钥,并将其安全的传递到消息源和目的地。加密算法、解密算法可以公开,密码破译者可以获得加密的密文但接触不到密钥和明文。加密时,将明文和密钥输入到加密算法E中,产生出密文Y=Y1,Y2,YM,可以表示为Y=EkX;解密时,要将Y和K输入到解密算法D中,恢复出明文X,可表示为X=Dk(Y)。我在设计中使用了对称密码加密系统,因为该系统具有加密速度快和安全强度高的优点,但是它存在着一个薄弱的环节,就是密钥的管理和分配。由于加密解密双方都要使用相同的密钥,因此在发送、接收数据之前,必须完成密钥的分配。4 算法的软件实现4.1 开发及运行环境操作系统为Windows 7,软件的开发平台为Microsoft Visual C+6.0,使用的语言是C语言。如果要运行的话,Visual C+6.0以上的版本都可以运行,因为开发平台可以向下兼容。4.2 混沌方程的运动状态和分布情况在设计中,我采用的是Logistic映射和Henon映射相结合产生的符合混沌方程来实现混沌序列的产生。使用复合混沌的算法可以增加密钥的复杂度,增加破译的难度。对于这两个方程的映射是设计中的重点内容。(1)Logistic映射Logistic模型又称虫口模型,它最初是用来描述昆虫种群增长数量的。设xn是某种昆虫第n年内的个体数目,n取整数值,第n+1年的数目为xn+1,最简单的虫口模型是Logistic方程,见式(4,1):xn+1=xn(a-bxn) (4,1)其中a为增长率,-bxn考虑到食物等有限因素而引起虫口饱和。为了处理上的方便,设a=b=,考虑关系式,见式(4,2):xn+1=xn(1-xn) (4,2)其中xn不在是种群数量,而是当前数量和该地区能容纳最大数量的比率。若虫口数量不变,即xn+1=xn,意味着x0=1-1,但x0不都是稳定的。对于方程fx=x(1-x),当参数变化时,dfdx随之变化,而只有当dfdx1时,x0才是稳定的。随着的取值变化,x的取值范围由周期逐渐加倍进入混沌。根据的不同,有以下几种情况:a. 当01时,由函数fx=x(1-x)所决定的离散混沌动力系统的行为十分的简单,除了x0=0不动点之外,再也没有其他的周期点,也就是说这些虫子很可能是要被自然所淘汰。b. 当13 时,系统的动力学特征也比较简单。 0,1-1为仅有的两个周期点,且1-1为吸引不动点。c. 当34 时,系统的动力学特性十分复杂,系统由周期状态进入混沌状态。也就是说,在这个状态下,x的取值范围是非常广的,而且取值是一种貌似无规律的状态,非周期,不收敛,迭代生成的值是以一种伪随机分布的状态,而且越接近4,x的分布就越接近平均分布整个0,1的区间。为了直观的显示Logistic映射的状态,可以用图表来表现其分布,如图4.1所示:图4.1 Logistic映射分布这是一个经典的Logistic映射的分布图,从此图可以看出,当3.5699456x4时,迭代生成的值是出于一种伪随机分布的状态。在这一区域当中,是最有研究和应用价值的,虽然本身在生成混沌序列有一定的缺陷,但是经过改进之后,可以被设计成各种各样的加密算法。因此,Logistic映射是被研究的最广泛的映射之一。(2)Henon映射Henon映射也是混沌学中的一个经典的模型,是1964年Henon在研究宇宙模型时,在Lorenz模型下的影响之下而提出的。其定义如下,见式(4,3): xn+1=1-axn2+ynyn+1=bxn (4,3)由这个方程组可以看出Henon映射是一个二维映射,相对于Logistic映射来说,Henon映射更加的复杂一些,产生的映射分布也比Logistic映射复杂一些。二维Henon映射如下图4.2所示:图4.2 Henon映射分布由上图可以看出,Henon映射的分布是一种始终限于有限区域的且状态复杂微妙让人难以捉摸的运动。4.3 混沌序列产生方法本设计中使用经典的Logistic映射和Henon映射,构造出一个复合的混沌系统。(1)两个经典方程的定义#define u 3.9585 /Logistic混沌映射系数( 3.7u=4 )double f1( double x ) /Logistic混沌映射 return ( u * x * ( 1 - x );double f2( double x ,double y ) /Henon混沌映射 return (1 - 1.4 * x *x + 0.3 * y );我定义了两个方程函数f1和f2,方便后面的迭代使用。其中Logistic混沌映射的参数被定义为u=3.9585,因为由上述论述得出u越接近4,映射的区域就越平均分布于整个0,1这个区间,这样可以使得混沌分布更加的具有随机性。而Henon混沌映射选用的参数是a=1.4,b=0.3。(2)两个方程的迭代方式 for( int a = 1; a = N; a+ ) /完成迭代 temp=f1(code0); code0=temp; temp1=f2(temp,code1); code1=temp1; if( code0 1 )/经过Henon的映射至可能大于1,需要调整以保证下次的输入条件 code1= code1 - 1; for( int j = 0; j =j0?j=0:j+,fp2);/*异或后写入fp2文件*/ ch=fgetc(fp1); v+; /*统计视频字节数*/在这一过程中,ch这个变量是关键性的变量,它对于整个算法的速度影响是很大的。ch的作用是读取一个待加密视频的一个字符,然后与密钥的一个数组内的字符异或,将运算得到的数据存放到fp2中,然后重新读取待下一个加密视频的字符。这样循环往复,直到文件结束。在这里,ch被定义为寄存器变量的目的是将数据存放在CPU的寄存器或动态存储区中,这样可以提高存取的速度,因为寄存器的存取速度比内存快得多。这样可以大大提高加密的速度。而且,在异或的语句操作里,我使用了三目运算符,j=j0?j=0:j+。这样可以使语句更加的简洁。v是我定义的一个统计字节数的变量,同时我也在程序的开始和结束处定义了时间变量,用于统计算法执行的时间。首先是定义时间变量,clock_t start,finish; double duration;在加密过程的开始使用语句,start=clock();在加密过程结束处使用语句,finish=clock();用duration计算所用的时间,duration=(double)(finish-start)/CLOCKS_PER_SEC;为了进行算法的时效性分析,计算所用的时间和视频大小是非常有必要的。所用时间包括得到密钥的时间加上加密视频所用的时间。5 软件测试及实验结果分析5.1 程序运行打开“混沌加密视频.exe”,开始程序。如图5.1.1图5.1.1 程序开始界面如果是加密视频,需要选择1,然后需要输入要加密的视频文件名。如下图5.1.2所示图5.1.2 输入要加密的文件名接下来需要输入2个四位整数密码,这2个四位整数作为混沌方程迭代产生密钥流的初始输入,然后再输入一个加密后的视频名,这个加密后的视频是一个中间文件,本身是不能够打开的。输入完成后得到结果,如图5.1.3图5.1.3 加密视频后的结果有结果我们可以看出,该视频的大小为2533380字节,加密用时0.281秒,大约速度为10MB/s。解密时的操作和加密过程基本相似。选择选项2,然后输入刚刚加密后的视频名、两个四位整数和解密后的视频名。即可得到结果,如图5.1.4图5.1.4 解密后的结果这样加密解密的过程就完成了。经过视频的打开验证得知,hundun.avi是打不开的,它只是一个中间文件。logo2.avi能够打开,并且与原文件一致,说明加密解密过程并没出现问题。5.2 程序测试效果对于加密算法的好坏,需要考虑到它的安全性,同时还需要时效性,也就是要速度快。根据之前的分析和论述,我们可以知道复合混沌方程的迭代是可以产生伪随机数列的,而且在我的程序中,我的密钥长度为1*105,密钥循环一次大约可以加密100kb大小的视频数据。由于周期非常的长,而且又是伪随机数列,那么安全性基本保证。同时,对于时效性来说,该程序是否能够快速的加密就需要验证。在验证过程中,我选择了不同类型的视频文件,大小都是1G左右。通过大数据的视频文件可以清晰的看出程序加密的速度。首先,测试一个名为“dvd.mp4”大小为714MB的视频文件和一个名为“soldier.rmvb”大小为967MB的视频文件,测试结果如图5.2.1和图5.2.2图5.2.1 对于dvd.mp4的加密和解密操作图5.2.2 对于soldier.rmvb的加密解密操作经过验证,加密得到的中间文件hundun1.mp4和hundun2.rmvb都是不能够打开的。而decode1.mp4和decode2.rmvb都可以顺利的打开,并且经过我的验证,解密后的视频与原视频一致。同时可以看到,加密和解密用时都是不到一分钟。这个时间是包括密钥流的产生时间和加密视频的时间,速度是大于10MB/s。由此我们可以看出,混沌加密算法的应用性能是比较强的。它能在保证安全性的同时,又拥有很快的加密速度。因为如果破解一个视频需要的代价大于本身视频具有的价值,那么破解就变得没有意义了。尽管在安全级别很高的方面不太适合,但对于平时生活中需要加密的视频文件来说这是一个不错的选择。结 论在这个设计中,我采用了复合混沌方程作为产生密钥流的手段,因为混沌方程可以通过不断的迭代产生类似于随机的数列,将这样的数列作为加密程序的密钥是非常符合加密算法的要求的。如果密钥是完全随机的,那么破译密文就会变得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 芜湖小作坊管理制度
- 英语绘本馆管理制度
- 草原属书屋管理制度
- 胆固醇测定试剂盒分析性能评估资料
- 让人舒服的沟通技巧
- 财务会计工作职责和内容感想总结范文15篇
- 财务会计业务知识题库真题
- 试验检测师(公共基础)考试历年真题题库(含答案)
- 江苏省常州市前黄高级中学2025届高三下学期攀登行动(一)地理试卷(含答案)
- 湖南省2025年中考地理真题(含答案)
- 《湖南省职工基本医疗保险门诊慢特病基础用药指南(第一批)》
- 四川省南充市2023-2024学年高一下学期期末考试历史题
- 2024年中考地理真题(带答案)
- GB/T 718-2024铸造用生铁
- 人力资源管理体系设计全案
- 八年级地理会考复习知识点
- 屠户吹狼阅读答案
- GJB3206B-2022技术状态管理
- SYT 6883-2021 输气管道工程过滤分离设备规范-PDF解密
- JTJ-248-2001港口工程灌注桩设计与施工规程-PDF解密
- 2024年4月自考00840第二外语(日语)试题
评论
0/150
提交评论