1.基于混沌选择置乱和半张量积扩散的彩色图像加密方法,其特征是:该方法由以下步骤实现:
步骤一、选择大小为M×N×3的彩色图像作为原始图像Image;
步骤二、将步骤一所述的原始图像Image分成三个色彩分量,分别是红色分量R、绿色分量G、蓝色分量B;
步骤三、采用下式计算明文相关混沌密钥指针p;
式中,floor()为向下取整函数,mod()为求余函数,sum()为求和函数,K,L为用户设定参数,K,L∈N且20
步骤四、采用三元分数阶离散混沌神经网络系统生成混沌序列,迭代三元分数阶离散神经网络混沌系统T次,T>M×N,获得三组长度为T的混沌序列,分别记为X、Y、Z;
步骤五、分别从步骤四生成的X、Y、Z混沌序列的第p个元素之后开始,截取长度为M×N的混沌序列,记为混沌序列X1、Y1、Z1;
步骤六、将步骤二所述红色分量R、绿色分量G、蓝色分量B分别转换成一维图像红色序列RS,一维图像绿色序列GS,一维图像蓝色序列BS;
步骤七、对步骤五所述混沌序列X1、Y1、Z1按升序排列,获得三个位置索引矩阵positionMatrix1、positionMatrix2、positionMatrix3;
步骤八、采用步骤七所述的位置索引矩阵positionMatrix1对步骤六所述的一维图像红色序列RS中每个像素值进行置乱,采用位置索引矩阵positionMatrix2对一维图像绿色序列GS中每个像素值进行置乱,采用位置索引矩阵positionMatrix3对一维图像蓝色序列BS中每个像素值进行置乱,获得置乱后的三个色彩分量RS1、GS1、BS1;
步骤九、将步骤五中生成的三个混沌序列X1、Y1、Z1分别映射为三个布尔矩阵X_exchange、Y_exchange、Z_exchange,映射后的三个矩阵中只包含0、1元素;
步骤十、采用步骤九生成的三个布尔矩阵X_exchange、Y_exchange、Z_exchange对步骤八获得置乱后的三个色彩分量RS1、GS1、BS1进行像素的交叉混淆;
当矩阵X_exchange中第一个元素的值为0时,置乱后的色彩分量RS1与GS1中第一个元素的位置不变,当矩阵X_exchange中第一个元素的值为1时,交换RS1与GS1中第一个元素的位置,以此类推,直到最后一个元素为止;根据矩阵Y_exchange、Z_exchange中元素的值分别对彩色分量GS1、BS1和RS1、BS1进行相同的操作,获得置乱后的三个混淆色彩序列RS2、GS2、BS2;
步骤十一、将步骤十获得的三个混淆色彩序列RS2,GS2,BS2转换为大小均为M×N的三个混淆色彩矩阵RF,GF,BF;
步骤十二、将步骤四中生成的混沌序列X、Y、Z进行归一化处理,再将归一化处理后的序列分别截取 的长度,生成两组序列,将所述两组序列XX1、YY1、ZZ1和XX2、YY2、ZZ2变形生成两组扩散矩阵F1、F2、F3和FF1、FF2、FF3;
步骤十三、采用步骤十二生成的大小为 的扩散矩阵F1、F2、F3与步骤十一所述的大小为M×N的混淆色彩矩阵RF、GF、BF进行矩阵半张量积运算,即第一轮的扩散操作,得到矩阵RF1、GF1、BF1;
步骤十四、采用步骤十二生成的大小为 的扩散矩阵FF1、FF2、FF3与步骤十三生成的大小为M×N矩阵RF1、GF1、BF1再进行一次矩阵半张量积运算,获得三个矩阵RF2、GF2、BF2;
步骤十五、执行下式计算,将像素值映射在[0,255]的范围内,获得两轮扩散后的三个彩色分量矩阵RF3、GF3、BF3;
并分别由下述公式获得矩阵QXR,QYR,QXG,QYG,QXB,QYB;
步骤十六、将步骤十五得到的三个彩色分量矩阵合并,获得最终的加密图像CImage。
2.根据权利要求1所述的基于混沌选择置乱和半张量积扩散的彩色图像加密方法,步骤四中,所述三元分数阶离散混沌神经网络系统如下式表示:式中,x,y,z为三元分数阶离散神经网络混沌系统的状态变量;h为离散步长,v为分数+
阶数,h∈R,v∈(0,1); 代表伽马函数。
3.根据权利要求1所述的基于混沌选择置乱和半张量积扩散的彩色图像加密方法,步骤十所述的交叉混淆公式如下:
当X_exchange(i)=1时:当Y_exchange(i)=1时:当Z_exchange(i)=1时:式中,i=1,2,……,M×N。
4.根据权利要求1所述的基于混沌选择置乱和半张量积扩散的彩色图像加密方法,其特征在于:还包括解密方法,具体过程为:步骤十七、将加密后的图CImage按照步骤二的方法分成三个密文色彩分量RF3′,GF3′,BF3′,通过下式获得逆扩散后的逆扩散矩阵RF2′,GF2′,BF2′;
步骤十八、对步骤十三和步骤十四的矩阵半张量积进行逆运算,获得三个解密混淆色彩序列RF′,GF′,BF′,如下式:步骤十九、采用与步骤三相同操作,获得解密指针p’,进行如步骤五和步骤九所示的相同操作,获得解密密钥序列X1’、Y1’、Z1’和解密密钥矩阵X_exchange’、Y_exchange’、Z_exchange’;
步骤二十、先将步骤十八所述的三个解密混淆色彩序列RF′,GF′,BF′转换为一维序列,即1×(M×N)的矩阵RS2′,GS2′,BS2′,结合步骤十九得到的密钥矩阵X_exchange’、Y_exchange’、Z_exchange’,再按照步骤十的方法的进行逆操作,获得混沌置乱后的三个解密矩阵RS1′,GS1′,BS1′,具体方法分别如下式为:当Z_exchange(j)′=1时:当Y_exchange(j)′=1时:当X_exchange(j)′=1时:其中j=1,2,……,M×N;
步骤二十一、对步骤十九得到的密钥序列X1′,Y1′,Z1′按照步骤七所示的方法得到位置解密索引矩阵positionMatrix1′、positionMatrix2′、positionMatrix3′,采用三个位置解密索引矩阵对步骤二十得到的三个解密矩阵RS1′,GS1′,BS1′进行逆排序,获得解密像素矩阵RS′,GS′,BS′;
步骤二十二、将步骤二十一得到的矩阵RS′,GS′,BS′转换为M×N的矩阵R′,G′,B′,最后获得解密后的图像Image′。