1.一种基于超混沌系统投影同步的图像加密方法,包括对原始明文图像进行加密和解密的过程,其特征在于:加密过程,具体包括如下步骤:
1)、明文图像量化处理:对于像素为m×n、灰度级水平为G的原始明文图像,获得它的二维像素值矩阵A,将所述原始明文图像作为当前图像;
2)、产生超混沌序列:设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统,产生超混沌驱动系统的超混沌序列;
3)、图像行置乱:结合当前图像计算行置乱指标zh;结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱;把行置乱后像素值矩阵A对应的图像作为当前图像;
4)、图像列置乱:结合当前图像计算列置乱指标zl;结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱;把列置乱后像素值矩阵A对应的图像作为当前图像;
5)、图像扩散处理:结合当前图像计算时刻zk;结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像扩散处理,得到扩散后的像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像;
6)、重复步骤3)-步骤5)R轮,将每轮得到的行置乱指标zh存入序列{zh},将每轮得到的列置乱指标zl存入序列{zl},将每轮得到的时刻zk存入序列{zk},同时得到最后一轮扩散后的像素值矩阵A,将像素值矩阵A按照图像标准格式保存,得到大小为m×n的密文图像;
解密过程,具体包括如下步骤:
7)、密文图像量化处理:对于步骤6)中得到的密文图像,获得它的二维像素值矩阵C,将密文图像作为当前图像;
8)、构造与超混沌驱动系统结构相异的超混沌响应系统,使用投影同步方法对超混沌响应系统和超混沌驱动系统达到投影同步,产生超混沌响应系统的超混沌序列;
9)、获取序列{zk},取其最后一个元素作为当前的时刻zk的取值;同时,获取序列{zl},取其最后一个元素作为当前的列置乱指标zl的取值;获取序列{zh},取其最后一个元素作为当前的行置乱指标zh的取值;
10)、图像逆扩散处理:结合当前的时刻zk的取值和超混沌响应系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像逆扩散处理,得到逆扩散后的像素值矩阵C;把逆扩散后像素值矩阵C对应的图像作为当前图像;
11)、图像逆列置乱:结合当前的列置乱指标zl的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆列置乱;把逆列置乱后的像素值矩阵C对应的图像作为当前图像;
12)、图像逆行置乱:结合当前的行置乱指标zh的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆行置乱;把逆行置乱后的像素值矩阵C对应的图像作为当前图像;
13)、重复步骤10)-步骤12)R轮,按照逆序依次取序列{zk}中元素作为每轮中当前的时刻zk的取值,按照逆序依次取序列{zl}中元素作为每轮中当前的列置乱指标zl的取值,按照逆序依次取序列{zh}中元素作为每轮中当前的行置乱指标zh的取值;同时得到最后一轮逆行置乱后的像素值矩阵C,将像素值矩阵C按照图像标准格式保存,得到大小为m×n的解密图像。
2.根据权利要求1所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤2)中设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统,产生超混沌驱动系统的超混沌序列,具体是指:所述的超混沌驱动系统用式(1)表示:
式中,x1,x2,x3,x4,x5为超混沌驱动系统的状态变量,a,c,b,γ,λ1,λ2是为使得超混沌驱动系统具有超混沌行为的控制参数,输入初始条件xi(0)∈[0,1],i=1,......,5;使用欧拉数值方法、以步长h迭代式(1),h∈[0.0005,0.005],实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌驱动系统的超混沌序列{xi(j)},i=
1,......,5,j=1,2,......,(n1+10);当(m×n)/4为整数时,n1=(m×n)/4,否则,n1=fix((m×n)/4)+1,fix(·)表示取整运算,T为介于3000至300000之间的整数。
3.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤3)所述结合当前图像计算行置乱指标zh,具体是指:zh=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),其中mod(·,·)表示求余运算;
所述结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱,具体是指:根据行置乱指标zh的值分别为1、2、3、4时,对应取超混沌驱动系统的超混沌序列{x2(j)},{x3(j)},{x4(j)},{x5(j)};从取到的超混沌驱动系统的超混沌序列中提取前n个元素,记为{xh(1),xh(2),……,xh(n)},对超混沌序列{xh(1),xh(2),……,xh(n)}中的n个元素做升 或降 序 排 列 ,得 到有 序 排列 确定 有序 排 列中的每一个元素在超混沌序列{xh(1),xh(2),……,xh(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn},利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵A的每一行进行置乱,具体是将像素值矩阵A的每一行的第hi列像素值置换至该行的第i列,i=1,2,......,n。
4.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤4)所述结合当前图像计算列置乱指标zl,具体是指:zl=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),其中mod(·,·)表示求余运算;
所述结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱,具体是指:根据列置乱指标zl的值分别为1、2、3、4时,对应取超混沌序列{x2(j)}、{x3(j)}、{x4(j)}、{x5(j)}从取到的超混沌序列中提取前m个元素,记为{xl(1),xl(2),……,xl(m)},对超混沌序列{xl(1),xl(2),……,xl(m)}中的m个元素做升或降序排列,得到有序排列确定有序排列 中的每一个元素在超混沌序列{xl(1),xl(2),……,xl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵A的每一列进行置乱,具体是将像素值矩阵A的每一列的第lj行像素值置换至该列的第j行,j=1,2,......,m。
5.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤5)具体包括如下步骤:
51)结合当前图像计算时刻zk=mod((sum(A)+G),10)+1,其中sum(·)表示求和运算;
52)结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生二维密钥矩阵K,具体如下:对超混沌驱动系统的超混沌序列{x2(j)}从时刻zk起依次选取n1个元素:x2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:abs(·)表示绝对值运算;
对超混沌驱动系统的超混沌序列{x3(j)}从时刻zk起依次选取n1个元素:x3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:对超混沌驱动系统的超混沌序列{x4(j)}从时刻zk起依次选取n1个元素:x4(zk+(j-
1)),j=1,2,......,n1,并做如下加工处理:
对超混沌驱动系统的超混沌序列{x5(j)}从时刻zk起依次选取n1个元素:x5(zk+(j-
1)),j=1,2,......,n1,并做如下加工处理:
依次将加工处理得到的超混沌序列
由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
53)利用步骤52)得到的二维密钥矩阵K,对当前图像的像素值矩阵A按位进行图像扩散处理,具体由(2)式实现:B=bitxor(de2bi(A),de2bi(K)), (2)其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵B中的二进制数据通过式(3)转化十进制数据,得到扩散后的像素值序列{Bc}:Bc=bi2de(B) (3)
式中,bi2de(·)表示二进制转化为十进制运算;
54)依次将扩散后的像素值序列{Bc}的元素从左至右逐列存入像素值矩阵A,实现对像素值矩阵A的更新,得到扩散后像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像。
6.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤8)具体是指:构造与超混沌驱动系统结构相异的超混沌响应系统,用式(4)表示:
式中,y1,y2,y3,y4为超混沌响应系统的状态变量,a1,d1,c1,b1,γ1是为使得超混沌响应系统具有超混沌行为的控制参数,u1,u2,u3,u4是自适应控制器;所述的自适应控制器由式(5)给出:式中,k1,k2,k3,k4为自适应反馈增益,其演化规律由式(6)给出:式中,σi为任意正常数,i=1,2,3,4;
式中, 分别为控制参数c,b,γ,λ1,λ2的估计值,其演化规律由式(7)给出:式中, 分别为控制参数a1,d1,c1,b1,γ1的估计值,其演化规律由式(8)给出:使用欧拉数值方法、以步长h迭代式(4)-式(8),h∈[0.0005,0.005],超混沌驱动系统与超混沌响应系统的状态变量误差yi-xi+1在投影同步时刻T后达到零,i=1,2,3,4,实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌响应系统的超混沌序列yi(j),i=1,2,......,4,j=1,2,......,(n1+10)。
7.根据权利要求6所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤10)具体包括如下步骤:
1001)产生二维密钥矩阵K:
对超混沌响应系统的超混沌序列y1(j)从当前的时刻zk起依次选取n1个元素y1(zk+(j-
1)),j=1,2,......,n1,并做如下加工处理:
abs(·)表示绝对值运算;
对超混沌响应系统的超混沌序列{y2(j)}从当前的时刻zk起依次选取n1个元素y2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:对超混沌响应系统的超混沌序列{y3(j)}从当前的时刻zk起依次选取n1个元素y3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:对超混沌响应系统的超混沌序列{y4(j)}中从当前的时刻zk起依次选取n1个元素y4(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:依次将加工处理得到的超混沌序列
由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
1002)对当前图像按位进行图像逆扩散处理:
利用步骤1001)得到的二维密钥矩阵K,对像素值矩阵C按位进行图像逆扩散处理,具体由式(9)实现:D=bitxor(de2bi(C),de2bi(K)), (9)其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵D中的二进制数据通过式(10)转化十进制数据,得到逆扩散后的像素值序列{Dc}:Dc=bi2de(D), (10)
其中bi2de(·)表示二进制转化为十进制运算;
1003)像素值矩阵C更新:依次将逆扩散后的像素值序列{Dc}的元素从左至右逐列存入像素值矩阵C,对像素值矩阵C进行更新,得到逆扩散后的像素值矩阵C,把逆扩散后像素值矩阵C对应的图像作为当前图像。
8.根据权利要求6所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤11)中所述结合当前的列置乱指标zl的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆列置乱,具体是指:根据当前的列置乱指标zl的值分别为1、2、3、4时,对应取超混沌响应系统的超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},从取到的超混沌响应系统的超混沌序列中提取前m个元素,记为{yl(1),yl(2),……,yl(m)},对超混沌序列{yl(1),yl(2),……,yl(m)}中的m个元素做升或降序排列,得到有序排列 确定有序排列中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵C的每一列进行逆列置乱,具体是将像素值矩阵A的每一列的第j行像素值置换至该列的第lj行,j=1,2,......,m。
9.根据权利要求6所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤12)所述结合当前的行置乱指标zh的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆行置乱,具体是指:根据当前的行置乱指标zh的值分别取1、2、3、4时,对应取超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},从取到的超混沌序列中提取前n个元素,记为{yl(1),yl(2),……,yl(n)},对超混沌序列{yl(1),yl(2),……,yl(n)}中的n个元素做升或降序排列,得到有序排列确定有序排列 中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn};利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵C的每一行进行逆行置乱,具体是将像素值矩阵C的每一行的第i列像素值置换至该行的第hi列,i=1,2,......,n。
10.根据权利要求1所述的基于超混沌系统投影同步的图像加密方法,其特征在于,如果所述的原始明文图像为彩色图像,在步骤1)之前还包括步骤0),从彩色图像中提取红、黄、蓝三个颜色分量的像素值矩阵;分别对所述的三个颜色分量的像素值矩阵执行步骤1)-步骤6),得到加密处理后的红、黄、蓝三个颜色分量的密文图像;步骤6)与步骤7)之间还包括如下步骤:将得到的加密处理的红、黄、蓝三个颜色分量的密文图像合成原始彩色图像的密文图像;从所述原始彩色图像的密文图像中提取红、黄、蓝三个颜色分量的像素值矩阵;
对密文图像中提取的红、黄、蓝三个颜色分量的像素值矩阵执行步骤7)-步骤13),得到解密处理后的红、黄、蓝三个颜色分量的解密图像,将得到的解密处理的红、黄、蓝三个颜色分量的解密图像合成原始彩色图像的解密图像。