1.一种基于二维离散混沌映射与矩阵半张量积的图像加密方法,其特征在于,所述方法包括:输入明文图像,采用哈希算法对明文图像进行加密处理,得到明文图像的哈希值,并将明文图像的哈希值分为四段;
根据明文图像的每一段哈希值分别对明文图像的初始密钥进行更新,每一段哈希值均含有部分明文信息,将该部分明文信息转换为数值形式,并将数值叠加到初始密钥中;生成真密钥;
所述根据明文图像的每一段哈希值分别对明文图像的初始密钥进行更新所采用的公式表示为:其中,x0,y0,z0,w0依次表示四个更新后的真密钥,x0′,y0′,z0′,w0′依次表示四个初始密N/4钥;HVi表示第i段哈希值,HVi∈[0,hv];hv表示每段哈希值的取值上界,hv=2 ‑1;N表示每段哈希值的字符长度;
将四个真密钥作为二维离散混沌映射的初值条件,经过迭代计算得到四个混沌序列;
二维离散混沌映射表示为:
其中,n表示系统当前所处时刻;xn表示在n时刻的第一系统状态变量;xn+1表示在n+1时刻的第一系统状态变量;yn表示在n时刻的第二系统状态变量;yn+1表示在n+1时刻的第二系统状态变量;a,b均为混沌映射的参数;e表示自然对数的底数;
将每个混沌序列分别进行预处理,依次生成第一混沌矩阵、第二混沌矩阵、第三混沌矩阵和第四混沌矩阵;每个混沌序列分别进行预处理的方式包括:其中,ICS1表示第一混沌矩阵,ICS2表示第二混沌矩阵,ICS3表示第三混沌矩阵,ICS4表示第四混沌矩阵,X表示第一混沌序列,Y表示第二混沌序列,Z表示第三混沌序列,W表示第四混沌序列,reshape表示重排;mod表示取余;IT表示混沌序列中混沌数量,M表示明文图像的尺寸,m为M的因子中最接近 的因子;
采用所述第一混沌矩阵和所述第二混沌矩阵对所述明文图像进行多方向循环移位,输出置乱图像;
采用所述第一混沌矩阵和所述第二混沌矩阵对所述明文图像进行多方向循环移位,输出置乱图像包括若第一混沌矩阵中ICS1(i,j)元素值等于0,则将明文图像中第i行所有元素向右循环移第二混沌矩阵的元素值ICS2(i,j)位;若第一混沌矩阵的元素值ICS1(i,j)等于1,则将明文图像中第j列所有元素向下循环移第二混沌矩阵的元素值ICS2(i,j)位;若明文图像第一混沌矩阵的像素值ICS1(i,j)等于2,则将明文图像中(i,j)所在主对角线上所有元素沿主对角线方向循环移第二混沌矩阵的元素值ICS2(i,j)位;若第一混沌矩阵的元素值ICS1(i,j)等于3,则将明文图像中元素(i,j)所在副对角线上所有元素沿副对角线方向循环移第二混沌矩阵的元素值ICS2(i,j)位,其中,i∈[1,M],j∈[1,M],M表示明文图像的尺寸;
将所述第三混沌矩阵和所述置乱图像进行异或运算,得到异或矩阵;将所述异或矩阵与第四混沌矩阵进行矩阵半张量积运算,输出矩阵半张量积结果;
对所述矩阵半张量积结果进行处理,输出加密后的密文图像以及对应的解密密钥矩阵。
2.根据权利要求1所述的一种基于二维离散混沌映射与矩阵半张量积的图像加密方法,其特征在于,所述对所述矩阵半张量积结果进行处理,输出加密后的密文图像以及对应的解密密钥矩阵包括令 其中,D为密文图像,D1为解密密钥矩阵;A表示矩阵半张量积结果。
3.一种基于二维离散混沌映射与矩阵半张量积的图像解密方法,其应用于如权利要求
1或2所述的一种基于二维离散混沌映射与矩阵半张量积的图像加密方法生成的密文图像,其特征在于,所述解密方法包括:输入密文图像,并同时输入解密密钥矩阵、初始密钥以及明文图像的哈希值;
根据所述初始密钥和所述哈希值更新密钥,并得到真密钥;
将所述真密钥输入到二维离散混沌映射中,经过迭代计算得到四个混沌序列;
将每个混沌序列分别进行预处理,依次生成第一混沌矩阵、第二混沌矩阵、第三混沌矩阵和第四混沌矩阵;
根据密文图像和解密密钥矩阵计算出矩阵半张量积结果;
根据第三混沌矩阵和第四混沌矩阵,利用矩阵半张量积的逆运算,计算置乱图像;
采用第一混沌矩阵和第二混沌矩阵,对置乱图像倒序进行多方向循环移位求得解密图像;
所述采用第一混沌矩阵和第二混沌矩阵,对置乱图像倒序进行多方向循环移位求得解密图像包括:若第一混沌矩阵中ICS1(i,j)元素值等于0,则将置乱图像中第i行所有元素向左循环移第二混沌矩阵的元素值ICS2(i,j)位;若第一混沌矩阵的元素值ICS1(i,j)等于1,则将置乱图像中第j列所有元素向上循环移第二混沌矩阵的元素值ICS2(i,j)位;若置乱图像第一混沌矩阵的像素值ICS1(i,j)等于2,则将置乱图像中(i,j)所在副对角线上所有元素沿副对角线方向循环移第二混沌矩阵的元素值ICS2(i,j)位;若第一混沌矩阵的元素值ICS1(i,j)等于3,则将置乱图像中元素(i,j)所在主对角线上所有元素沿主对角线方向循环移第二混沌矩阵的元素值ICS2(i,j)位,其中,i∈[1,M1],j∈[1,M1],M1表示置乱图像的尺寸。