针对虚拟光学成像系统中随机模板的安全性,提出了基于混沌的改进算法d引入混沌系统来构建随机模板,借助于混沌系统的非线性、伪随机、对初值高度敏感等特性提高算法的安全性。对混沌系统的选取和混沌输出序列的预处理进行了详细的讨论。并且在虚拟环境下对明文和随机模板在透镜前的干涉过程引入权重因子,进一步提高算法的复杂度。

一、虚拟光学成像系统

虚拟光学成像系统是借助数字化的方法来仿真光学数据处理过程,其原理如图1所示。待加密的信息平面和随机模板(用于模拟随机光场)由相同的、选定波长为A的相干光照射,在菲涅耳近似条件下,光波的传递过程可用菲涅耳衍射变换来描述。

1

如图1所示,明文信息阢和随机模板Ud t分别经过距离为矗o和d(d =di +d2)的菲涅耳变换后,在透镜前表面Pi发生干涉,干涉图经过透镜(设其复振幅透过率函数为;)到达后表面P2,在透镜后表面得到的复振幅UL2就是密文,密文可在通信链路中传递。加密过程中涉及多维密钥(UM,do,d,A,Jf),其中,U是和明文信息同规模的矩阵,体积大,传递困难。

解密时,首先从密文中减去随机模板UM在透镜后表面的复振幅分布,然后根据透镜成像原理再进行距离为di(透镜到像平面的距离)的菲涅耳变换得到明文信息的倒像,倒转该图像即可恢复明文信息。

为了便于计算机仿真对系统进行离散化采样,信息平面、随机模板、透镜后表面和像平面的离散化复振幅分布分别用UM(k,l),UM(k,l),ULZ(m'n),Ui(m,n)来表示,f(m,n,f)表示离散化透镜透过率函数,则上述加解密过程可以用式(1)(2)来描述:

1

(2)式中:

1

为离散菲涅耳衍射( discrete Fresnel diffraction,DFD),方法如下;其计算方法如下:

1

记:

1

容易看出VOI系统中随机模板密钥的作用仅在PM中,而式(1)明确显示PM对系统的加密结果是叠加的作用,改变密钥模板的1个比特,只能改变密文的被叠加部分的比特,自然不敏感,达不到“雪崩效应”。

二、结合混沌的虚拟光学成像加密系统

针对VOI系统存在的对随机模板密钥不敏感和密钥分发、传递不方便的问题,提出了基于混沌的改进虚拟光学成像加密系统( CBVOI)。图2为CBVOI加密系统框图,系统由随机模板生成模块和虚拟光学加密模块组成。系统中用混沌系统的“初值”和“系统控制参数肘作为密钥代替了原VOI系统的随机模板密钥。另外,虚拟环境下的加密过程中可以引入权重因子a进行明文和随机模板的衍射图在透镜前表面的干涉运算,并且a也可以作为密钥以增加算法的设计自由度和复杂度。

如图2所示,xo,yo,…代表了混沌系统中不同状态变量的初值,C1,c2...是混沌的系统控制参数,CBVOI加密系统的多维密钥主要由两部分组成,分别为混沌系统密钥(xo,y0,…,cl,c2,…)和光学系统密钥(d0,d,λ,f,α)!。

1

1、混沌系统的选取

用于构建随机模板的混沌系统在选取时主要考虑以下几个指标:系统的维数、Lyapunov指数和参数集合。维数高即混沌系统的状态变量多,可以增加加密系统多维密钥的维数;Lyapunov指数用来描述2个临近的初值所产生的轨道按指数方式分离的程度,可以作为动态系统对初值敏感性强弱程度的定量刻画,所以Lyapunov指数越大,混沌系统对初值的敏感性越大,即加密系统对密钥的敏感性越大。系统参数一般作为密钥,因此较大的可选参数集可以增大密钥空间,增加破译难度。

本文采用超混沌系统‘14J生成随机模板。系统描述如下:

1

式中,x、y,z、w为系统的状态变量,a、b、c、e、g、为系统参数。当a=—8,b=40,c=2,g=5,h=0.2,k=0. 05,P∈[1,6.2]U(8.5,20.6)时,系统处于高度随机的超混沌状态。如图3所示。该系统是一个具有四涡卷的超混沌系统。在P= 14时,系统(4)有2个正Lyapunov指数,Z1=1.80472一0. 3794,呈现比一般混沌系统更加复杂的动力学行为,该混沌系统适合用于构建随机模板。

1

2、混沌输出序列的预处理

混沌系统的离散序列值一般不直接作为密钥序列进行数据加密,而是经过适当的预处理,生成所需要的伪随机序列。例如用于图像加密时,由于图像数据的取值一般在一定的范围内,因此需要相应范围的密钥序列。另外,在有限精度条件下混沌序列的动力学特性会有所退化,这种退化也可以通过适当的混沌序列预处理来弥补,增大周期,提高序列的复杂度口.预处理过程,可以任选一个状态变量来构造伪随机序列,也可以多个状态变量组合生成伪随机序列。本文采用模运算和多个状态变量的组合方式,会使伪随机序列的复杂度增强,更不容易破解。

由于数值仿真的需要已将图像矩阵转换为[O,1]上的double型数据,因此本文采用如下方法进行超混沌输出序列的预处理,构造相应范围内的随机模板。

步骤1:按式(5)(6)将实值离散输出序列{xi,yi,zi,wi}转换为[0,255]内的整数序列。

1

Yi、zi和wi按相同操作。

步骤2:组合状态变量xi,yi,zi,wi生成混沌随机序列U= (Ul,Uz,...,UMXN)(M×N是待加密图像的大小),具体操作如下:

1

式中,xi=mod(xi,4),显然xi∈{O,1,2,3}。

对U按三元组进行赋值,三元组根据三i的不同按表1选取状态变量的不同组合形式。

1

步骤3:将随机序列U转存为M×N的矩阵并做归一化处理,生成所需的随机模板UM。

3、算法的描述

Algorithm 1:加密算法

输入:待加密图像Uo;

多维密钥:

1

输出:加密后图像U2

(1)根据超混沌系统的初值和参数密钥(xo,Yo,z0,wO,e)构建随机模板。

(2)根据密钥(A,f)计算透镜透过率函数t(m,n,f)。

(3)计算Uo和UM分别经距离da和d的菲涅耳衍射后在透镜前表面进行虚拟的加权干涉。

(4)U0(m,n)到达透镜后表面的复振幅分布ULZ,即为密文图像。

解密时,依据权重因子从密文中减去随机模板经菲涅耳衍射后形成的复振幅,便得到原图像在透镜后表面形成的复振幅分布,最后将其继续做菲涅耳衍射,在像平面处便可恢复原图像。

小知识之雪崩效应

雪崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,它指明文或密钥的少量变化会引起密文的很大变化,就像雪崩前,山上看上去很平静,但是只要有一点问题,就会造成一片大崩溃。 可以用在很多场合对于Hash码,雪崩效应是指少量消息位的变化会引起信息摘要的许多位变化。