图像加密算法
Lorenz超混沌系统
Lorenz混沌系统是由美国气象学家爱德华·洛伦兹(Edward Lorenz)在1963年提出的一个非常经典且重要的混沌系统。它是对大气热对流现象进行数学建模后得到的一个简化的三维自治动力系统。其动力学方程如下:
\[ \begin{cases} \frac{dx}{dt}=\sigma(y-x)\\ \frac{dy}{dt}=x(\rho-z)-y\\ \frac{dz}{dt}=xy-\beta z \end{cases} \] 其中,\(x\)、\(y\)、\(z\)是系统的三个状态变量,\(\sigma\)、\(\rho\)、\(\beta\)是系统的参数。
这三个参数的取值范围会影响系统的动力学行为。通常情况下,当参数\(\sigma = 10\),\(\rho = 28\),\(\beta = 8/3\)时,Lorenz系统处于混沌状态。 Lorenz混沌系统具有以下几个显著的特点:
- 对初始条件的敏感依赖性:这是混沌系统的一个关键特征,也被称为“蝴蝶效应”。即初始条件的微小变化会随着时间的推移导致系统状态的巨大差异。在Lorenz系统中,即使初始的\(x\)、\(y\)、\(z\)值仅有极其微小的差异,经过一段时间的演化后,系统的轨迹会变得完全不同。
- 奇怪吸引子:Lorenz系统的相空间中存在一个奇怪吸引子。吸引子是动力系统中系统演化最终趋向的状态集合。Lorenz系统的奇怪吸引子具有复杂的几何结构和分形特征,其形状类似于两个翅膀的蝴蝶,这也是“蝴蝶效应”的一种形象表示。系统的状态会在这个吸引子上不断地运动,但不会收敛到一个固定的点或周期轨道。
- 不可预测性:由于对初始条件的敏感依赖性,使得Lorenz系统的长期行为是不可预测的。即使我们知道系统的当前状态和精确的动力学方程,也无法准确预测系统未来的状态。 Lorenz混沌系统在许多领域都有广泛的应用,比如保密通信、图像加密、电路设计、生物医学等。在保密通信中,利用Lorenz系统产生的混沌信号可以对信息进行加密,提高通信的安全性;在图像加密中,混沌序列可以用于打乱图像的像素值,实现图像的加密。
龙格-库塔
首先计算四个中间值
k1
、k2
、k3
、k4
:k1_x
是根据当前时刻的x
、y
、z
以及系统参数,通过dx_dt = sigma * (y - x)
计算得到的,表示在当前状态下x
的变化率。k2_x
是在时间步长h/2
处,使用当前的x
加上h*k1_x/2
以及对应的y
和z
值更新后的中间状态下,再次计算dx_dt
得到的变化率。k3_x
与k2_x
类似,也是在时间步长h/2
处,使用当前的x
加上h*k2_x/2
以及对应的y
和z
值更新后的中间状态下,计算dx_dt
得到的变化率。k4_x
是在时间步长h
处,使用当前的x
加上h*k3_x
以及对应的y
和z
值更新后的状态下,计算dx_dt
得到的变化率。