基于两个混沌系统实现对潜在攻击提高安全性以及更好的整体性能的可能性。我们提出了一种基于两个混沌系统的新型伪随机序列发生器,用此序列对图像文件进行加密和解密具有非常不错的效果。
一、基于双混沌系统的伪随机数发生器
1、参数随机变换的一维线性映射
具有良好随机统计特性的一维分段线性混沌映射,其定义为:
其中,X∈1=[0,1)p∈(0.1/2)。
F是一个在n-bit有限精度下实现的逐段线性混沌映射。
我们定义在n-bit精度下,迭代次数为k的一维线性映射的表达式为:
该映射产生的混沌序列足混沌的,其输出信号{X(t)}在[0,1]上遍历,且具良好的自相关特性和均匀分布特性。
实值混沌随机序列经过计算机运算后都会变成伪随即序列甚至足周期序列。由于有限精度效应,直接通过迭代生成的序列有如下缺点:固定的混沌参数p易被破解,在有限精度实现下,易陷入周期循环。而且周期不能保证足够大。
为了解决这些问题,本文设计了一个混沌参数随机变换的混池系统如图1所示。
Ep是2n个一维线性混沌映射,表示为Ep(1)-Ep(2n)。所有2n个Ep都是基于同一个定义在[0,1]上的一维混沌映射Fe(xe,pe)。只是控制参数pe(1)-pe(2n)和初始条件不同。所有的Ep都足在n=16bit精度F实现的。
Cp是一个单独的一维线性混沌映射,用来控制2n个Ep的初始化和迭代过程。它也是定义在[O,l]上的一雉混沌映射Fc(xc,pc)。它的参数与初始值与Fe不同。它的初始值是系统随机生成一个伪随机序列s(i)。利用它作为Cp的初始条件根据式(2)生成随机序列x(i);可知[x(i)]的取值空间为216。
以x(i)作为Ep的初始条件,系统中参数根据x的量化值在p的可能取值p1,p2,…,pn中选取p,则p的选取次序为I=Lx(j)x2161,从p(1)∈lp[216)}中得到,其中[*]为取整。
在生成密钥的过程中,每次的p都不同且p的选取取决于s(i)。s(i)是随机选取的。所以p是随机变换的。这种系统可视为由n个具有不同参数的一维分段线性混沌级连而成。
2、基于双混沌系统的效字化实现
根据式(2)产生的模拟序列用量化函数进行傲化得到0-1二进制序列:
其中n>0为任意正整数,I0n,I1n,I2n,…是区间[0,1]的2n个连续的等分区间。由于混沌序列{x(t)}具有良好的随机统计特性,这样生成的{Sn(t)}在理论上具有均衡的0.1比和σ-1ike的自相关等优良的统计特性。
定义两个一维线性映射F1,F2用参数切换法进行控制。当它们都满足式(1)定义的混沌映射,设计如图2的加密系统。
F1, F2为图1所示的参数随机变换的一维混沌映射。{s1(i)},{s2(i)}均为n=16bit的伪随机序列。为于扰混沌的动力学特性,将混沌轨道量化后义进行异或运算。
其中:
3、量化混沌序列的密码学特性
(1)统计特性
首先对系统产生的二进制序列进行分析。
(2)伪随机比特的最小周期
取精度n=16,则两个混沌系统生成的序列{x1(i)}和{x2(i)}的最小周期为22n=232.同样二进制序列{S1(i)}和{S2(i)}的取值空间为22n。由异或特性,22n个序列值异或遍历的序列空问为(22n)(22“)=24n=264,则二进制序列的最小周期长度为204,即混沌序列的最小周期Tmi。=3.4* 1039,这对一般的加密系统已经足够了。而且,可以通过提高精度n=32,这样可以达到2128。这就很安全了。
(3)高线性复杂性和理想的相关特性
此密钥序列为均匀分布序列,二值密钥流序列为独立同分布。序列具有σ-likc的自相关函数和近乎为o的互相关。二进制序列的线性复杂度大约为其长度的一半,即k(i)的线性复杂度为2n-1。
二、基于位运算的加密算法思想
在数字图像的文件中存储的主要是图像的颜色和灰发信息。例如常用的BMP格式图像文件由衷头、调色板和图像数据3部分组成。表头长度固定为54个字节,其中保留了有关图像的参数信息,如使用的颜色、图像尺寸、文件大小、压缩标志等。加密就是对一幅图像的数据逐位进行特定的位运算,改变原有图像的数据信息。这样处理后的图像掩盖了原来的罔像信息,达到加密的目的。我们采用了基于流密钥位运算的图像加密算法。
由图2所示,加密系统生成一个随机性好、长周期的密钥序列。采用流密钥加密常用的异或运算对图像数据文件进行加密。生成的密钥长度和图像数据位数相同,逐个进行辅助数据与图像数据的异或操作,得到加密图像。解密时,只有得刭正确的密钥序列,才可以对加密的图像数据进行异或运算恢复出原始的图像。本文的实验中用的是8位的BMP图像,其文件中图像脚1个字节的数据表示一个像素的颜色信息,因此生成的密钥序列是图像像素数的8倍。
三、实验结果
利用本文提出的加密算法时多幅数字图像文件进行了加密和解密实验。系统参数和混沌序列的精度均为n=16bit,结果如图3所示。
图3(a)是一幅600×415的8位灰度图像加密前原图和灰度直方图,可见其灰度分布与它的图像特征相符合。图3(b)是加密后的图像和灰度直方图,加密后的图像灰度分布均匀,隐藏了原图像的特征。图3(c)是正确密钥和密钥切值变化变化0.000 015(1/2n)生成的二值序列解密的图像。可见,错误解密的图像无法辨认出任何有用信息。
小知识之伪随机序列
伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机序列的随机特性。