基于三维Logistic映射和广义Cat映射彩色图像加密方法技术

技术编号:21852187 阅读:18 留言:0更新日期:2019-08-14 00:43
本发明专利技术提出了一种基于三维Logistic映射和广义Cat映射彩色图像加密方法,其步骤如下:读取原始彩色图像获得对应R、G和B分量的二维像素矩阵,对二维像素矩阵分别进行拉直得到三个像素序列;利用三维Logistic映射迭代产生三组混沌序列,三组混沌序列分别与三个像素序列进行异或操作实现扩散处理;对扩散处理后得到的混沌序列进行数据重构并扩展成三维立方体;通过广义Cat映射对三维立方体进行位置置乱处理;将位置置乱后的三维立方体转换为长方体即为密文图像。本发明专利技术将三维Logistic映射和广义Cat映射的参数和初值及明文图像大小作为密钥,增大了密钥空间,提高了加密的安全性,且具有密钥灵敏性强,抗攻击能力强等优点。

A Color Image Encryption Method Based on Three-Dimensional Logistic Mapping and Generalized Cat Mapping

【技术实现步骤摘要】
基于三维Logistic映射和广义Cat映射彩色图像加密方法
本专利技术涉及彩色图像加密的
,尤其涉及一种基于三维Logistic映射和广义Cat映射彩色图像加密方法。
技术介绍
随着现代信息技术的快速发展,越来越多的信息通过互联网来传输,人们可以利用网络传输大量的文本、多媒体、数字图像等信息。尤其是多媒体通信逐渐成为人们信息交流的重要手段,数字图像已经广泛应用于人们的生活,所以信息安全成为信息传输中的一个重要问题。混沌映射具有对初始条件的高度敏感性和伪随机性,可以用来对图像进行加密处理,满足图像加密安全性的要求。一般是将混沌映射的初始值和控制参数作为初始密钥,然后利用混沌映射经过多次迭代所产生的混沌序列对图像进行加密。基于混沌映射的图像加密方法主要包括对像素位置置乱和对像素值扩散。目前关于图像加密的算法有很多,一般采用的多是低维的混沌映射,其密钥空间相对较小,加密效率较低,安全性较差,而利用高维混沌映射对彩色图像的加密方法,蕴含了更多的参数信息,增大了密钥空间从而可以更好地抵抗穷举攻击。
技术实现思路
针对现有的图像加密算法密钥空间较小,加密效率较低,安全性差的技术问题,本专利技术提出一种基于三维Logistic映射和广义Cat映射彩色图像加密方法,可增大密钥空间,增强密文图像的安全性与可靠性。为了达到上述目的,本专利技术的技术方案是这样实现的:一种基于三维Logistic映射和广义Cat映射彩色图像加密方法,其步骤如下:步骤一:读取原始彩色图像,获得对应R、G和B分量的三个大小为m×n的二维像素矩阵,对三个二维像素矩阵分别进行拉直,得到三个大小为m*n的像素序列;步骤二:利用三维Logistic映射迭代m*n次产生三组混沌序列,三组混沌序列分别与步骤一中的三个像素序列进行异或操作实现扩散处理;步骤三:对步骤二扩散处理后得到的三组混沌序列进行数据重构,并扩展成一个N×N×N的三维立方体,其中,立方体的高度为向上取整符号;步骤四:通过广义Cat映射迭代t次,并利用迭代结果对步骤三中的三维立方体进行位置置乱处理;广义Cat映射迭代次数t取正整数;步骤五:将步骤四中位置置乱后的三维立方体进行数据重构,转换为M×M×3的长方体,对应彩色图像即为密文图像;其中,所述步骤一中将二维像素矩阵进行拉直并转化为像素序列的方法是:将m×n的二维像素矩阵按照从上到下从左到右的顺序转换成m*n的像素序列。所述步骤二中扩散处理的实现方法为:三维Logistic映射的迭代公式为:其中,xi、yi、zi分别表示三维Logistic映射第i次迭代的三个值,xi+1、yi+1、zi+1分别表示三维Logistic映射第i+1次迭代的三个值,三维Logistic映射的初值x0、y0、z0∈[0,1],三维Logistic映射的控制参数α∈[3.68,3.99],β∈[0,0.022],γ∈[0,0.015];i=1,2……,m*n,且x1,x2……xi……,xm*n组成混沌序列{x1},y1,y2……yi……,ym*n组成混沌序列{y1},z1,z2……zi……,zm*n组成混沌序列{z1};对混沌序列{x1}、{y1}和{z1}的每个元素ξ分别进行量化处理:mod(round(ξ×10k),256),其中,k为足够大的正整数,mod(·)为求余函数,round(·)为四舍五入取整函数;得到序列{x1′}、{y1′}和{z1′};利用量化后的序列{x1′}、{y1′}和{z1′}分别与步骤一中的三个像素序列{r}、{g}和{b}进行异或操作,得到三组扩散后的混沌序列{X}、{Y}和{Z},实现对图像像素值的扩散处理,即表示异或运算。所述步骤三中进行数据重构和扩展为三维立方体的方法为:将大小为m*n的混沌序列{X}、{Y}和{Z}依次相接转换成一个大小为m×n×3的序列,将m×n×3的序列按照从左到右从前到后从低到高的顺序构造一个N×N×N的三维立方体,不足部分补0到255之间的随机数;其中,立方体的高度为向上取整符号;所述步骤五进行数据重构的方法为:将大小为N×N×N的三维立方体按照从左到右从前到后从低到高的顺序重构成大小为M×M×3的三维长方体,不足部分补0到255之间的随机数,其中,密文图像的宽度或高度所述步骤四中的广义Cat映射的迭代公式为:其中,矩阵且|A|=1,xp、yp、zp、xp+1、yp+1和zp+1均为从1到N的正整数;xp、yp、zp表示广义Cat映射前的图像像素点的坐标位置,xp+1、yp+1、zp+1表示广义Cat映射后的图像像素点的坐标位置,mod表示模运算,广义Cat映射的控制参数ax,ay,az,bx,by,bz均取任意实数。基于三维Logistic映射和广义Cat映射彩色图像加密方法的解密方法为:步骤S1:读取大小为M×M×3的密文图像,根据密钥m和n的值,将密文图像的像素矩阵重构成一个三维立方体;步骤S2:将广义Cat映射的控制参数的密钥带入广义Cat逆映射迭代t次,并利用迭代结果实现对步骤S1中三维立方体的逆置乱处理;广义Cat逆映射迭代次数t为正整数;步骤S3:对步骤S2中逆置乱后的三维立方体再次进行数据重构,从而提取出三组大小为m*n的序列;步骤S4:将三维Logistic映射的初始值和控制参数的密钥带入三维Logistic映射迭代m*n次产生三组混沌序列,分别与步骤S3中的三组序列进行异或操作,进行逆扩散处理;步骤S5:将逆扩散处理后的序列重组成m×n×3的像素矩阵,对应的彩色图像即为解密图像。所述步骤S2中进行逆置乱的方法为:根据密钥ax、ay、az、bx、by、bz计算广义Cat映射的矩阵A,广义Cat逆映射的迭代公式为:其中,A-1为广义Cat映射的矩阵A的逆矩阵,x′p、yp′、z′p、x′p+1、y′p+1和z′p+1均为从1到N的正整数;x′p、yp′、z′p表示广义Cat逆映射前的图像像素点的坐标位置,x′p+1、y′p+1、z′p+1表示广义Cat逆映射后的图像像素点的坐标位置,表示模运算。所述步骤S4中将密钥x0、y0、z0作为三维Logistic映射的初始值,密钥α、β、γ作为三维Logistic映射的控制参数,将三维Logistic映射的初始值和控制参数带入三维Logistic映射的迭代公式迭代m×n次生成三组混沌序列,对三组混沌序列分别进行量化处理:mod(round(ξ′×10k),256),其中,k为足够大的正整数,mod为求余函数,round为四舍五入取整函数,ξ′为任一混沌序列中的任一元素;然后将量化处理后的三组混沌序列分别与步骤S3中三组像素序列进行异或操作,实现逆扩散处理。所述步骤S1中将密文图像的像素矩阵重构成三维立方体的方法为:根据密钥m和n计算为向上取整符号;将密文图像的像素矩阵按照从左到右从前到后从低到高的顺序重构成大小为N×N×N的三维立方体;所述步骤S3中数据重构的方法为:将步骤S2中逆置乱后的三维立方体按照从左到右从前到后从低到高的顺序重构为一个大小为N×N×N的序列,然后从大小为N×N×N的序列中依序提取出三组大小为m*n的像素序列;所述步骤S5中重组的方法为:将步骤S4中逆扩散处理后的序列按照从左到右从前到后从低到高的顺序重构成m×n×本文档来自技高网...

【技术保护点】
1.一种基于三维Logistic映射和广义Cat映射彩色图像加密方法,其特征在于,其步骤如下:步骤一:读取原始彩色图像,获得对应R、G和B分量的三个大小为m×n的二维像素矩阵,对三个二维像素矩阵分别进行拉直,得到三个大小为m*n的像素序列;步骤二:利用三维Logistic映射迭代m*n次产生三组混沌序列,三组混沌序列分别与步骤一中的三个像素序列进行异或操作实现扩散处理;步骤三:对步骤二扩散处理后得到的三组混沌序列进行数据重构,并扩展成一个N×N×N的三维立方体,其中,立方体的高度

【技术特征摘要】
1.一种基于三维Logistic映射和广义Cat映射彩色图像加密方法,其特征在于,其步骤如下:步骤一:读取原始彩色图像,获得对应R、G和B分量的三个大小为m×n的二维像素矩阵,对三个二维像素矩阵分别进行拉直,得到三个大小为m*n的像素序列;步骤二:利用三维Logistic映射迭代m*n次产生三组混沌序列,三组混沌序列分别与步骤一中的三个像素序列进行异或操作实现扩散处理;步骤三:对步骤二扩散处理后得到的三组混沌序列进行数据重构,并扩展成一个N×N×N的三维立方体,其中,立方体的高度为向上取整符号;步骤四:通过广义Cat映射迭代t次,并利用迭代结果对步骤三中的三维立方体进行位置置乱处理;广义Cat映射迭代次数t取正整数;步骤五:将步骤四中位置置乱后的三维立方体进行数据重构,转换为M×M×3的长方体,对应彩色图像即为密文图像;其中,2.根据权利要求1所述的基于三维Logistic映射和广义Cat映射彩色图像加密方法,其特征在于,所述步骤一中将二维像素矩阵进行拉直并转化为像素序列的方法是:将m×n的二维像素矩阵按照从上到下从左到右的顺序转换成m*n的像素序列。3.根据权利要求1所述的基于三维Logistic映射和广义Cat映射彩色图像加密方法,其特征在于,所述步骤二中扩散处理的实现方法为:三维Logistic映射的迭代公式为:其中,xi、yi、zi分别表示三维Logistic映射第i次迭代的三个值,xi+1、yi+1、zi+1分别表示三维Logistic映射第i+1次迭代的三个值,三维Logistic映射的初值x0、y0、z0∈[0,1],三维Logistic映射的控制参数α∈[3.68,3.99],β∈[0,0.022],γ∈[0,0.015];i=1,2......,m*n,且x1,x2......xi......,xm*n组成混沌序列{x1},y1,y2......yi......,ym*n组成混沌序列{y1},z1,z2......zi......,zm*n组成混沌序列{z1};对混沌序列{x1}、{y1}和{z1}的每个元素ξ分别进行量化处理:mod(round(ξ×10k),256),其中,k为正整数,mod(·)为求余函数,round(·)为四舍五入取整函数;得到序列{x1′}、{y1′}和{z1′};利用量化后的序列{x1′}、{y1′}和{z1′}分别与步骤一中的三个像素序列{r}、{9}和{b}进行异或操作,得到三组扩散后的混沌序列{X}、{Y}和{Z},实现对图像像素值的扩散处理,即表示异或运算。4.根据权利要求2或3所述的基于三维Logistic映射和广义Cat映射彩色图像加密方法,其特征在于,所述步骤三中进行数据重构和扩展为三维立方体的方法为:将大小为m*n的混沌序列{X}、{Y}和{Z}依次相接转换成一个大小为m×n×3的序列,将m×n×3的序列按照从左到右从前到后从低到高的顺序构造一个N×N×N的三维立方体,不足部分补0到255之间的随机数;其中,立方体的高度为向上取整符号;所述步骤五进行数据重构的方法为:将大小为N×N×N的三维立方体按照从左到右从前到后从低到高的顺序重构成大小为M×M×3的三维长方体,不足部分补0到255之间的随机数,其中,密文图像的宽度或高度5.根据权利要求1所述的基于三维Logistic映射和广义Cat映射彩色图像加密方法,其特征...

【专利技术属性】
技术研发人员:毋媛媛李清波钱晓亮刁智华刘茜栗靖张勋才方洁吴青娥黄士国
申请(专利权)人:郑州轻工业学院
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1