若是采纳三邻点扩散,那么D为3×3扩散矩阵,大于三邻点扩散时D构造比较复杂,一样不用。
应用式
(1)多次对图像自(0,0)开始逐行扩散,取得扩散后的图像。
通常取d12≥2,如此图像中每一个像素的灰度值将被放大扩散到整幅图像中,算法对被加密图像灵敏a逆扩散那么应用式
(2)从(N-1,N-1)开始对扩散后的图像逐行反方向扩散,进行图像还原。
二、映射置乱
所谓映射置乱是把原始图像中的像素从一个位置映射到另一个位置的置乱操作。
在图像文件加密置乱中的映射置乱要求可逆,如映射进程为map(x,y):
(ij)→(k,l),即在参数x和y的作用下,把原处于(i,j)的像素移动到位置(k,l)。
以达到对图像置乱的目的:
为保证被置乱的图像正确还原,要求映射进程是保面积的,且映射map(x,y)必需存在相应的逆进程map’(x,y):
(ij)→(k,l)。
广义Amold映射:
能够知足上述要求。
为表达方便,称
为映射矩阵。
在广义Amold映射中,要求|M|=1。
为简化映射矩阵构建,通常假设k11=一、k12=d和k21=e,那么J22=de+1。
到目前为止,所有采纳Amold映射的置乱算法都是在图像级进行置乱。
所谓图像级置乱,确实是直接把图像的像素从一点映射到另一点以达到图像被置乱的目的,其置乱前后像素灰度值的统计特点没有被改变,如此在已知图像的情形下很容易受到解决。
其平安性不佳,为此,本加密算法采取基于位平面置乱。
所谓基于位平面置乱,是把一幅原始图像G视作由假设干个位平面组成(如256级的灰色图像有8个位平面),在每一个位平面上用Amold映射对图像中各像素的比特位进行置乱操作。
为了抵达像素级置乱成效,在不同的位平面上采纳不同的映射矩阵。
其映射进程:
其中P为图像的位平面数,{1,dp,eP,dpep+1}为第p个位平面上所采纳的映射矩阵的元素值,由参数序列{(dp,e,)}决定。
由于采纳不同映射矩阵,同一像素中的各个比特位将被映射到不同的位置上,从而达到像素级置乱的目的,也确实是说,映射进程除像素被置乱,同时各像素的灰度值也被置乱,原始图像的统计特点完全被破坏。
一样情形下,Arnold逆映射要计算映射周期后才能确信逆映射次数,而且该映射周期与被处置图像的大小并非成正比关系,为提高Arnold逆映射的速度和效率,有资料提出一种Arnold逆映射的新算法,但该算法不适用于广义Arnold的逆映射,且效率不高。
观看式(3)不难发觉,Arnold映射进程是把原图像位置(i,j)上的像素映射到(k.l)位置上,那么其
逆映射即为把(k,l)的像素映射到(i,j)位置上。
因此,可以用式(3)的映射过程由(i,j)求得(k,l)后,把位置(k,l)上的像素移动到(i,j)上即实现广义Amold的逆映射过程。
该逆映射方法简单,不需要进行判断,不仅可以适用于经典的Arnold映射,也适用于广义Arnold映射,无论是二维或三维均适用,而且计算时间大大缩短。
3、参数生成
在扩散置乱和映射置乱操作中,其置乱成效别离由参数序列{(as,bs)}和{(dp,ep)}决定,为简化用户操作,同时也使得扩散和映射操作完全依托于假设干个密钥,加密算法中利用一维Logistic系统概念一个二维非线性动力系统:
来生成这些参数序列。
其中为加大系统的复杂性,在二维非线性动力系统中增加了二次偶合项x2i-1,y2i-1和xi-1,yi-1。
当2.75<μ1≤3.40,2.7<μ2≤3.45,0.15<γ1≤0.21和
0.13<γ2≤0.15时,该系统进入混沌状态,生成(0.1.0)的混沌序列。
那么:
其中K的大小取决于扩散操作或映射操作。
一样在扩散操作时取较小值,而在映射操作时取较大值。
把生成的假设干组整数类随机参数{(CxP,CyP)}作为{(as,bs)}和{(dp,eP)}参数
序列。
该序列对初始值(xo,yo)十分敏感,不同的(xo,yo)将产生完全不同的随机参数序列{(as,bs)}和l(dp,eP)},从而到达图像置乱之目的。
二、图像文件加密
一、加密混沌系统
图形图像比较多采纳超混沌加密算法,常见的有Lorenz系统、Chua系统、Henon系统和Chen系统,其中Chen系统具有比其他三者更优越的动力特性,且容易用电路实现,因此,本加密算法采纳Chen系统:
其中当a=35,b=28,c=3时,系统进入混沌状态,其相空间具有超级优越的三维动力特性。
二、离散混沌序列
离散混沌序列产生采纳如下步骤:
1)应用四阶Runge-Kutta法,取初始值为(xo,yo,zo)和分步步长为0.01对Chen系统进行数值积分,每一个步长取得一组实数数值,该组数据类随机的实数型数值序列(xi;yi,zi)(i=1,2,…,M),作为初始的混沌信号序列。
2)对该混沌信号进行放大、量化和模运算:
取得一组取值范围为O~(K-1)的(nxi,nyi,nzi)(i=1,2,…,m)整数混沌序列,K为图像各基色的灰度级。
因为该序列是通过放大后模运算取得的,因此它对初始值(粕,Yo,zo)非
常敏感;而且由于空间非常大,使得攻击者无法从(nxi,nyi,nzi)推出(nxi+1,nyi+1,nzi+1)或(nxi-1,nyi-1,nzi-1)。
3、加密操作
为保证序列更具随机性,在整数混沌序列(nxi,nyi,nzi)中去掉迭代进程的前4000个点,取(nxi,nyi,nzi)(i=4001,4002,…,M)的整数混沌序列,组成N×N的矩阵形式(kxij,kyij,kzij),然后用该序列与置乱后图像G’中各个像素的红、绿、兰三基色进行异或操作:
取得加密后的彩色图像G’(Credij,Cgreerij,Cblueij)(i,j=1,2,…,N),其中0为异或运算符。
由于Chen系统对初始点(X0,Y0,Z0)十分灵敏,初始点有微小转变将产生不同序列。
用不同的初始点(X0P,Y0P,Z0P)(P=1,2,…,m),通过上述处置将产生完全不同的离散混沌序列(kxijp,kyijp,kzijp)(P=1,2,…,m),用这些混沌序列对原始图像进行多次异或运算:
取得最终的后图像G’。
图像置乱加密进程如图1所示a整个加密进程包括置乱和加密两部份。
第一在密钥(xo,yo)作用下通过二维构造系统(如式(5)所示)产生的离散混沌序列,应用式
(1)对原图像的基色值进行扩散,应用式(3)在位平面上进行广义Arnold映射,扩散与映射交替进行r次,r值取决于图像要求的平安级别,一样r=3已经足够。
然后在另一组密钥(xo,yo,zo)作用下通过Chen系统(如式(6)所示)和式(7)生成的混沌序列应用式(9)对置乱后的图像进行多次异或运算,以实现对图像文件加密。
三、图像文件的解密
整个解密进程如图2所示。
第一在密钥的作用下通过Chen系统和式(7)产生混沌序列,应用式(9)对加密后的图像进行解密。
由于对图像的加密/解密采纳的是异或运算,加密和解密进程完全一致,且在解密进程中只要密钥输入正确,与密钥的输入顺序无关。
接着在位平面上进行广义Amold的逆映射。
如上所述,由于直接求Arnold的逆映射比较困难,在本加密算法中,直接应用式(4)通过(i,j)求得(k,l),然后把位于像素(k,l)上对应的比特位映射到(i,j)像家上对应的比特位来实现广义Amold的逆映射。
在进行Amold逆映射进程中所利用的密钥序列要求和置乱时利用的序列顺序相反。
最后应用式
(2)对图像的各个基色进行逆扩散操作。
为了提高加密算法的平安性能,在加密进程中采纳扩散和Amold映射操作交替进行,解密进程那么要求Arnold逆映射和扩散交替进行。
四、实例与平安性分析
为了查验本加密算法的计算成效,在Pentium41.3GHzCPU,内存为384MB,WindowsXP操作系统下,用VisualC#实现上述进程,别离对彩色水果篮和灰色的Lena图像(均为256×
256幅度)进行加密和解密操作,结果如图3所示。
通过扩散和位平面置乱后的图像各个像素值已经被完全破坏,加密后的图像从直观视觉成效上看几乎一样,且能够实现完全不失真解密还原,还原结果与原始图像完全一致。
同时,该加密算法具有如下特点:
一、密钥空间庞大
因为Chen混沌系统和Logistlic系统对初始值(xo,yo,zo)和(x0,yo)超级灵敏,只要取值适当,初始值一个超级小的转变都能够产生完全不同的混沌序列。
在ViSU81c#上,计算原始混沌序列中Chen系统的(xi,yi,zi)和Logistic系统的(xi,yi)均采纳Decimal数值类型,当初始值误差为10的-18次方时,便产生不同的混沌序列。
也确实是说,解密密钥和加密密钥只要有10的-18次方的不同就无法进行解密。
同时每组密钥有五个值(即二维构造系统中的(xo,yo)和Chen系统中的(xo,yo,zo)),它们在实数域中的取值不受任何限制,同时许诺多次加密,具有超级大的密钥空间,能够抵御密钥穷举解决。
二、具有良好地抵御统计解决能力
对图像文件加密的另一种解决方式确实是对图像进行直方图分析。
图4所示为水果篮图像文件加密前后的统计直方图,图像加密后其各个颜色值均匀散布,平均基色值在(127.42-127.53),像素较均匀散布在各个基色值上,最大像素个数为302个。
由此可见,加密后的图像的统计散布完全被破坏,具有专门好地抵御统计分析的能力。
3、能够有效抵御像素相关统计分析解决
为了说明加密后图像的相关特点被完全破坏,随机取一些点,以该点为中心,计算其相邻各个点颜色值数学期望值、自相关和相互关和协方差。
每种颜色的自相关值为:
颜色之间的相互关值为:
应用上述计算公式,别离取像素(i,j)为中心的7×7点阵进行分析,分析结果如图5所示。
图中给出彩色图像文件加密前后随机选取的6000个像素邻域相关分析结果。
能够看出,原图像的大部份像素的邻域相关性在1.0周围,而加密后的图像各个像素的颜色值相关性超级小,因此,该文件加密方式能够有效地抵御采纳像素相关分析的解决。