混沌加密技术主要是利用由混沌系统迭代产生的序列(即把两个十分相近的初值带入到同一个混沌函数进行迭代运算,经过一定阶段的运算后,数值序列变得毫不相关),作为加密变换的一个因子序列。
混沌的基本原理
混沌是一种复杂的非线性、非平衡的动力学过程,其特点为:
1、混沌系统的行为是许多有序行为的集合,而每个有序分量在正常条件下,都不起主导作用。
2、混沌看起来似为随机,但都是确定的。
3、混沌系统对初始条件极为敏感,对于两个相同的混沌系统,若使其处于稍异的初态就会迅速变成完全不同的状态。
混沌加密技术的优点
混沌加密技术应用于密码学上,具有保密性强、随机性好、密钥量大、更换密钥方便等优点。此外在抗干扰性、截获率、信号隐蔽等方面同样具有潜在的优势。
混沌加密技术的应用
从理论上讲,混沌加密技术既可以对文件加密,还可以防范频率分析攻击、穷举攻击等攻击方法,使得密码难于分析、破解。
混沌加密技术的性能分析
一、混沌加密技术的安全性分析
1、混沌系统对初始值和参数非常敏感,可以提衡良大的密钥集合,完全满足加密的需要。通过对混沌系统生成的二进制序列进行检验,0和1的分布均匀特质符合随机数要求,可以认为的是随机序列列。
2、混沌加密属于流密码,对分组加密的攻击方法是无效的。由于混沌的单向性和混沌信号的迭代处理,异或操作后密钥流的推断几乎不可能。
二、混沌加密技术的代价分析
混沌加密技术的代价包括时间代价和空间代价。
1、时间代价又分为准备时间和加密时间。通常,加密前的准备时间主要是用来完成生成子密钥,加密时间主要是在子密钥的控制下对明文数据进行变换。混沌加密属于流密码的范畴,它的准备时间非常短,加密时由于只对数据的各个位进行异或操作,其时间主要花费在密钥流的生成操作上,相对于目前流行的分组加密算法,期时间花费也是很少的。
2、空间代价分为算法实现的静止空间和运行态空间。静止空间指算法变成程序后本身所占用的空间,一般表现为执行代码的长度。运行态空间指庄加密过程中算法所需要的临时空间。混沌加密算法没有S一BOX空间,临时变量也比较少。而且它通过循环产生密钥流,循环过程中需要寄存的变量有限,因此,其运运行时占用的空间很少,在空间代价上是比较优秀的。
三、混沌加密技术的实现特性
混沌加密算法的加密和解密过程是可以重用的,这样其所占用的空间大大缩小。它的软件和硬件实现特性都比较好,已经分别用c++和java语言实现了混沌加密算法,基于混沌加密算法的DSP也已经开发设计完成。
混沌加密技术存在的问题
混沌加密技术存在问题一、短周期响应
现有的混沌序列的研究对于所生成序列的周期性伪随机性、复杂性、互相关性等的估计是建立在统计分析上,或是通过实验测试给出的,这难以保证其每个实现序列的周期足够大,复杂性足够高,因而不能使人放心地采用它来加密。不同初始状态对应于不同周期,其周期长度可能很短,这一缺点在某种程度上降低了混沌加密系统的保密性。
混沌加密技术存在问题二、有限精度效应
混沌序列的生成总是要用有限精度器件来实现的,从而混沌序列生成器可归结为有限自动机来描述。这样,混沌生成器能否超越已有的用有限自动机和布尔逻辑理论所给出的大量研究成果,是一个很值得研究的课题。大多数在有限精度下实现的混沌系统,其性质会与其理论结果大相径庭,从而使许多基于混沌系统的应用无法实现。
混沌加密技术存在问题三、实现精度与保密性
对于分段线性的混沌映射加密系统,相邻的两个状态可能落在同一条直线段上。在数字实现精度很高的情况下,解密者就可以利用这个特点,在知道少量的明文一密文对照的情况下轻易地恢复出具有足够精度的密钥。也就是说,它对于选择明文攻击抵抗力很差,从而在这一意义上不具有保密性。
随着人们对混沌加密技术的不断研究和开发,难题终将会一一化解,混沌加密技术也将会为人们的生活带来更多的利用价值。
小知识之混沌理论
混沌理论(Chaos theory)是关于非线性系统在一定参数条件下展现分岔(bifurcation)、周期运动与非周期运动相互纠缠,以至于通向某种非周期有序运动的理论。