混沌加密学概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
混沌加密学概述
摘要—混沌加密学近来成为了许多研究人员究人员研究的话题。本文将以一种更接近加密学和混沌理论的精髓的角度对混沌加密学进行讨论。尽管本文提出了更多的问题而不是提供答案,不过我希望它对今后相关的研究仍会有启发意义。
引言在过去的年里,研究混沌系统的行为是极大的兴趣。混沌系统的特征包括对初始条件的敏感依赖性.随机行为的相似性和有连续的宽带功率谱。混沌在数字通信系统的几个功能模块中具有潜在的应用:压缩.加密和调制。混沌振荡自同步[1]的可能性激发了一系列对混沌密码学应用的研究工作。仅仅在本论文提到所有相关的混沌和密码学的论文就将导致极长的列表;因此,我们建议读者参考一些最近的文献[2]。尽管在混沌密码学领域内已经有大量的论文发表,混沌密码学的研究对传统密码学仍起到相当大的影响。这是因为两点原因:首先,几乎所有的混沌加密算法都使用在实数集体上定义的动态系统,因此很难做出实际的实现和电路的实现。
第二,在加密技术发展的时期阶段,几乎所有提出的混沌加密方法都没对安全性和加密性能作出分析。此外,大多数提出的方法加密算法性能较弱且加密速度较慢。
密码学是公认最好的有效防御被动和主动攻击的数据保密方法[3]。文献[4]给出了当前传统加密算法设计的发展概述。该论
文的主要结论可以归纳为以下几句话:“显而易见,一个很好地了解当前密码分析学的人可以毫不费力地设计出安全但是效率不高的加密算法:对于一个分组密码,设计一个基于非线性操作(避免线性旋转)和简单混合要素(传递局部变化)的圆形函数是足够的;在轮之间加入密钥的复杂形式即轮密钥(和在开始和结束的密码)。如果轮数是32,甚至更好是64,那么破解这种缓慢的密码将会非常困难。(当然也有可能通过遵循这种“秘诀”来产生弱密码,但这将需要一些加密技能!)。” 很可惜,许多研究混沌密码学的学者并不遵循上述的秘诀而是急于发表新的加密算法,尽管没有任何加密技术且该算法不强.低速。例如,在采用的算法中[5],信息中的每个字符都作为整数用于逻辑方程的迭代。而这将导致密码薄弱和缓慢。事实上,这个数可以是像65536一样大,而且总是比250大。而在传统的加密密码中,加密变换进行的次数通常小于32。另一方面,算法也很弱,容易被已知明文攻击破解。
该文献的作者认为混沌加密学的研究应从那些通常较弱和较慢的算法设计转换,因此为了更好地理解混沌和密码学之间可能存在的关系,不与传统的算法相比较。混沌理论的许多基本概念如混合.保测变换和灵敏度在加密领域已有长时间的应用。在混沌提出前的15年前,Shannon在他的著作中写道[7]:“良好的混合转换通常是由两个简单的非交换操作的重复乘积形成的。例如,一系列的操作可以将面团搅拌成面团。先把面团揉成一块薄
的板,然后再折叠,然后卷起来,然后再折叠等…… 在良好的转换中…函数是复杂的,涉及到许多敏感的变量。任何一个变量的微小变化都会改变输出量。” 混沌与密码学之间的深层关系仍未建立。这两个科学领域之间的重要区别在于使用密码学的系统是在有限集合上工作的,而应用混沌的系统只在连续域内有意义。这篇小论文的主要目的是讨论混沌与密码学之间的可能联系,进一步指出未来研究的一些方向。
前言我们假设读者熟悉混沌理论。为了突出本文的原创性,我们简要介绍三种最常见的加密对象(也称为基元):分组加密算法(私钥算法),伪随机数发生器(附加的流密码)和加密散列函数。这些原语的完整描述和它们的属性可以在文献[4]找到。
在密钥的作用下,分组密码将较短的字符串(通常是64或128位)变换为长度相同的字符串。分组加密算法通常用x=E (x,z),n=0,…,k-1的映射形式来描述,其中明文x,密码x 和密钥z定义在有限字母集。分组密码的优点是它们形成了一个可以用于加密的灵活工具:它们可以用来构造其他基元。
伪随机数发生器是一种确定性的方法,通常用映射来描述,生成一个小的“随机”数称为种子,更大一组看起来杂乱的数字称为伪随机数。考虑到定义的发生器和由发生器生成的随机数字序列,伪随机数发生器加密是安全的。当不知道发生器的种子时,计算未来和之前的数字序列将会很难。
单向函数H对任意长度原图信息M作处理,然后返回一个固定长度的值h,h=H(M),例如对给定的M很容易计算出h,给定h却很难计算出M,而且很难找出两个不同的输入得出重复相同的输出。请注意,以上的定义是非正式的,并在没有用word一词定义时一定程度上没有用。这可能与加密对象何时安全的问题有联系。我们应该强调可能保护(基于一些合理的假设)的基元比目前最快的使用算法慢几个数量级。
图1总结了混沌映射和加密算法的异同点。混沌映射和加密算法(或更一般地定义在有限集合上的映射)有一些类似的属性:对初始条件和参数变化的敏感性,随机性的行为和带有较长周期的不稳定的周期轨道。加密算法的加密轮数会导致算法加密扩散和混乱效果。混沌映射的迭代扩展了整个相位空间中的初始区域。混沌映射的参数可以代表加密算法的密钥。混沌和密码学之间的一个重要区别是,加密转换是在有限集合上定义的,而混沌只在实数集上有意义。此外,在时间上加密算法的加密安全性和性能的概念在混沌理论中没有对应。
我们现在用简单的例子来说明混沌系统和定义在有限集合上的映射之间的相似性和区别。以一个混沌映射为例,我们考虑转换映射 x(t+1)=ax(t)(mod1)(1)相空间x=[0,1]为间隔且a>1为整数。换句话说,(1)是一个符号的转换。由此产生的动态反映在单位时间间隔中a的数字性质。当正的Lyapunov指数a>1时该映射是混沌的。各种各样的函数和/或离散时间系统已
被提出应用于密码学:在所有的相位空间中,对应的映射是一个有限集合,所有的参数都是整数。最简单的例子是转换映射(1)的离散相位空间: p(t+1)=ap(t)
(mod N)
(2)
其中a>1,N和p都是整数,且p{0,1,.,N-1}。如果N是互质的映射(2)是可逆的;注意转换映射对所有a的取值不是可逆的。所有有限相空间的动力系统最终都是周期性的。因此,引入函数的周期P描述映射F的最小周期,F是恒定的.P是系统大小N 的函数的最小值。一般来说,这些函数是在带有限集合相空间的离散动力系统的最复杂对象之中提出的。为了对此说明,举一个例子,映射(2)中a=2。P有两个极值,最小值的取值是[log logN]+1,当N=2k-1,N-1最大,N取极值,2是乘法集U(N)的输入值。然而主要的问题仍然是P一般的取值。答案是未知的且和一类数论问题有关,围绕阿廷猜想(详细见[8]和参考文献)。计算一些量的通常取值可采用遍历理论。这个例子说明了有限相空间动力系统遍历理论发展的难点。另一方面,映射(1)的遍历理论要简单得多。
系统(2)的Lyapunov指数(LE)接近0,因为每一个轨道最终都是周期性的并且自动往复。因此,在此核心的问题是估计典型轨道的LE避免时间超过自身周期。周期轨道的分析关键取决于排序。两种排序,都和Lebesgue措施对应,在文献中被认为是: