1.一种彩色图像加密方法,其特征在于,包括:
S101:利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱;
S102:将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量;
S103:利用非周期性的三维Cat变换对所述中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次,t为正整数;
S104:依次循环执行S101-S103 T次,输出所述明文彩色图像的加密图像;其中,T为正整数;
其中,所述t的计算过程为:
根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值之和summ:利用所述带位置参数像素灰度值之和summ计算迭代次数t:t=mod(summ*108,100)+1;
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值;
所述T的计算过程为:
根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值之和summ:利用所述带位置参数像素灰度值之和summ计算迭代次数T:7
T=mod(summ*10,20)+1;
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值;
其中,所述利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱包括:将大小为m*n*3的明文彩色图像的三维矩阵A,转化为R、G、B三个分量的二维灰度矩阵Ar、Ag、Ab,各所述二维灰度矩阵的大小为m*n;
对下述公式的二维Henon系统迭代s次得到xs和ys,以获取Cat变换的控制参数a与b,所述xs和所述ys为所述Cat变换的控制参数a与b的初始值:对于各所述二维灰度矩阵中的元素位置,利用下述Cat变换公式计算得到交换位置:将元素位置的灰度值与变换位置的灰度值进行交换;
式中,c、e为Henon系统预设常数,a、b为所述Cat变换的控制参数,xn,yn为当前的元素位置,xn+1,yn+1为相应的交换位置;
其中,所述通过Henon_Kent映射得到的三组混沌序列包括:根据Henon映射进入混沌状态下的预设参数c和e,利用下述公式获取所述Henon映射的两组混沌序列x={x1,x2,x3,....,xm*n},y={y1,y2,y3,....,ym*n}:根据Kent映射进入混沌状态下的初始参数d,利用下述公式获取所述Kent映射的一组混沌序列k={k1,k2,k3,....,km*n}:利用下述公式进行所述Henon_Kent映射,对已获取的三组初始混沌序列x、y、k进行运算,产生三组初始混沌序列r={r1,r2,r3,...,rm×n}、g={g1,g2,g3,...,gm×n}、l={l1,l2,l3,...,lm×n}:式中,α、β、γ为控制参数;
其中,所述利用非周期性的三维Cat变换对所述中间密文分量构成的中间密文矩阵进行像素的灰度值交换包括:将各所述中间密文分量构成大小为m*n*3的三维矩阵M:利用下述公式对所述三维矩阵M的各源像素位置(xn,yn,zn)进行计算,得到交换位置(xn+1,yn+1,zn+1):将各源像素位置的灰度值替换为相应的交换位置的灰度值。
2.根据权利要求1所述的彩色图像加密方法,其特征在于,所述Kent映射的初始值计算过程包括:根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值之和summ:利用所述带位置参数像素灰度值之和计算所述Kent映射的初始值K1:式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值。
3.一种彩色图像加密装置,其特征在于,包括:
二维Cat变换置乱模块,用于利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱;
中间密文分量计算模块,用于将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量;
三维Cat变换模块,用于利用非周期性的三维Cat变换对所述中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次,t为正整数;
迭代模块,用于依次循环执行S101-S103 T次,输出所述明文彩色图像的加密图像;其中,T为正整数;
其中,所述三维Cat变换模块包括第一迭代计算单元,用于根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值之和summ:利用所述带位置参数像素灰度值之和summ计算迭代次数t:t=mod(summ*108,100)+1;
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值;
所述迭代模块包括第二迭代次数计算单元,用于根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值之和summ:利用所述带位置参数像素灰度值之和summ计算迭代次数T:T=mod(summ*107,20)+1;
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值;
其中,所述二维Cat变换置乱模块具体用于:
将大小为m*n*3的明文彩色图像的三维矩阵A,转化为R、G、B三个分量的二维灰度矩阵Ar、Ag、Ab,各所述二维灰度矩阵的大小为m*n;
对下述公式的二维Henon系统迭代s次得到xs和ys,以获取Cat变换的控制参数a与b,所述xs和所述ys为所述Cat变换的控制参数a与b的初始值:对于各所述二维灰度矩阵中的元素位置,利用下述Cat变换公式计算得到交换位置:将元素位置的灰度值与变换位置的灰度值进行交换;
式中,c、e为Henon系统预设常数,a、b为所述Cat变换的控制参数,xn,yn为当前的元素位置,xn+1,yn+1为相应的交换位置;
其中,所述中间密文分量计算模块具体用于:
根据Henon映射进入混沌状态下的预设参数c和e,利用下述公式获取所述Henon映射的两组混沌序列x={x1,x2,x3,....,xm*n},y={y1,y2,y3,....,ym*n}:根据Kent映射进入混沌状态下的初始参数d,利用下述公式获取所述Kent映射的一组混沌序列k={k1,k2,k3,....,km*n}:利用下述公式进行所述Henon_Kent映射,对已获取的三组初始混沌序列x、y、k进行运算,产生三组初始混沌序列r={r1,r2,r3,...,rm×n}、g={g1,g2,g3,...,gm×n}、l={l1,l2,l3,...,lm×n}:式中,α、β、γ为控制参数;
其中,所述三维Cat变换模块具体用于:
将各所述中间密文分量构成大小为m*n*3的三维矩阵M:利用下述公式对所述三维矩阵的M各源像素位置(xn,yn,zn)进行计算,得到交换位置(xn+1,yn+1,zn+1):将各源像素位置的灰度值替换为相应的交换位置的灰度值。