为了提高加密信息的安全性等要求,我们提出了一种基于广义拟feistel结构的三角混沌分组加密算法。该加密算法将明文分成大小相等的子块,利用三角混沌产生伪随机序列和子块相结合对子块进行值替换,然后将三角混沌映射作为加密密钥,用替换后的子块和密钥相结合产生新的加密轮函数,利用广义拟feistel结构对替换后的子块进行加密,从而使混沌迭代与明文子块信息有机的结合,输出最终的密文。

一、三角混沌系统及其性能分析

混沌系统具有良好的密码学特性,常见的混沌系统有Logistic映射、Tent映射等,常将其产生相应伪随机序列同传统密码学加密算法相结合实现信息加密。

1、分段Logistic混沌映射性能分析比较

由于Logistic混沌映射的控制参数取值范围小,其混沌特性较弱,并不完全适合信息加密的需要。针对Logistic混沌映射的缺点,我们提出了分段Logistic混沌映射:

上述映射用表1所示的初始值,X0为混沌初始条件值,Yo为变化后的初始条件值,μ为Logistic混沌映射混沌控制参数,n为混沌迭代次数。

循环迭代产生伪随机序列并离散二值化,然后进行频数检验,平衡度分析,初值敏感性,Lyapunoy指数等性能测试,其结果如表2所示。

通过表2所示的结果看出,分段Logistic混沌虽然混沌特性良好,但是该混沌映射与传统Logistic混沌映射都具有密钥空间小的缺点,仍不完全适合加密需要。

2、三角混沌映射

针对Logistic混沌映射密钥空间小的缺点,根据Logistic混沌映射的特性的思想,现构造一种新的混沌映射,即三角混沌映射,如公式(2)所示:

其中初始条件x0的取值范围是0到l之间的正实数,参数t的选取范围是0到无穷大之间的正实数。该三角混沌映射对初始条件非常敏感,初始值的变化,将使而的值发生变化。为了检测三角混沌序列的性能特性,选取表3所示的初始条件,其中x0为混沌初始条件值,Yo为变化后的初始条件值,n为混沌迭代次数。

对所获得三角混沌序列离散化为二值序列并进行频数检验,平衡度分析,初值敏感性,Lyapunov指数测试,其结果如表4所示。

通过表4所示的测试结果来看,三角混沌映射的各项技术指标完全满足混沌序列的性能要求,但该三角映射虽具有混沌特性,但其混沌特性较弱。

3、改进三角混沌映射

为了改善该三角映射的混沌特性,在三角映射的基础上提出一种改进三角混沌映射为:

在表3所示的初始条件下,对改进三角混沌映射序列进行混沌性能测试,其结果如表5所示。从表5所示的测试结果来看,该映射具有随着初始值的改变所得不同随机序列之间的初值敏感性指数将发生显著变化的特点。

从表2,表4,表5所示的测试结果来看,改进三角混沌映射的性能指标总体优于分段Log18tic映射和三角映射,因此,将其应用于信息加密时,能表现出良好的安全特性,能适应不同场合的信息加密需要。

二、灰度扩散像素替换

现将三角混沌和灰度扩散机制相结合,对图像像素值进行替换,将大小为(mxn)的图像L分成4个子块矩阵A,B,C,D然后按照顺时针方向循环进行像素矩阵替换,如图1所示。

替换步骤如下:

第一步:将图像L分成四个子块A,B,C,D,按A一>B一>C->D顺时针方向对各子块矩阵像素值进行灰度矩阵像素替换。

第二步:对各子块按式(4)所示进行像素值矩阵替换,其中N=256,I为四个子块矩阵,K为混沌映射迭代n次后产生的混沌矩阵,Io为顺时针方向的下一次待替换像素子块矩阵。

上述变换的逆变换为:

第三步:依次对四个子块矩阵进行像素值的替换,然后对4个子块进行组合,得到像素替换后的图像L’,即一轮替换结束。

三、基于混沌映射的分组加密应用

feistel结构加密算法、将输入长度为2w的明文和密钥K相结合,将明文分组分成左右两个子块L和R,与轮函数进行逻辑运算,然后进行n轮迭代,迭代完成后,再将左右两半合并到一起以产生密文分组。而本文提出的拟feistel结构本质是经典类标准混沌映射函数:

的推广,因其具有feistel结构相同的性质,因此,本文将该分组加密结构称为拟feistel结构。

本文提出一种基于广义的改进拟feistel结构的分组图像加密结构。将混沌迭代产生的伪随机序列作为加密密钥,将用灰度扩散像素机制替换后的4个子块像素矩阵与混沌密钥相结合构造新的加密轮函数,通过迭代对图像进行加密。

1、加密过程

设像素替换后的图像L’的大小为(mxn),m和n为任意正整数。对该图像按顺时针方向分成4个子块,即左上角A为础,右上角B为X1i,右下角为C为x2i,左下角D为x3i,算法的具体加密过程为:

第一步:把像素替换后的图像L’分成4个子块矩阵(x0i,X1i,x2i,x3i)。

第二步:按照上述的混沌映射迭代变换(mxn)14次,产生加密密钥矩阵K,其大小为(mj2)×(n/2)。用加密密钥矩阵足的矩阵和子块矩阵x0i和X2i进行矩阵乘法运算并取模(式(6),式(7),N=256)。从而构造出轮函数F01+i,F21+i。

其中(X0i)T(X2i)T表示矩阵转置运算,轮函数矩阵露1和F’的大小均为(m/2)x(n/2),宰是指传统矩阵乘法运算。

第三步:用产生的轮函数F01+i矩阵和Xli子块矩阵进行逻辑异或并取模(式(8)N=256),并替换X0i子块矩阵。用X2i替换X1i+1(式(9)),用产生的轮函数F01+i和X3i子块矩阵进行逻辑异或并取模(式(1o)N=256),并替换X2i字块。用X0i替换X3i+1:

第四步:将加密后的四个子块矩阵组合得到密文图像,一轮加密运算结束,具体的迭代加密网络如图2所示:

2、解密过程

由于广义拟feistel结构具有相同的加密和解密结构,只需按主密钥相反的方向做迭代运算就可以正确解密。

四、广义拟fcistel结构三角混沌分组加密算法实验及结果分析

在实验中,对明文为256×256摄影师灰度图像和256×256 Lena灰度图像,采用上述三种混沌映射按照灰度扩散像素替换方法和广义拟feistel结构分组加密算法对摄影师图像和Lena图像进行加密,所得加密结果及直方图如图3所示。三种混沌映射迭代次数都为32768,t=103,β=35,xo=0.2,μ=4,分组循环迭代16轮。

1、统计分析

分别利用分段Logistic混沌和上述分组加密算法相结合,以及三角混沌和上述分组加密算法相结合,改进三角混沌和上述分组加密算法相结合分别对摄影师图像和Lena图像进行加密,加密结果的灰度统计分析均相同,其加密结果及其直方图如图3所示。

加密后的图像无法直接获取原图像信息,以及其灰度直方图呈均匀分布,能够抵抗统计攻击。

2、像素相关性

分析加密后的密文图像相邻像素,通过使用上述三种方法产生的伪随机序列对图像像素替换并利用广义拟feistel结构进行分组加密,对一幅加密后的图像,随机对明文和密文图像分别抽取像素,测得像素相关性(rv)在水平、垂直、对角线方向的相关性的值。针对三种不同的混沌和广义拟feistel结构分组加密算法相结合对Lena图像进行加密所得结果,采用相关性统计分析的结果如表6所示(其中密文l是采用分段Logistic混沌和广义拟fei8tel结构分组加密算法相结合所获结果,密文2是采用三角混沌和广义拟feistel结构分组加密算法相结合所获结果,密文3是采用改进三角混沌和广义拟feistel结构分组加密算法相结合所获结果)。

从表6所得结果来看:改进三角混沌和分组加密算法相结合能获得相对于分段Logistic混沌和分组加密算法相结合以及三角混沌和分组加密算法相结合更好的像素不相关性。

由于这种统计相关性指标无法真实刻画图像像素空间分布的均匀性程度,下面将引入描述图像空间分布特征的共生矩阵特征,以便客观地评价像素空间分布情况。

3、空间相邻像素的随机性分析

共生矩阵是一种通过计算图像中特定方向和特定距离的两像素灰度级出现次数的统计量,常用来研究图像的纹理特性。本文利用共生矩阵所对应的熵(BNT),相关性(COR),能量(ASM),对比度(CON)等指标来研究图像相邻像素空间分布均匀性特性。

熵用于度量图像中相邻像素对的随机特性,其值越大表示随机性好。

相关性用于度量图像中相邻像素对在给定方向上的相似程度,其值越小表明相关性就越好。

角二阶矩(即能量)是刻画图像纹理粗细程度和均匀程度的度,其值越小表明图像纹理较细。

对比度是用来刻画图像纹理深浅和清晰程度的度,其值越大则表明纹理较深。

(1)分段Logistic混沌映射

采用分段Logistic混沌映射和分组加密算法相结合对Lena图像进行加密,其纹理特征指标计算结果如表7所示。

通过表7所示的实验结果来看,分段Logistic混沌映射和分组加密方法相结合的加密图像所得共生矩阵呈均匀分布特性(因不同方向共生矩阵的熵值与最大熵值11.0904相差较小等)。表明加密图像相邻像素空间分布具有良好的随机特性。

(2)三角混沌映射

采用三角混沌映射和分组加密算法相结合对Lena图像进行加密,其纹理特征指标计算结果如表8所示。

通过表8所示的实验结果来看,三角混沌映射和分组加密方法相结合的加密图像所得共生矩阵呈均匀分布特性(因不同方向共生矩阵的熵值与最大熵值11.0904相差较小等),表明加密图像相邻像素空间分布具有良好的随机特性。

(3)改进三角混沌映射

采用改进三角混沌映射和分组加密算法相结合对Lena图像进行加密,其纹理特征指标计算结果如表9所示。

通过表9所示的实验结果来看,改进三角混沌映射和分组加密方法相结合的加密图像所得共生矩阵呈均匀分布特性(因不同方向共生矩阵的熵值与最大熵值11.0904相差较小等)。表明加密图像相邻像素空间分布具有良好的随机特性。

另外,通过对比表7、表8、表9中熵,角二阶矩,对比度特征参数可看到,改进三角混沌和分组加密算法相结合能保证相邻像素的熵和对比度特征参数的平均值达到最大,角二阶矩的特征参数的平均值达到最低(其它两个特征参数的平均值相差较小),这进一步表明了所提出的改进三角混沌和广义拟feistel结构分组加密算法相结合具有较好的加密特性。

4、差分分析

针对Lena图像采用上述三种混沌映射和广义拟feistel结构分组加密算法相结合,以及相同的初始条件进行加密后的密文图像,采用像素变化率NPCR来度量这种变化。对于一幅原始明文图像,其加密图像为C1,若对其修改一个像素点的灰度值进行加密,结果为C2,比较灰度值矩阵C4和C2所有点的值。如果cl(iD=c2(i'力,则DI(i, j)=1,否则为0,定义:

采用像素变化率NPCR来度量,结果如表10所示。

通过表10所示的实验结果来看,改进三角混沌和分组加密算法相结合相对于分段Logistic混沌和分组加密算法相结合以及三角混沌和分组加密算法相结合的NPCR较高。表明这种广义拟feistel结
构分组加密算法具有相对较高的抗差分攻击能力。

小知识之Feistel 密码结构在密码学研究中,Feistel 密码结构是用于分组密码中的一种对称结构。以它的发明者 Horst Feistel 为名,而Horst Feistel 本人是一位物理学家兼密码学家,在他为 IBM 工作的时候,为Feistel 密码结构的研究奠定了基础。