△调制复杂动力系统有其丰富的演化行为,在一定的参数范围内能产生混沌序列,其产生的混沌序列具有良好的伪随机性、遍历性和初值敏感性,基于此系统,我们提出了一种图像文件加密方法。
一、序列加密体质
加密体制是从消息集合(通常是有限的)到密文集合的有限可逆变换族。加密体制主要有两部分组成,一部分叫做加密算法,另一部分叫做密钥。
序列加密体制的思想起源于20世纪20年代。最早的二进制密码系统将英文字母变成二进制波多电码(五位),明文信息为二进制数字序列,密钥序列也为二进制数字序列,加密是将明文序列和密钥序列按照逐位模2加进行,解密也是按照密文序列和密钥序列逐位模2加进行。如果在加密过程中所使用的密钥序列是完全随机的二进制序列,这种体制可以认为是“一次一密”体制。Shannon证明了一次一密加密体制是不可破解的。这一结果给密码学的研究以很大的刺激。然而,一次一密体制的密钥产生、分配和管理极为困难。因此,要实现真正的一次一密系统的比较困难。分组密码和公钥密码速度受限制,无法实现对信道的加密,只有流密码才能实现告诉加密。随着微电子技术和计算机的发展,基于伪随机序列的序列密码就应运而生。由于伪随机序列产生容易,且具有较成熟的理论分析工具,因此,序列密码是目前使用最广泛的密码系统。
为了使序列密码达到要求的安全保密性,实际应用的序列密钥必须有以下特点:
(1)序列周期足够长;
(2)真正的伪随机性,每一位接近均匀分布;
(3)序列线性不可预测。
盖如栋等人对△调制复杂动力系统进行了详细、深人地研究,结果表明△调制复杂动力系统即使是一维系统,△调制的反馈机制也可导致系统丰富的周期演化,乃至出现混沌和分形结构等复杂的动力学行为:
(1)当|a|<1时,系统有一个只有两个点构成的最小全局吸引子。
(2)当l≤|a| <2时,最大稳定域的所有点都趋于区间[-A,A]。
(3)当|a|≥2时,最大稳定集合是康托集,并且它是系统的排斥子,系统在这个康托集上出现混沌现象。
本文中采用的是均衡条件的△调制复杂动力系统。
(x+表示下一时刻系统状态,a是实数)。
研究结果表明,△调制复杂动力系统所产生的混沌序列是伪随机的、遍历的,即沿着混沌轨迹对某一函数的平均等于其集平均;由于混沌系统在迭代中的信息损失,使得混沌序列的信息量渐进趋于零。因此,对混沌序列进行正确的长期预测是不可能的。以上特点使△调制复杂动力系统产生的混沌序列对图像的加密有良好的保密性。另外,该系统结构简单,易于物理实现,所以很适合应用于混沌序列的产生。取a=1.7时该系统即出现混沌现象。任取一初值迭代3000次得到的结果如
二、基于△调制复杂动力系统的图像加密与解密算法
假设{pn}是明文信息序列,{kn}是密钥信息序列,{cn}提密文信息序列,则:
加密算法:{cn}={kn}+{pn};解密算法为:{pn}={cn}+{kn}。
本文采用△调制复杂动力系统产生的混沌序列作为密钥,其加密算法包括一下4个步骤:
步骤1:打开图像A,将图像A表示为mxn的二维数组(m是图像A的行像素,n是图像A的列像素),图像像素在0到255之间,将像素值由十进制转换为二进制,得到图像二进制像素序列{p1,p2,…,Pmn}。
步骤2:由映射xn+1=axn- △sgn(axn)产生一混沌序列,序列元素转换为二进制,得到密钥序列{k1,k2,…,kmn}。
步骤3:密钥序列{k1,k2,…,kmn}的元素与图像序列{p1,p2,…,Pmn}的元素一一对应,根据加密算法{cn}={kn}+{pn},对每一个对应元素进行异或运算,得到密文序列C{ci,c2,…,cmn)。
步骤4:B—个是m×n的矩阵,B(i,j)=C(j-1)m+i),其中f=1,2.….m;j;1,2,…,n。将矩阵元素转换为十进制,得到矩阵B’,则就是加密后的图像。
解密算法与加密算法类似,只需将被解密的图像看作加密算法中的图像A,利用解密算法{pn}={cn}+{kn}即可实现解密。
三、仿真实验及效果分析
利用映射xn+1=axn- △sgn(axn)产生的混沌序列对图像加密,令初始值为0.5,a=1.7,经过加密后的图像可以说是完全失去了原图像的信息。由于混沌序列对初值非常敏感,即密钥值有微小的变换也会得到不同的解密结果。密码破译者无法根据截获的密文去重构产生序列密码的混沌系统动力学模型,初始态等,这对保密是及其有利的。
小知识之动力系统
动力系统 (dynamical system)是数学上的一个概念。在动力系统中存在一个固定的规则,描述了几何空间中的一个点随时间变化情况。