一、混沌的基本原理
混沌是一种复杂的非线性、非平衡的动力学过程,其特点为: (1)混沌系统的行为是许多有序行为的集合,而每个有序分量在正常条件下,都不起主导作用;(2)混沌看起来似为随机,但都是确定的;(3)混沌系统对初始条件极为敏感,对于两个相同的混沌系统,若使其处于稍异的初态就会迅速变成完全不同的状态。
1963年,美国气象学家洛伦兹(Lorenz)提出混沌理论,认为气候从本质上是不可预测的,最微小的条件改变将会导致巨大的天气变化,这就是著名的“蝴蝶效应”。此后混沌在各个领域都得到了不同程度的运用。20 世纪80 年代开始,短短的二十几年里,混沌动力学得到了广泛的应用和发展。
二、混沌在加密算法中的应用
混沌系统由于对初值的敏感性,很小的初值误差就能被系统放大,因此,系统的长期性是不可预测的;又因为混沌序列具有很好的统计特性,所以它可以产生随机数列,这些特性很适合于序列加密技术。信息论的奠基人美国数学家Shannon指出:若能以某种方式产生一随机序列,这一序列由密钥所确定,任何输入值一个微小变化对输出都具有相当大影响,则利用这样的序列就可以进行加密。混沌系统恰恰符合这种要求。
混沌系统的特性使得它在数值分布上不符合概率统计学原理, 得不到一个稳定的概率分布特征;另外, 混沌数集是实数范围, 还可以推广到复数范围。因此, 从理论上讲, 利用混沌原理对数据进行加密,可以防范频率分析攻击、穷举攻击等攻击方法, 使得密码难于分析、破译。
从1992年至今,混沌保密通信经历了四代。混沌掩盖和混沌键控属于第一代混沌保密通信技术,安全性能非常低,实用性大大折扣。混沌调制属于第二代混沌保密通信技术,尽管第二代系统的安全性能比第一代高,但是仍然达不到满意的程度。混沌加密技术属于第三代混沌保密通信,该类方法将混沌和密码学的优点结合起来,具有非常高的安全性能。基于脉冲同步的混沌通信则属于第四代混沌保密通信。
三、混沌加密算法的性能评估
参考美国国家标准与技术协会(NIST)的评判规则LNIST的评判规则大体分为三个部分:安全性、代价和算法实现特性。介绍了一种基于Lorenz系统的混沌加密算法,以此标准分析了其性能,并将其与当前通用加密算法进行比较。
1.安全性分析
首先,混沌系统对初始值和参数非常敏感,可以提供很大的密钥集合,完全满足加密的需要。通过对混沌系统生成的二进制序列进行检验,0和1的分布均匀,游程符合随机数要求,可以认为是随机序列。其次,混沌加密属于流密码,对分组加密的攻击方法是无效的。同时,对选择明文ˆ密文攻击方法,由于混沌的单向性和混沌信号的迭代处理,异或操作后密钥流的推断几乎不可能。
2.代价分析
算法的代价包括时间代价和空间代价。时间代价又分为准备时间和加密时间。通常,加密前的准备时间主要是用来完成生成子密钥,加密时间主要是在子密钥的控制下对明文数据进行变换。混沌加密属于流密码的范畴,它的准备时间非常短;加密时由于只对数据的各个位进行异或操作,其时间主要花费在密钥流的生成操作上,相对于目前流行的分组加密算法,其时间花费也是很少的。空间代价分为算法实现的静止空间和运行态空间。静止空间指算法变成程序后本身所占用的空间,一般表现为执行代码的长度。运行态空间指在加密过程中算法所需要的临时空间。混沌加密算法没有S-box空间,临时变量也比较少,而且,它通过循环产生密钥流,循环过程中需要寄存的变量有限,因此,其运行时占用的空间很少,在空间代价上是比较优秀的。
四、混沌加密算法存在的问题
1.短周期响应
现有的混沌序列的研究对于所生成序列的周期性伪随机性、复杂性、互相关性等的估计是建立在统计分析上,或是通过实验测试给出的,这难以保证其每个实现序列的周期足够大,复杂性足够高,因而不能使人放心地采用它来加密。例如,在自治状态下,输入信号为零时,加密器表现为有限周期响应。不同初始状态对应于不同周期,其周期长度可能很短,这一缺点在某种程度上降低了混沌加密系统的保密性。
2.有限精度效应
混沌序列的生成总是要用有限精度器件来实现的,从而混沌序列生成器可归结为有限自动机来描述。这样,混沌生成器能否超越已有的用有限自动机和布尔逻辑理论所给出的大量研究成果,是一个很值得研究的课题。大多数在有限精度下实现的混沌系统,其性质会与其理论结果大相径庭,从而使许多基于混沌系统的应用无法实现。甚至有学者认为,有限精度效应是目前混沌理论走向应用中出现的一大难题。
3.实现精度与保密性的矛盾
对于分段线性的混沌映射加密系统,相邻的两个状态可能落在同一条直线段上。在数字实现精度很高的情况下,解密者就可利用这个特点,在知道少量的明文--密文对照的情况下轻易地恢复出具有足够精度的密钥。也就是说,它对于选择明文攻击抵抗力很差,从而在这一意义上不具有保密性。但随着人们对混沌加密技术的不断研究和开发,难题终将会一一化解,混沌加密技术也将会为人们的生活带来宝贵的实用价值。 |