传统的基于Logistic混沌序列的加密算法一无法加密较为复杂且能够记录更多内容的灰度图像,针对这一问题,我们提出了一种基于映射序列位扩展的灰度图像混沌加密算法。

一、基于位扩展的灰度图像混沌加密算法

1、 Logistic混沌序列及其对二值图像文件的加密

Logistic混沌映射是一类非常简单却被广泛研究的动力系统,定义如下:Xn+1 =μXn(1一xn),Xn∈ (0,1)。

通过简单的变换,Logistic映射可以在(-1,1)区间定义:Xn+1=1 - λx2,λ∈(0,2)。

实验证明,当λ =1. 401 15时,动力系统进入混沌状态,在λ=2的满射条件下由映射所得到的混沌序列可能充满整个定义域(-1,1),此时的迭代公式为:

Xn+1=1-2xn2。

通过其密度函数可以得到Logistic映射产生的混沌序列的统计特性,结果表明动力系统进入混沌状态以后,产生的混沌序列具有均值为零,δ- like自相关以及互相关为零的类似白噪声的统计特性和传统的源于经典加密理论的图像文件加密方式相比,利用混沌序列加密图像的优势在于:

①密钥空间大,混沌系统一般定义在实数空间上,并且产生的序列对初始值十分敏感,因此系统参数或者初始条件的微小差别就会引起混沌序列的巨大变化;

②混沌序列的产生比较方便,运算复杂度低、速度快,并且具有自相关强、互相关弱的优良的随机性,非常适合作为水印嵌人到载体文件中;

③实施简单,在空域上替换图像的像素值即可;

④鲁棒性好,由于只对像素值进行简单的替换,因而对噪声攻击、锐化处理等具有较好的鲁棒性。

但是,根据Logistic序列的特性不难看出,虽然其在加密图像时安全性好、鲁棒性高且易于实现,但是最大的不足在于传统的基于Logistic混沌序列的算法只能通过简单的象素替换加密二值图,却无法应用于灰度图像的加密,显然具有256级颜色的灰度图像比二值图像利用价值更大。据此,本文提出了一种基于映射序列位扩展的灰度图像混沌加密算法。

2、基于位扩展的灰度图像混沌加密算法基本思想

灰度图像的每个像素可由8位二进制表示,其包含的信息量比相同分辨率的二值图像丰富,利用灰度图像有利于我们构建数字水印系统时嵌入更多的版权保护信息。进而从理论上分析如果能够利用性能优良的混沌序列去加密灰度图像,应该能够在取得良好的置乱效果和一定加密效率的前提下保证算法的安全性。

本文在充分研究了原有的二值图像加密算法的基础上,结合混沌序列的特性提出了一种基于位扩展的灰度图像加密算法,算法基本思想是通过混沌迭代公式生成一组实数,由规则转化成二进制数组,这个数组的个数为灰度图像大小的8倍,即让每个像素点值对应8个二迸制数。依次将8个二进制数与灰度图像每个像素点值的二迸制形式逐位比较运算,得到=组新的二进制数,将产生结果8个一组形成十进制数据,即为置乱后的图像灰度值。

3、基于位扩展的灰度图像混沌加密算法描述

设灰度水印图像为形,大小为M×N×256,则位扩展灰度图像加密算法的步骤描述如下:

1)设定参数λ和x0,由迭代公式Xn+1=1- λx2(n≥O)生成序列{x1,x2, …,xl},其中l>M×N×8。将前面的若干位舍去,从中间某一位开始选定长度为M×N×8的实数序列记为S,则序列中每个元素为si;

2)将S二值化,得到一个M×N×8位二值序列P={Po,P1,…,PM×N×8-1},二值化规则为:

基于位扩展的灰度图像混沌加密算法

3)由于灰度图像的每个象素值的范围在0到255之间,可表示为8位二进制数。将灰度水印图像形表示成二进制数组Q,每个元素qj(j={O,1,…,M×N一1})是8位二进制数;

4)将二值序列P中的第8×j位到第8×j+7位的8个二进制位组成数据tj,将tj与灰度图像二进制表示的元素qj中的每一位按公式基于位扩展的灰度图像混沌加密算法生成加密后的二进制元素,并将之转换成一个十迸制数w'j,以上j∈{O,1,…,M×N-1}。

5)从而得到一个十进制序列,最后将新的十进制序列按行展开成一个大小为M×N的二维矩阵即可得到置乱后的灰度图像,步骤1中的λ、x0作为加密密钥key1、key2。

4、基于位扩展的灰度图像混沌加密算法实现

采用VC++6.O编写算法实现的代码,具体流程如图1所示。通过实验,发现一次混沌置乱在原始图像较复杂的情况下仍会留下图像的细微轮廓,可用不同的两组密钥将上述算法执行两次,以达到更好的效果。

基于位扩展的灰度图像混沌加密算法

在实际算法中,第2组密钥由第1组密钥key1和key2自动形成:key1=keyl1+0.01,key2 =key2 +0.001。解密的过程同加密时进行的操作基本相同,解密时只需首先由正确的密钥生成第2组密钥,用第2组密钥先解密1次,再用原密钥解密1次,即可恢复出水印图像。

二、实验结果分析

1、置乱效果

本文实验所用计算机处理器主频为'1.8 GHz,内存为512 MBo,使用尺寸为256 x256的灰度图像进行置乱,基于位扩展的混沌置乱算法的密钥设定为λ=1. 952,xo=0.143;Arnold置乱算法的密钥设定为14 。原图和置乱后的结果如图2所示,可以看出,文中提出的置乱算法具有较好的置乱效果。

基于位扩展的灰度图像混沌加密算法

2、耗时测试

实验的目的是验证位扩展混沌算法的实效性。Arnold算法在图像尺寸为128×128、256×256、512 ×512的周期依次为96、192、384,分别设定置乱密钥为50、100、200;位扩展混沌算法的密钥统一设定为λ=1. 952,x0=0.143,则结果如表1、表2所示,精确到毫秒级。

基于位扩展的灰度图像混沌加密算法

实验表明:基于位扩展的灰度图像混沌加密算法在实效性上优于Amold算法,图像越大优势越明显。

对于颜色信息更多的彩色图像来说,应用位扩展算法进行加密从理论上分析同样是可行的,只需将扩展的位数由8位增加到24位。新的加密算法能够广泛应用于信息安全领域,特别是数字水印系统中对水印图像的预处理阶段,亦可用于其他领域的图像文件加密,且加密算法具有较高的安全性和鲁棒性。

小知识之位扩展

存储信息一般是存储在存储器(ROM、RAM)上的 。在实际应用中,经常出现一片ROM或RAM芯片不能满足对存储器容量需求的情况,这就需要用若干片ROM或RAM组合起来形成一个存储容量更大的存储器。而组合方式有字扩展和位扩展两种。
把用位数较少的多片存储器(ROM或RAM)组合成位数更多的存储器的扩展方法。位扩展只是扩展的位数。