因时空混沌系统具有初值和控制参数的高度敏感性,并能产生大量非相关的伪随机序列的特性,我们提出了一种基于耦合锯齿混沌映射生成虚拟光学加密系统的随机模板的方法。该方法基于交叉耦合映像格子模型,局部状态演化方程采用锯齿混沌映射,构成时空混沌系统。
一、相关原理
1、虚拟光学透镜成像加密原理
虚拟光学透镜成像加密原理所对应的原型即是透镜成像原理,假设前提:虚拟光学透镜成像系统由相同选定波长的相干光照明,同时所涉及的衍射都满足菲涅尔近似条件。信息平面和随机模板在透镜前表面发生干涉,得到复振幅分布,然后透过透镜得到加密结果。
根据傅里叶光学原理,虚拟光波从一个平面到另一个平面的传播过程可以用菲涅尔衍射变换(DFD)公式表示。虚拟光波从透镜的后表面到像平面的传播过程亦可用菲涅尔衍射变换来表示。设信息平面为Uo,透镜前表面的复振幅分布为U1,得到离散菲涅尔变换公式如下:
其中,△ξ、△η和△x、△y分别是透镜前表面和信息平面复振幅在x方向和y方向上的采样步长。离散菲涅尔变换(DFD)的计算可由离散傅里叶变换(DFT)代替实现,因此,为提高计算速度可使用快速傅里叶变换(FFT)来计算式中DFD。
透镜的复振幅透过率经采样得到其离散形式:
其中,为透镜焦距;m,n∈{O,1,2,…,N-1}。
随机模板Um、信息平面到透镜前表面的距离d0、随机模板到透镜前表面的距离d、透镜的焦距f,波长λ形成了该加密系统的密钥。
2、时空混沌映射
时空混沌是一种非线性动力系统,该系统在时间和空间方向上都具有混沌行为。这种时空行为需要构造合适的模型来处理,例如耦合常微分方程、元胞自动机、耦合映像格子。文中使用的足基于交叉耦合映像格子模型的时空混沌系统。基于交叉耦合映像格子模型的混沌系统的数学模型为:
其中,xni表示第i个格子在n时刻的状态,i=l,2,…,L(L为格子数,由系统大小决定);ε为耦合系数,满足o<ε<1;边界条件为xni+l=xni:f(x)为格子的局部状态演化方程,一般取混沌映射。这里采用锯齿混沌映射:
其中,锯齿映射参数F:[O,1]→[O,1],当l<β∈R时系统处于混沌状态,取β=1011/7。设β=P/q,其中p和q是两个互质的整数。当β= 181/17和β=1011/7时,对应的锯齿映射的相图如图1所示。
局部状态演化方程可选择帐篷等其他混沌映射。
图1所示的系统就是基于交叉耦合映像格子模型的帐篷时空混沌系统。实验结果表明,当耦合系数ε的取值小于0.01时,基于交叉耦合映像格子模型的锯齿混沌系统可以生成具有均匀分配的混沌序列。
二、基于时空混沌映射的虚拟光学透镜成像加密系统
图2是基于时空混沌映射的虚拟光学透镜成像加密系统的原理图,该系统主要包括两个部分:一是时空混沌系统,二是虚拟光学透镜成像系统。文中时空混沌系统的驱动序列由Logistic混沌映射产生。
初始驱动序列可以随机产生,也可以由一维混沌映射产生,例如Logistic映射、chebyshev映射、Tent映射、super_hybrid映射等等。
1、新方案的加密解密算法
加密过程可描述为:在加密端,信息平面Uo和随机模板Um分别进行距离为d0和d的菲涅尔衍射,两者在透镜前表面发生干涉,得到透镜前表面的复振幅分布U1,U1经透镜的复振幅透过率t得到透镜后表面的复振幅分布U2,作为加密结果在通信线路上传播。在解密端,随机模板Um分别进行距离为d的菲涅尔衍射得到U’m,加密结果U2减去U’m的结果再经距离为di的菲涅尔衍射得到像平面的复振幅分布Ui,此时的Ui是原信息平面的倒像。
1)加密算法
输人参数:待加密的信息平面Uo;
密钥(lnit,w,α,do,d,λ,f)。
输出参数:加密后的信息平面U2。
具体步骤:
(1)在时空混沌系统中由密钥参数(init,w,α)产生二维时空混沌序列Um。
其中,fLogistic表示Logistic混沌映射,产生系统驱动序列,即0时刻各格子的初始值;init、w分别是混沌驱动Logistic映射的初始值和控制参数;fTeni表示帐篷混沌映射,为系统局部状态演化方程;α是帐篷映射的控制参数;xni表示第i个格子在n时刻的状态,i=l,2,…,M(M为格子数),n=l,2,…,N。最终产生一个二维的、大小等同于待加密的信息平面的时空混沌序列Um,其中M和N,是待加密的信息平面矩阵的行数和列数。
Logistic混沌映射公式为:
当W∈(3.569 945 6,4]时,产生的序列处于混沌状态。
(2)由密钥参数(λ,f)计算出透镜的复振幅透过率函数t。
(3)由密钥参数(do,λ)计算出信息平面(Uo)到透镜前表面的DFD变换DFD[Uo,λ,do]。
(4)由密钥参数(d,λ)计算出二维时空混沌序列(Un)到透镜前表面的DFD变换DFD[U0,λ,do]。
(5)它们在透镜前表面的菲涅尔衍射图案将发生干涉,得到干涉图。干涉图经过透镜复振幅透过率函数,转换到透镜后表面(U2)。
2)解密算法
输入参数:加密后的信息平面U2;
密钥(lnit,w,α,do,d,λ,f)。
输出参数:原信息平面Uo。
具体步骤:
(1)利用密钥参数(init,w,α),生成二维时空混沌序列Um。同加密算法的步骤(1)。
(2)由密钥参数(λ,f)计算出透镜的复振幅透过率函数t。
(3)由密钥参数(d,λ)计算出二维时空混沌序列(Um)到透镜前表面的DFD变换DFD[Um,λ,d]。经过透镜的复振幅透过率函数t转换,得到二维时空混沌序列到透镜后表面的复振幅分布(U'm)。
(4)加密结果U2减去Um’得到信息平面到透镜后表面的复振幅分布(Uo)。
(5)根据透镜成像原理可由密钥参数(d0,f)计算出像平面距离透镜后表面的距离di。
(6)由密钥参数A和吨计算出UO的DFD变换,即像平面的复振幅值。
(7)对Ui求膜平方得到信息平面的强度(V1),此时得到的是原图像的倒像,将坐标翻转即可得到正立图像(V)2,(V)2为最终的解密结果。
2、加密算法的复杂度
该加密系统是由时空混沌系统和虚拟光学透镜成像系统两个部分组成。
时空混沌系统包括:加减运算3N2次、锯齿映射N(N-1)、Logistic映射N次。
虚拟光学透镜成像系统加解密算法的核心是DFD,可变换为FFT。一维FFT的计算复杂度为O(Nlog2 N),=维FFT的计算复杂度为0(2N log2N)。因此,计算DFD的时间复杂度为:
加密系统包括两次DFD运算,并将结果与透镜的复振幅透过率函数相乘。
由于乘法运算比加法运算复杂,文中用乘法运算次数近似为运算工作量。
时空混沌系统的时间复杂度为T= O(N2)。整个虚拟光学成像加密算法的时间复杂度为:
由于虚拟光学透镜成像解密算法,需要一次时空混沌模板建立、两次DFD计算和一次与透镜的复振幅透过率函数的乘法运算,因此解密算法的时间复杂度与加密算法的时间复杂度相同。
由此可以看出,文中提出的算法复杂度和待加密信息的大小相关,待加密的信息越大,则算法复杂度越高,系统就越难破解,它们呈现非线性关系。
三、实验结果与分析
文中以Matlab7.0为仿真环境,采用的待加密的信息是512x512x8 bit的灰度图Lena(采样数N=512)和256x256x1bit的二维码(采样数N=256),混沌驱动Logistic映射的初值init=0.5706,控制参数w=4,锯齿映射参数β=1011/7,二维时空混沌序列到透镜前表面的距离d=0.01m,信息平面到透镜前表面距离d0=0.1 m,波长λ=623×10-9m,透镜焦距f=0.025m。
图3(a)是文中提出的方案产生的二维混沌序列,图3(b)中显示了各种像素值的数量。由图可知,像素值的分布拟平均分布,拟无特征序列码。
小知识之耦合
耦合是指两个或两个以上的电路元件或电网络的输入与输出之间存在紧密配合与相互影响,并通过相互作用从一侧向另一侧传输能量的现象。