混沌加密的思想自提出以后,混沌加密算法得到广泛的研究,但其中绝大多数是基于单一混沌映射系统的加密算法,如一维的Logistic映射,二维的Smale映射、Henon映射或三维的Lorenz系统等。本文在对双混沌系统应用于加密算法进行了有益的尝试和分析后,提出了基于双混沌动力系统的加密算法。该算法能够被应用于文件加密、实时数据流加密和商品的防伪等。
一、两种离散混沌系统:Cat映射和Logistic映射
1、Cat映射
Cat映射具有较好的混沌特性,其几何学解释如图所示:
从图中可以看出,Cat映射每次的运算,都经历了以下过程:正方形的点空间首先被线性拉伸,然后通过模运算分割折叠。
Cat映射是一个二维的可逆混沌映射,其动力学方程由下式表示:
由于其线性转换矩阵行列式为1,所以Cat映射又被称为是区域保留的。其李雅普诺夫指数δ1,δ2为:当a,b均为1时,就是经典的ArnoldCat映射。
2、Logistic映射
Logistic映射为自治一维离散动态系统,用一维非线性迭代函数来表征混沌行为,通过这一混沌函数可以通过微小地改变调节参数的值来产生完全不同的伪随机序列。
Logistic映射动力学方程如下:
其中μ为控制参量,μ值确定后,由任意初值X0∈(0,1),可迭代出一个确定的时间序列。对于不同的μ值,系统(2)将呈现不同的特性,随着参数μ的增加,系统(1)不断地经历倍周期分叉,最终达到混沌。称当μ=4时由系统(1)产生的序列具有随机性、规律性、遍历性、对初值的敏感性等典型的混沌特征。针对Logistic映射自身存在的问题,又出现了了一种改进的Logistic映射动力学方程如(3):
其中μ为[1,4]之间的一个实数,X0∈(0,1)。
二、基于双混沌系统的数字混沌加密算法设计
基于单一混沌系统的数字混沌加密算法,其设计的关键是对混沌映射的选择,不同的混沌映射在算法实现复杂度,算法时间和空间复杂度以及安全性等方面都有较大差异。典型的一维混沌映射有Logistic映射,其算法实现简单,运算速度较快,但密钥空间较小,安全性差。而研究较多的三维混沌Lorenz系统,其算法实现复杂,运算速度较Logistic映射慢,但密钥空间很大,安全性较高。本文所提出双混沌加密算法就是从算法的实现、速度和安全性考虑,既能达到较小的时间和空间复杂度,又能有较大的密钥空间和较高的安全性,而且能避免单混沌系统可能出现的信息泄漏问题。
加密解密流程图如图:
可以选定Cat映射和Logistic映射的初始值x0,y0,x 0和三个内部参数a,b, 作为密钥,算法中的xn,yn,x n为Cat映射和Logistic映射的中间迭代结果,具体加密算法如下:
1、针对式(1)和(3),先选定a,b,三个参数和x0,y0,x’0三个初始值作为密钥。
2、各迭代200次,得到xn,yn,x’n。
3、计算xn×yn×xn’×100,并取乘积的第2,4,6,8,10位组成一个五位十进制数与256取余,得到一个8位密钥流,与明文做异或运算,就形成一个密文字节。
4、迭代5次(从运算速度考虑),得到xn+1,yn+1,x’n+1,反复执行3、4直到所有明文字节都加密完毕。
在此,对算法作一些说明,步骤2迭代200次的目的是使Cat映射和Logistic映射都进入混沌迭代状态。从加密算法的安全性和运算速度考虑,经过测试,步骤4在每次生成一个8位密钥之后迭代5次是比较合理的。
算法流程图如图:
三、基于双混沌系统的数字混沌加密算法分析
1、安全性分析
一个好的加密算法应该能够抵御已知的解密攻击,如选择(已知)明文攻击、唯密文攻击、统计分析攻击等。以下是我对该算法所做的一些安全性分析:
(1)密钥空间分析
加密算法选定三个内部控制参数和三个初始状态作为密钥,密钥空间是很大的。即使在已知加密算法使用Cat映射和Logistic映射的情况下,攻击绕过穷举密钥攻击转而通过穷举间接获得三个内部控制参数也是不可能实现的:因为a,b参数的选择并没有范围限制,而 是一个在[1,4]内的实数。
(2)密钥敏感性分析
对Cat映射和Logistic映射的迭代初始值x0,y0,x’0分别增加10-13,并观察其密钥序列,通过统计分析发现所得到的随机序列与原始随机序列平均有99.9999%不相同。通过Matlab绘制波形图,如下图所示。
进行测试时,各内部参数设置如下:a=1;b=1;a=3.835
左图的迭代初始值为:
Cat映射:X0=0.123456123456;
Y0=0.654321654321Logistic
映射:X0=0.492673492673
右图的迭代初始值为:
Cat映射:X0=0.1234561234561(增加10-13);
Y0=0.654321654321
Logistic映射:X0=0.492673492673
(3)统计学分析
根据香农理论,任何的加密密码都可以通过基于统计分析的方法来解密。加密算法的统计学特性可以通过对比加密前后的柱形图进行分析。通过分析可得:加密文本的统计学特性发生了很大的改变。如图所示。
左图原始文本如下:
右图加密文本如下:
由于字符在计算机中是以补码来表示,所以当计算的值大于01111111(127)时,就变为不可显示的字符。因此在进行统计学分析时,对应的负值要加256转换为实际值进行分析。
2、性能分析
通过对比基于Lorenz系统的三维连续混沌加密算法进行了以下性能分析:
(1)时间代价
基于Lorenz系统连续混沌加密算法由于其连续数值的量化过程是一种不可逆变换,因此具有较好的安全性。但是,其需要经过数值积分,量化处理,因此运算速度较慢,不适合应用于实时性较高的场合。基于双混沌系统的离散混沌加密算法,由于采用了Cat映射和Logistic映射,其动力学方程简单,计算机处理的都是简单的基本运算。其加密速度与单纯Logistic映射加密算法相当,而且加密强度很高。
(2)空间代价
空间代价分为算法实现的静止空间和运行态空间。静止空间指算法变成程序后本身所占用的空间,一般表现为执行代码的长度。混沌加密算法比一般对称或不对称加密算法占有更少的静止空间。而且,由于其主要运算过程是通过迭代完成的,因此实现运行态空间运行时占用的空间很少。在空间代价上,本算法也是比较优秀的。
本文提出了一种基于双混沌系统的数字混沌加密算法,并对算法的性能进行了分析。可以看出,数字混沌加密算法可以使用基于双混沌系统或多混沌系统的混合输出作为密钥生成器,尽可能不暴露混沌轨道的直观信息和统计信息,从而增强抵御选择(已知)明文攻击。从算法实现和运行速度考虑,混沌加密算法应该尽可能地使用简单的混沌系统。
小知识香浓定理
香农定理描述了有限带宽、有随机热噪声信道的最大传输速率与信道带宽、信号噪声功率比之间的关系。
轻松上手!十大远程控制电脑软件推荐
如今,网上办公、异地协助等场景越来越普遍。你有没有碰到过这样的疑惑:在家办公,却发现公司电脑内有秘密文件;父母在家乡碰到电脑问题,但你不能亲身指导和帮助;团队人员分散在各个地区,急缺实时共享屏幕协同工作。一款好用的远程控制软件就能轻松解决各种问题。今日,便给大家推荐十款超实用的远程控制软件,让您可以随便进行远程控制。一...
秒懂!电脑屏幕实时监控软件如何帮助你管理团队
一则新闻引起了人们的密切关注。一家初创公司雄心勃勃地开启了一个关键项目,投入了大量的人力、物力和财力。但是,当项目到期时,发觉进度严重滞后,结论远未达到预估。通过调查,发觉员工在工作时间常常走神,用公司电脑刷小视频,打游戏,处理私人事务,造成工作效率极低。在目前的工作场所,团队协作面临很多考验,如何确保员工的高效工作成...
监控电脑屏幕的软件有哪些?
随着电脑使用的崛起,一些令人堪忧的问题也逐渐浮出水面。你有没有担忧过自己的电脑屏幕在不经意间被别人窥视?或者,你是否需要一个软件来监督孩子或职工的电脑使用,以保证她们远离不良记录?今天,我们来谈谈那些可以监管电脑屏幕的软件,以及它们怎样成为数据世界的守卫者。一、为什么需要电脑屏幕监控软件?电脑屏幕上的数据通常包含了我们...
数据安全小贴士:文件夹加密的简单方法
在这个信息爆炸的时代,我们每天都在与大量数据共处。从工作文件到家庭照片,从学习资料到个人信息,这些数据成为了生活中不可或缺的一部分。可是,你有没有想过,这些数据,特别是存储在电脑中的文件夹,合不合适?根据最新调研,全球每年数据泄漏造成的经济损失做到数千亿美元,数据泄漏已成为黑客入侵的重灾区。那么,怎样保护我们的文件夹免...
移动硬盘如何加密码保护?
在这个信息爆炸的时代,我们每天都在与大量数据共处。从工作文件到家庭照片,从学习资料到个人信息,这些数据成为了生活中不可或缺的一部分。移动硬盘作为我们存储和携带数据的重要手段,其安全性也越来越受到重视。你有没有想过,你的移动硬盘无意间可能成为了数据泄露的“多发区”?近些年,随着网络安全事件的高发,数据泄漏风险也不断攀升。...