混沌密码算法分析方法的研究与应用
作者单位:解放军信息工程大学
学位级别:硕士
导师姓名:金晨辉
授予年度:2007年
学科分类:07[理学] 070104[理学-应用数学] 0701[理学-数学]
主 题:混沌密码 密码分析 逆推压缩攻击 求逆分割算法 分割攻击 加密算法 数字水印算法
摘 要:本文发现了迭代型混沌密码的一个新的信息泄漏规律,即对每个时刻i,由乱数序列求出的混沌映射在该时刻的可能输入(及可能密钥参数)全体都可用若干个区间的并集简单地描述,且对多对一混沌映射而言,每个区间内都有等效解的概率很大,并随着时刻i的减小,区间的长度急剧缩短。基于该信息泄漏规律,提出了攻击迭代型混沌密码的一个新方法,即逆推压缩攻击方法。在一定的条件下,该攻击方法的成功率为1,且计算复杂性、存储复杂性和数据复杂性都是密钥长度的线性函数。对廖旎焕等人在2006年发表的混沌扩频序列密码算法在密钥长度为64比特时做了100例攻击实验,每例实验平均仅需0.11秒就可求出等效密钥,从而验证了逆推压缩攻击方法的有效性和正确性。与现有的攻击混沌密码的一般方法相比,本文提出的方法是首个复杂性为密钥长度线性量级的攻击方法。 由于逆推压缩攻击方法涉及混沌映射的求逆,针对复杂混沌映射求逆困难的问题,运用拉格朗日中值定理,我们提出了求解导函数有界的函数原象的分割算法,给出了使分割算法计算复杂性上界达到最小的充分条件。分割算法在成功率为1的条件下将计算复杂性由指数量级降到线性量级。 分析了三个基于混沌的序列密码算法的安全性,证明了这三个密码算法均是不安全的。 对于Composite Chaotic Pseudo-Random Sequence Encryption Algorithm(简称CCPRSEA)算法,通过对该算法的素域上线性同余变换的分析,分离出了混沌序列,进而利用混沌序列的前若干值对初态的低位比特不敏感的信息泄漏规律,给出了基于吻合度分布规律和混沌映射求逆的分割攻击方法,在base=10,d=3的情况下,证明了破译算法的成功率为0.9827,计算复杂性为2。实验表明,在主频为2.5GHz的Pentium 4 PC机上,求出其全部密钥的整个攻击时间只需8小时35分。 对于基于混沌反馈模型的图像加密算法,利用加密算法的密钥在乱数中扩散的不完全性,给出了一个分割攻击方法,证明了攻击方法的计算复杂性为2,成功率为1,将密钥熵降低了235比特。 对于基于混沌序列的图像加密算法,该算法本质上是一个移位密码,给出了对该算法的已知明文攻击方法。对于N×N大小的明文图像,攻击方法的计算复杂性为O(N+N)。理论分析和实验结果均表明该图像加密算法是不安全的。 分析了两个基于混沌的数字水印算法的安全性,证明了这两个水印算法均是不安全的。 对于基于图像内容特征的顽健水印算法,给出了已知明文攻击方法,并且给出了求解该水印算法等效密钥的方法。若原始图像的大小为N×N,则该攻击算法的计算复杂性至多为O(N×N/4)。 对于基于混沌映射的抗剪切鲁棒水印算法,根据密钥空间的两种不同选择方式,分别给出了选择明文攻击方法。对于N×N大小的水印图像,这两个攻击方案的选择明文量分别为1幅载体图像和N×N幅水印图像,计算复杂性分别为1次和N×N+1次水印,成功率均为1,理论分析和实验都证明该水印算法是不安全的。