安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

广义拟fcistel结构三角混沌分组加密算法

更新时间:2022-10-28 15:45:42


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

广义拟fcistel结构三角混沌分组加密算法

为了提高加密信息的安全性等要求,我们提出了一种基于广义拟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 密码结构的研究奠定了基础。

立即下载试用

图像文件加密新算法之广义2D-Arnold映射

针时图像加密算法容易被破解、效率低等问题,提出了一种基于广义2D-Arnold映射和超混沌的图像文件加密算法。这种难过图像文件加密算法可以确保在安全可靠的前提下,明显提高效率。

一、图像的置乱过程

1、广义2D-Arnold映射

广义2D-Arnold映射是一个2维保面积的一一映射,单位矩阵的任一点唯一地变换到单位矩阵内的另一点,可逆映射,没有吸引子,非常适合图像置乱。实际上,Amold映射包括拉伸和折叠两个过程,乘以矩阵C,x,y变大,相当于拉伸,取模,使x,y又回到单位矩阵内,相当于折叠。如此循环往复,最终达到混叠的目的。映射方程为:

图像文件加密新算法之广义2D-Arnold映射

式中a,b,N为正整数,参数a,b以N为周期,要求a,b∈N。若初始值x0,yo为正整数,则xn,y为(x=O,1,2,…)也均为正整数。可通过将图像的像素坐标或灰度值作为初始值进行迭代来实现图像的置乱。对于图像内原来相邻的两点如(xn,yn)和(xn+1,yn+1),其像素坐标经广义猫映射迭代几次后不再相邻;具有均匀概率分布的猫映射还可以保证经过一定次数的灰度值迭代后,原图像的灰度直方图由具有特定的统计规律改变为呈均匀分布,从而达到图像保密的目的。

2、原始图像的置乱过程

假设原始明文图像大小为MxN。置乱过程的步骤如下:

(1)读入原始明文图像,如果M>N,将原始明文图像的第一列数据复制到N+1列,第二列数据复制到第N+2列,依此类推,直到满足M=N为止,得到正方形图像,反之一样。

(2)使用2D-Amold映射置乱像素点位置,通过式(2)对调整后的正方形图像进行置换。2D-Arnold映射参数a和b和置乱轮数优为密钥,2D-Arnold映射矩阵的各个数据分别为A11=1,A12=a,A12=b,A22=ab+1,从而保证2D-Arnold映射矩阵的行列式|C|=1。

图像文件加密新算法之广义2D-Arnold映射

二、图像的扩散过程

1、超混沌系统模型

超混沌系统的动力学方程如下:

图像文件加密新算法之广义2D-Arnold映射

式中,a,b,c,d,e为系统参数,当a=10,b=45,c=2.5,d=4,e=5时,系统存在超混沌吸引子,表现为超混沌运动。在Matlab7.O的环境下对系统进行仿真,得到超混沌系统仿真结果,如图1所示。系统具有更复杂的相空间,表现出更加复杂的动力学性质,产生的混沌序列具有更好地随机性,用它设计密钥更加安全。

图像文件加密新算法之广义2D-Arnold映射

2、超混沌密钥序列的生成

使用超混沌方程式(2)生成超混沌序列的步骤如下:

(1)超混沌系统取四个初值x,y,z,w,预迭代N次,得到xo,Yo,z0,wo及迭代次数No,将其作为初始密钥。

(2)对超混沌系统以初始值xo,Yo,z0,wo迭代L/4次,得到四组超混沌序列{Xk,yk,Zk,wk},(l≤k<L,L =MAX(M,N)xMAX(M,N))。

(3)初始化—个空序列Aa设M=mod(X1,Yi,ZI,wl,2),若m=0,将(X1,Yi,Z1,WI)加入序列A,若m=1,将(yl,Xi,Z1,Wl)加入序列A,若m=2,将(Z1,Xl,Yi,W1)加入序列A。

(4)初始化—个空序列Bo设n=mod(xk+yk+Zk+wk,2),若n=0,将(W1,XI,Yi,Zl)加入序列B,若m=1,将(Z1,xi,yl,w1)加入序列B,若m=2,将(z1,wl,Yi,XI)加入序列B。

重复执行步骤(3)和(4),生成两个长度为L的原始混沌序列A和B。

按照变换式:

图像文件加密新算法之广义2D-Arnold映射

对混沌序列进行改造,得到混沌密钥序列k1,k2。k1i(i)∈[O,255],k2i∈[O,255]。

式中,floor(x)表示取不大于x的最大整数;mod(x,y)表示取x除以y所得的余数。

3、图像的扩散操作

图象扩散操作由以上两个混沌系统产生的密钥对图象进行两论扩散操作。在扩散过程中使用混沌系统产生的两种密钥交替加密,并引入密钥扩散机制,使明文、密文、密钥之间的关系更加复杂。把得到的超混沌序列按照置换的图像矩阵的大小变换成矩阵形式,称之为灰度矩阵H1和H20经过这样的变换,要扩散的图像矩阵就和灰度矩阵具有同样地大小,便于进一步处理。

第一轮扩散加密过程如下:

图像文件加密新算法之广义2D-Arnold映射

第二轮扩散加密过程如下:

图像文件加密新算法之广义2D-Arnold映射

其中,D表示置乱后图像矩阵,E表示加密后图像矩阵,Eo.o,EM.N为加密第一个明文像素时的初始密钥,E0.∈[O,255],EM.N∈[0,255],H1和H2为混沌灰度矩阵。

在以上的算法中,Eo.o为a和6进行二进制“位异或”运算;mod(a,b)为“盘除以b”得到的余数。

由上述的加密方法看到,图像的扩散过程由两个混沌灰度矩阵共同作用,扩散过程不仅与明文相关,也与密文相关,同时引进了非线性的“取模”操作,因此,攻击者想要破译出最终的密钥的可能性是非常小的。

三、图像的解密过程

解密过程是加密的逆过程,首先,利用初始密钥生成的超混沌密钥岛和k2,把得到的超混沌序列按照置换的图像矩阵的大小变换成灰度矩阵H1和H2,实现置乱图像的复原。

反置乱过程如下:

反置乱过程是置乱过程的逆运算,利用相同密钥的2D-Arnold映射的逆矩阵进行像素点位置的复原,逆矩阵如式(1O)所示。

图像文件加密新算法之广义2D-Arnold映射

四、实验仿真

本文使用256位的经典测试图像lena.bmp在Matlab7.O下进行仿真,设定式(1)的系统参数a=M-2,b=M-4,m=16,保证ab都是小于M的正整数,而且密钥a,b与图像的大小相关。式(2)的系统参数a=10,b=45,c=2.5,d=4,e=5时,系统是超混沌的,超混沌系统初值取为(0.22,0.57,1.O,0.30),微分方程的求解的时间步长为0.001,预迭代次数No =1000,初始密钥Eo.o=102,EM.N=28.Lena原图像如图2(a)所示,加密后的图像如图2(b)所示。比较原始图像和加密图像后发现,二者存在巨大差别,加密图像已经完全隐藏了原始图像。原始图像的直方图和加密后的图像的直方图如图3所示,原始lena图像的像素值分布非常不均匀,加密后的直方图表明像素值在[0,255]内呈均匀分布。因此,该算法能够有效地防止统计分析的攻击。

图像文件加密新算法之广义2D-Arnold映射

五、安全性分析

1、像素的相关性分析

像素的相关性指相邻像素的相似的程度,相关性越大,灰度值的差别越小,图像信息的冗余度也越大。考察相关性,主要方法是考察水平、垂直、对角线相邻像素的相关性。图4显示了明文与密文水平方向的相关性,可见原始图像的相关性很大,本文算法加密后的密文图像的相邻像素的相关性呈现随机的对应关系。

图像文件加密新算法之广义2D-Arnold映射

相关系数又称皮(尔生)氏积矩相关系数,能够说明两个现象之间相关关系密切程度的统计分析指标。从原始图像和加密后的图像的水平、垂直及对角方向取lOOO对像素对,根据式(11)进行相关系数计算。

图像文件加密新算法之广义2D-Arnold映射

式中,xi,yi分别表示图像中第i组相邻像素的像素值,N为像素对的组数,r为相邻两个像素的相关系数d如下表1所示,原始图像lena的像素存在高度的相关性,r接近于1,对应的密文图像的相关系数r接近于0,基本不存在相关性。表明本文的加密算法能够有效地掩盖原始图像的统计特征。

图像文件加密新算法之广义2D-Arnold映射

2、时间效率分析

本算法的仿真实验在Matlab 7.1的实验平台上进行,实验所使用的硬件环境为Intel酷睿i3 3220CPU,3.3GHz主频,2GB内存,120G硬盘口使用本文算法加密一幅256x256的灰度图像的平均时间为47ms,加密算法的速度比较高。

3、密钥的敏感性分析

本算法选取256x256的8位经典测试图像lena.bmp进行测试,2D-Arnold映射的参数a=M-2和b=M—4,置换轮数m=16,超混沌系统初值(x,y,z,w)=(0.22,0.57,1.O,0.30)作为密钥进行加密,然后对超混沌的初值进行微小的扰动(x,y,z,w)=(0.22+10也,0.57,1.0,0.30)生成的密钥进行解密。原始图像和密钥微小扰动之后的解密的图像如图5所示,解密后图像与原始图像存在巨大差别。均方误差MSE可以度量原始图像和解密图像之间的差别,其表达式为:

图像文件加密新算法之广义2D-Arnold映射

这里,P={P(i,j},E=e(i,j)),i=1,2,..,M,j=l,2,…,N 。 P表示原始图像,E表示解密图像。

表2给出了本文算法的正确密钥及错误密钥所得的解密图像分别与原始图像之间的均方误差值,使用正确密钥解密,解密图像与原始图像的均方误差为O.OOOO,在其他解密钥保持不变,超混沌方程的4个初值x,y,z,w分别与正确值相差10-12,结果显示,正确密钥可以完全解密,而具有微小扰动的密钥的解密图像与原始图像差别巨大,表明本算法对解密密钥非常敏感。

图像文件加密新算法之广义2D-Arnold映射

小知识之映射

映射,或者射影,在数学及相关的领域经常等同于函数。 基于此,部分映射就相当于部分函数,而完全映射相当于完全函数。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16424.html