一种混沌序列加密算法的密码分析
2011-06-12蔡琼,彭涛,叶杨
蔡 琼,彭 涛,叶 杨
(武汉工程大学 计算机科学与工程学院,湖北 武汉 430074)
1 混沌序列加密算法
由于混沌映射所具有的许多类似随机的性质和密码学中的混淆和扩散等性质相似,所以出现了很多混沌加密算法,本文分析的混沌序列密码算法使用的是Logistic[1]映射.
f(x)=μx(1-x),x∈[0,1],μ∈[3.5699456,4]
(1)
当x∈[0,1],μ∈[3.5699456,4]时,Logistic映射具有混沌效应.然而由于实数在计算机中以有限的精度实现,对于每次迭代产生的x可以表示如下:
其中n表示精度.
明文分组长度是64 bit,密钥是混沌的初始控制参数x0和μ.该加密算法如下四步:


其中Aj为64bit分组,Dj为小于64的整数.
c. 加密明文分组,明文分组Mj对应的密文分组Cj=(Mj≪Dj)⊕Aj.然后把密文块做一个映射,φ(Cj)=cj+cj+1+…+cj+7,D*=Dj+φ(Cj)mod64.
d. 如果所有的明文分组都被加密则加密结束,否则ω=fD*+70(ω),然后转到b继续加密.
2 加密系统的信息泄露规律以及攻击
虽然文献[2]对该加密系统进行了改进,但文献[3]指出了该加密算法对密钥的分割攻击存在安全隐患.加密算法步骤a实质上是为了掩盖混沌初态,来增加系统的安全性,但是如果以迭代之后的ω为初态,以参数μ产生的混沌序列,与以x0为初态经过迭代之后产生的混沌序列是一致的.这样就可以把ω视为x0的等效密钥,只要完成了对{ω,μ}的攻击就完成了对加密系统的攻击.


定理2[5]设函数f(x)=μx(1-x),μ,μ+δ∈(3.5699456,4],x,x+ε∈[0,1],则:
证明:由于函数f(x)在[0,1]是连续可导的,则由拉格朗日中值定理知,存在
ξμ∈[x,x+ε],ηx+δ∈[μ,μ+δ]
使得
(2)
(3)
将(2)、(3)两式相加得到
|fμ(x)-fμ+δ(x+ε)|=

定理1、2说明,Logistic混沌映射具有如下性质:输入的低位变化对输出的高位影响不大,而上述加密系统中的实际用来加密的二进制流,是由混沌映射反复迭代产生的,这就导致了混沌序列具有前几个值对混沌初态和参数的低位比特变化不够敏感的性质;……
