对Baker映射进行三维扩展,提出一种基于三维混沌映射的混沌加密方案.与二维映射相比,扩展后的三维Baker映射具有更大的密钥空间、更快的混迭速度和更广的应用范围,这种三维Baker映射与扩散函数相结合,增加了密码强度,起到良好的加密作用。
一、二维Baker映射扩展到三维
连续二维Baker映射是在平面内沿z轴切分竖条,并将每个竖条沿x轴扩展,再沿y轴压缩,保持面积不变,这样层层垒起,这是一个混沌映射,其过程如图1(a)所示。
变换公式为:
将Baker映射过程用于三维空间,即将立方体分别沿x轴和y轴切块,得到4个立方条,再将每个立方条在保持体积不变的情况下压扁,层层堆叠成新的立方体,此过程延续了二维Baker映射的混沌特性,如图1(b)所示。这种扩展的映射过程也可先按x、Z平面作一次二维Baker映射,再按yz平面作一次二维Baker映射而得到。具体过程如下:
1)设原立方块中一点P的坐标为(x,y,z);
2)按xz平面作一次二维Baker映射,此时P点映射到新的位置P',即:
3)按yz平面作一次二维Baker映射,此时P'点映射到新的位置P",即:
将三维Baker映射一般化和离散化,并推广到任意分割和任意尺寸长方体的情况。具体算法如下:
设长方体尺寸为N×M×H,沿x轴方向分割成Lx块,有(ni,i=1,2,…Lx,n1+n2+…+nLx=N};沿y轴方向分割成Ly块,有{mj,j=1,2,…,Ly,m1+ m2+…+mLy=M}。分割后块nixmj×h中的一点(x,y,z),经三维Baker映射为:
其中:
二、三维和二维Baker映射的比较
1、参数空间
FridrichCU对二维Baker映射的参数空间作了分析,得出长度为N的映射矩形,其参数空间为2N-1。在三维情况下,分别沿x和y两个方向分块,比二维情况下获得的参数空间更大,密钥空间也更大。对于三维Baker映射,如果沿x轴和y轴的长度分别为Nx和Ny,则其参数空间为:
2、混乱速度
分别用二维和三维Baker映射来置乱相同的图像(将图像像素排列成长方体,便可利用三维Baker映射来置乱),并用分形维数来比较二维和三维Baker映射的置乱速度,对256×256的lena和couple进行测试,得到分形维数和置乱次数的关系如图2所示。映射的分割方式随机选定,计算图像分形维数的距离序列为(4,6,8,10,12,13,15}。
由图2可见,lena图像的分形维数为2.5292,经过一次三维置乱后为2.979 1,经过一次二维置乱后为2.8764,且随着置乱次数的增加,分形维数越接近于3;对于couple图像也有类似的结果。选择不同的分割方式,结论类似,对于相同的图像,三维Baker映射只需较少的置乱次数,便可获得较高的分形维数,可见三维Baker映射比二维Baker映射具有更快的混乱速度。
3、应用范围
扩展后的三维Baker映射可实现三维空间的位置置乱,除了用于图像的置乱外,还可用于立体图像、视频图像序列和多频谱图像序列的加密,以及其他三维数据的加密等。
三、一种基于三维Baker映射的加密方案
混沌映射实现的是混乱功能,如果只用它进行加密,对于已知明文攻击是不安全的。将其与扩散函数相结合,同时增加混乱和扩散的次数,能够增强密码强度。由此构建如图3所示的对称加密方案。
在图3中,扩散函数按光栅扫描方式,采用当前像素灰度值与前一个相邻的像素之间的扩散,这种方式的扩散速度更快。这里按此方法设计一种扩散函数,令Pi为扩散前的像素值,Ci为扩散后的像素值,L为像素灰度级数,则扩散过程为:
C0由用户密钥提供,解密时,反扩散过程为:
四、密码分析及实验结果
1、密文图像直方图均匀分布
图4为图像加密前后的直方图比较,显然,加密后couple图像的直方图比加密前更均匀。通过对多幅图像测试都得到了类似结果。由Shannon对高强度理想密码和唯一性距离的定义可知,对于已知密文攻击,用该方法加密后,密文图像像素间的相关性较小,密文信息对推测密钥的贡献很小,这就增加了破译的工作难度,可见,此密码能够抵抗统计和已知密文攻击。
2、图像序列加密
用以上算法加密Bus图像序列,图像尺寸为240×352以240×352×32的图像块加密,原图像序列和加密后图像序列分别如图5所示(仅列出3幅)。可见,加密后图像内容完全不可理解。
3、算法速度测试
对以上算法与DES加密算法的加密速度进行比较。运行计算机为1.4 GHz CPU/256M RAM/Microsoft Windows操作系统,Baker映射的循环次数为4次。实验结果如表1所示,可见,基于三维Baker映射加密方法的加解密速度很快,达到1.2MB/s以上,因此更适于大数据量、实时性要求高的多媒体数据的加密。
小知识之混迭
根据奈奎斯特采样定律,对模拟信号采样时,采样频率要是信号带宽的两倍以上,才可能恢复出原信号,如果低于信号带宽的两倍,信号的频谱会产生混迭。