首页 理论教育 混沌同步及图像加密算法

混沌同步及图像加密算法

时间:2023-10-17 理论教育 版权反馈
【摘要】:6.1.2.2替换参数的产生利用三维猫映射进行像素值替换时,每当需要对一个像素值进行替换时,即采用改进的二维Logistic映射产生一对参数c和d,以便获得更高的随机性和不可预测性。具体的加密算法描述见算法6.1。

混沌同步及图像加密算法

在三维猫映射(6.1-3)中,置乱的效果由参数a、b和n决定,替换操作由参数c和d决定。为了抵抗攻击者通过二维猫映射的周期性来攻击图像置乱的过程,同时提高置乱和替换过程对密钥的敏感性,映射(6.1-3)中的4个控制参数由另外两个混沌系统产生。这里利用二维Hénon映射来产生置乱参数a、b和n,利用改进的二维Logistic映射来产生替换参数c和d。

6.1.2.1 置乱参数的产生

Hénon映射是一个二维离散混沌系统,可以表示为

当1.025<p≤1.4,q=0.3时,系统表现出混沌行为,产生的混沌序列的取值范围为(-1.3,1.3)。通过选择合适的(x0,y0),产生10000个数据,去掉前4000个数据,设得到的混沌序列为S1={(xi,yi)|i=1,2,…,6000。选择混沌序列S1的第r个数据用于产生控制参数a和b的值,产生的方式为

接着,从第r+1个数据开始,从混沌序列S选择t个数据用于产生迭代次数n的值,产生的方式为

其中,k2=T/2,T为二维猫映射(6.1-1)的周期。由于参数r、t和k1的值决定了控制参数a、b和n的值,这3个参数均可作为加密算法的密钥。这样,置乱参数a和b对Hénon映射的初始值具有很强的敏感性,攻击者很难根据猫映射的周期性来获得明文图像。

6.1.2.2 替换参数的产生

利用三维猫映射(6.1-3)进行像素值替换时,每当需要对一个像素值进行替换时,即采用改进的二维Logistic映射产生一对参数c和d,以便获得更高的随机性和不可预测性。二维Logistic映射可以描述为

映射(6.1-7)增加了三个二次项和xiyi来增加系统的复杂性。当2.75<μ1≤3.4,2.7<μ2≤3.45,0.15<γ1≤0.21和0.13<γ2≤0.15时,系统具有混沌现象,产生的混沌序列的取值范围为(0,1]。为了进一步增强产生的混沌序列的随机性,对映射(6.1-7)产生的混沌序列S′={(xi,yi)|i=1,2,…}进行如下处理

其中,Xi可以是xi或者yi,round(·)为四舍五入函数。这样处理后,混沌序列的取值范围将变成[-0.5,0.5],需要进一步进行如下变换

此时,混沌序列的取值范围重新变回(0,1]。同时,与映射(6.1-7)产生的混沌序列相比,处理后的混沌序列具有更好的随机性。(www.xing528.com)

6.1.2.3 图像加密算法

基于三维猫映射的图像加密算法的加密过程如图6.1所示。

图6.1 图像加密过程示意图

从图6.1可以看出,整个加密过程围绕三维猫映射进行,当对明文图像进行像素位置置乱和像素值替换后,即可得到密文图像。设待加密的图像为I,整个加密过程描述为:

(1)置乱像素的位置。选择一组密钥(x0,y0),根据公式(6.1-4)产生混沌序列S1。选择密钥r、t和k1的值,根据公式(6.1-5)和公式(6.1-6)产生控制参数a、b和n的值。对图像I中每个像素点的位置(x,y),使用映射(6.1-1)迭代n次,可以得到置乱图像I1

(2)替换像素的值。选择另外一组密钥(x′0,y′0),根据公式(6.1-7)产生另外一个混沌序列S2,并对该序列按照公式(6.1-8)和公式(6.1-9)进行相应的处理,设得到的混沌序列为S′2。对于图像I1中位置为(x,y)的像素点,设其像素值为z,从混沌序列S′2不断地获得数据(xi,yi),设c=xi,d=yi,根据公式(6.1-3)将其像素值改变为z′。当所有的像素点均进行像素值替换后,可以得到密文图像I2

具体的加密算法描述见算法6.1。

6.1.2.4 图像解密过程

图像解密过程与图像加密过程类似,是加密过程的逆过程,即先恢复像素值,再恢复像素点的位置。首先,将密文图像I2的像素值恢复到原始值,对于位置为(x,y)、像素值为z′的像素点,其原始像素值为

p=(2M+p′-cx-dy)mod M

当所有像素点的像素值恢复原始值后,可以能够得到置乱图像I1,该图像是通过使用二维猫映射(6.1-1)迭代n次后得到的,如果继续使用二维猫映射(6.1-1)变换T-n次,即可得到明文图像。但由于二维猫映射的周期与图像大小有关,采用继续变换的方法来恢复图像将耗费较长的时间。为此,可以通过猫映射的反映射来解密置乱的图像,即执行如下的反映射

这样,将图像I1中位于(x′,y′)位置的像素点恢复到位于(x,y)的位置,即可得到明文图像I,解密过程结束。从该解密过程可以看出,如果攻击者不知道密钥,将很难得到正确的明文图像。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈