1、基金项目:国家自然科学基金资助项目(61772047);北京高校“高精尖”学科建设项目(3201017)收稿日期:20210319修回日期:20210408第 40 卷第 2 期计算机仿真2023 年 2 月文章编号:10069348(2023)02037406基于扰动法的抗退化数字混沌系统研究赵耿,张森民,马英杰(北京电子科技学院,北京 100071)摘要:研究数字混沌系统的退化问题对混沌密码学的发展有重要意义,扰动法能有效改善数字混沌系统的退化行为。首次提出对一维 Chebyshev 混沌系统的全部扰动对象进行扰动的方法,使 Chebyshev 映射表达式的每一个部分都被扰动源所影响,从而
2、达到抗退化的目的。还对改进方案生成混沌序列的性能进行了对比与分析,结果表明,上述方案在低有限精度情况下不仅大大延长了数字 Chebyshev 混沌系统周期,使系统的动力学性能得到提高,扩展了密钥空间,可用于混沌密码算法的设计中。关键词:数字混沌;抗退化;扰动法;混沌密码;低有限精度中图分类号:TP309.7文献标识码:BDesign and esearch of AntiDegeneratione of DigitalChaotic System Based on Perturbation MethodZHAO Geng,ZHANG Senmin,MA Yingjie(Beijing Elec
3、tronic Science and Technology Institute,Beijing 100071,China)ABSTACT:The study on the degradation of digital chaotic systems is of great significance to the development ofchaotic cryptography The perturbation method can effectively improve the degradation of digital chaotic systems Themethod of pert
4、urbing all the perturbed objects of one dimensional Chebyshev chaotic system wais proposed for the firsttime,so that every part of the Chebyshev mapping expression wais affected by the perturbation source,so as to a-chieve the purpose of antidegradation The performance of the chaotic sequence genera
5、ted by the improved scheme iswas also compared and analyzed The results show that the scheme not only greatly prolongs the period of the digitalChebyshev chaotic system,but also improves the dynamic performance of the system and expands the space of the se-cret key It can be used in the design of ch
6、aotic cryptography algorithmKEYWODS:Digital chaos;esistance to degradation;Perturbation method;Chaos cipher;Low finite accuracy1引言混沌具有十分丰富的动力学特性,近年来受到了国内外学者的广泛研究,也在多个领域得到了应用。因为混沌的特性和密码学的安全要求有许多相似点,如混沌具备初值条件敏感性、不可预测性、遍历性等特点,与密码学所要求的混乱性、扩散性和密钥不可预测性相似,所以将混沌运用于密码学具有十分广阔的前景12。然而混沌系统一旦运用在计算机等有限精度的设备上时,会发生
7、动力学性能的退化现象。原来具有的遍历性、不可预测性均不复存在,取而代之的是系统的数据值只能取在有限范围内,数据会进入周期循环轨道或不动点。这种退化行为导致基于混沌系统构建的密码体制存在安全风险。所以数字混沌系统的退化行为是混沌密码走向实际使用的一大障碍,也是亟需解决的问题之一36。近些年针对数字混沌系统的退化问题,国内外主要有以下五种抗退化的方法79:提高精度法,依靠提高计算机的精度会加大计算成本,并且退化现象依然存在;级联法:将两个或两个以上的混沌系统先后级联在一起,上一系统的输出作下一个系统的输入;切换法:切换使用多个混沌系统,也可切换单一混沌系统的不同初始状态;扰动法:构造扰动函数,对混
8、沌系统迭代过程进行一定的干预控制;误差补偿法:在数字混沌系统的每一次迭代中都引入一个误差补偿值,该值来自于系统本身。扰动法能有效地改善混沌系473统在有限精度条件下动力学性能的退化问题,该方法的基本思想是,使用某些系统作扰动源,利用其生成的序列,来对数字混沌系统的迭代过程进行扰动。Liu 等人10 使用可变函数来替代状态变量;Chen 等人11 提出了一种基于伪随机序列的动态摄动反馈混合控制方法;Lahcene Merah 等人12 提出了一种不需要外部发生器对混沌轨道进行扰动的的新扰动方法,具有自摄动机制;Jun 等人13 提出了一种在有限计算精度范围内构造高维数字混沌系统的新方法;Cao
9、等人14 提出了一种基于帐篷映射 Lyapunov 指数的扰动方案;Liu 等人15 提出了一种同时扰动输入和控制参数的方法。上述方法均使得混沌周期得以延长,取得了较好的抗退化效果。扰动法的扰动源一般包含伪随机序列、数字混沌系统和模拟混沌系统,利用伪随机序列或数字混沌系统做扰动源,会导致扰动信号不均匀分布,从而使系统容易受到非线性预测技术攻击。模拟混沌系统具有更复杂的相空间分布,许多学者将模拟数字混合的方法用于解决数字混沌系统的动态退化问题9,15。扰动法的扰动对象一般有系统的参数、输入和输出,对数字系统的控制参数进行扰动能使轨道周期变长,但是不能使数据的非均匀分布得到有效改善,扰动其输入或输
10、出可以使数据分布得更加均匀。因此,本文结合单独扰动某一对象的优势,首次提出对一维 Chebyshev 混沌系统的全部扰动对象进行扰动的方法,使 Chebyshev 映射表达式的每一个部分都被扰动源所影响。同时,利用模拟的三维Lorenz 混沌系统生成三个扰动函数,用单一扰动源完成对三个对象的扰动。一定意义上,该方法通过扰动法构建了一个融合的混沌系统,不仅有效地延长了数字混沌系统的周期,使数据分布情况比模拟状态更好;还大大提升了密钥空间,具备运用到其它系统的通用性,可以说具有广阔的研究前景。2退化问题及混沌映射分析2.1数字混沌系统的退化原因模拟混沌系统具备良好的动力学特性,如初值敏感性、不可预
11、测性和遍历性等特点。在计算机等数字器件上实现混沌系统时,由于计算精度总是有限的,混沌系统的迭代值只能取到有限精度范围,关于数字混沌系统的退化原因的数学描述如下给定一个离散时间混沌系统的迭代方程X(i+1)=F(X(i)(1)式中 X(i)m是状态向量。F:m是混沌系统的迭代函数。理论上,混沌系统的迭代值具有不可遍历性,但是在 P 比特的有限精度设备上实现时,其所有的值都会被离散化,系统的数值轨道也会被限制在有限状态集 L中L=(?x1,?x2,?xn)|(?x1)=k 2P,k=0,1,2P 1(2)式中?xi表示混沌系统的迭代值,?xi()表示?xi的小数部分。所以式(1)也将退化成如下数字
12、混沌系统X*(i+1)=F(X*(i)=BL F(X*(i)(3)或Xi+1=F(X*i)X*i=BL(Xi)(4)式中,BL:L是量化函数,可看作每一次迭代前都对输入值做了一次量化处理,并且在所有计算算法中有三种最常用的量化形式15:1)floorL(x)=x2L/2L,x 表示不超过 x 的最大整数;2)roundL(x)=round(x2L)/2L,round(x)表示对 x 进行四舍五入取整;3)ceilL(x)=x2L/2L,x表示不小于 x 的最小整数,x 是一个实数或向量。2.2混沌映射分析本文所提方法是利用模拟 Lorenz 混沌映射来扰动一维数字 Chebyshev 映射,下
13、面分别对两个混沌映射进行分析。2.1.2Chebyshev 混沌映射Chebyshev 混沌映射是目前较常用的混沌映射之一,输出混沌序列状态值的分布特性良好,而且状态值之间的自相关性很低14,可选取作为受扰混沌系统。Chebyshev 映射公式如下X(i+1)=cos(cos1X(i)(5)其中 为系统参数,X(i)和 X(i+1)为第 i 次迭代的输入和输出值。2 时系统呈现出混沌特性,图 1 是系统参数为 8,初值为 0.25,迭代 10000 次的模拟 Chebyshev 混沌吸引子图,模拟状态下吸引子图像类似于三角函数的波形,数值的取值范围为 1,1。图 1Chebyshev 混沌映射
14、吸引子Chebyshev 映射的概率密度为(y)=11 y2(1 y 1)0(y 1y 1)(6)若概率密度已知,则可得数学期望?x 为?x=limN1NN1i=0 xi=x(x)dx=0(7)当 Chebyshev 映射产生无穷多状态值时,其数学期望为5730,表明在相空间分布上是稳定的平衡状态,具有良好的性能15。2.1.2 Lorenz 混沌映射Lorenz 混沌系统的状态方程为dxdt=(y x)dydt=r x y x zdzdt=b z+x y(8)在参数选取满足条件=16,b=4,r=45.92 时系统处于混沌状态。Lorenz 系统原本是模拟的,但计算机无法处理模拟系统,所以需
15、要将其进行离散化处理,如下采用 Euler 算法,取采样时间 T=0.002,得到方程如下?x(i+1)=(1 T)?x(i)+a T?y(i)?y(i+1)=r T x(i)+(1 T)y(i)T x(i)z(i)?z(i+1)=(1 b T)z(i)+T x(i)y(i)(9)Lorenz 系统的吸引子如图 2 所示,x(i)的取值范围为(30,30)、y(i)的取值范围为(40,40.75),z(i)的取值范围为(0,72.14),三个分量的取值范围都很广,因此可以用来用作扰动序列。图 2Lorenz 混沌映射的吸引子3扰动策略结合 Chebyshev 函数的特性和 Lorenz 函数的
16、特性,提出扰动全部扰动对象的方法,扰动方案如图 3 所示。图 3扰动方案流程图该方案的具体步骤为:步骤 1:先迭代 Lorenz 混沌映射,即对式(8)设置初值 x(0)=1,y(0)=1,z(0)=1,系统参数设为=16,b=4,r=45.92,迭代 1000 次生成的三个混沌序列采样,得到三个离散的混沌序列 x,y,z。再对 Chebyshev 混沌映射,即式(5)也赋初值 X(0)=0.25,系统参数=8。步骤 2:构建扰动控制参数和输入的表达式,具体方法为,将 x 序列用于构建扰动参数表达式,将 z 序列用于构建扰动输入的表达式,扰动表达式如下所示Q(i)=mod(X(i)+x(i),1)+8W(i)=mod(X(i)+z(i),1)(10)其中,Q(i)为扰动参数的变量,W(i)为扰动输入的变量,mod(*,1)表示对括号内数值取模 1 运算。其中,扰动参数的变量 Q(i)由改进前系统的输入值 X(i)与扰动序列 x 的值相加后模 1 处理,再加上常数值 8 得到;扰动输入的变量 W(i)只需要将输入值 X(i)与扰动序列 z 的值相加后模 1 处理。接下来,再将准备好的扰动