CN107610191B - 一种彩色图像加密方法及装置 - Google Patents
一种彩色图像加密方法及装置 Download PDFInfo
- Publication number
- CN107610191B CN107610191B CN201710900274.XA CN201710900274A CN107610191B CN 107610191 B CN107610191 B CN 107610191B CN 201710900274 A CN201710900274 A CN 201710900274A CN 107610191 B CN107610191 B CN 107610191B
- Authority
- CN
- China
- Prior art keywords
- color image
- dimensional
- plaintext
- pixel
- transformation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
- Silver Salt Photography Or Processing Solution Therefor (AREA)
Abstract
本发明实施例公开了一种彩色图像加密方法及装置。其中,方法包括利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱;将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量;利用非周期性的三维Cat变换对中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次(t为正整数);依次循环执行上述步骤T次(T为正整数),输出明文彩色图像的加密图像。增大了密钥空间,从而提高了彩色图像加密的安全性,具有强鲁棒性,可有效抵抗各种攻击手段。
Description
技术领域
本发明实施例涉及图像处理技术领域,特别是涉及一种彩色图像加密方法及装置。
背景技术
随着互联网技术与图像处理技术的快速发展,用户对数字音频、数字图像和其他多媒体信息传输的安全性要求越来越高,数字图像的加密技术得到相应的发展,相应的数字图像安全传递问题也变得越来越重要。
传统的加密算法,例如AES(高级加密标准算法)、DES(数据加密标准加密算法)、RSA(公钥加密算法)算法对数据图像加密需要大量的计算时间,而且存在潜在的安全隐患,由于混沌系统具有伪随机性和对初始值敏感性的特点,可在一定程度上避免上述问题,基于混沌系统的图像加密方法应用而生。
现有技术一般采用单一低维混沌的方法对图像进行加密算法,由于单一低维混沌的密钥空间较小,密钥个数也就相对较少,导致安全性较差,无法成功抵抗常见的攻击,例如统计特性分析攻击、差分攻击等。
鉴于此,如何提高图像加密的安全性,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种彩色图像加密方法及装置,以提高彩色图像的安全性。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种彩色图像加密方法,包括:
S101:利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱;
S102:将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量;
S103:利用非周期性的三维Cat变换对所述中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次(t为正整数);
S104:依次循环执行S101-S103T次(T为正整数),输出所述明文彩色图像的加密图像。
可选的,所述t的计算过程为:
根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用所述带位置参数像素灰度值和计算迭代次数t:
t=mod(summ*108,100)+1;
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值。
可选的,所述T的计算过程为:
根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用所述带位置参数像素灰度值和计算迭代次数T:
T=mod(summ*107,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次,以获取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}:
式中,α、β、γ为控制参数。
可选的,所述Kent映射的初始值计算过程包括:
根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用所述带位置参数像素灰度值和计算Kent映射的初始值K1:
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值。
可选的,所述利用非周期性的三维Cat变换对所述中间密文分量构成的中间密文矩阵进行像素的灰度值交换包括:
将各所述中间密文分量构成大小为m*n*3的三维矩阵M:
利用下述公式进行对所述三维矩阵M各源像素位置为(xn,yn,zn)计算,得到交换位置(xn+1,yn+1,zn+1):
将各源像素位置的灰度值替换为相应的交换位置的灰度值。
本发明实施例另一方面提供了一种彩色图像加密装置,包括:
二维Cat变换置乱模块,用于利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱;
中间密文分量计算模块,用于将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量;
三维Cat变换模块,用于利用非周期性的三维Cat变换对所述中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次(t为正整数);
迭代模块,用于依次循环执行S101-S103T次(T为正整数),输出所述明文彩色图像的加密图像。
可选的,所述三维Cat变换模块包括第一迭代计算单元,用于根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用所述带位置参数像素灰度值和计算迭代次数t:
t=mod(summ*108,100)+1;
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值。
可选的,所述迭代模块包括第二迭代次数计算单元,用于根据下述公式计算所述明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用所述带位置参数像素灰度值和计算迭代次数T:
T=mod(summ*107,20)+1;
式中,所述明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为所述明文彩色图像的坐标值。
本发明实施例提供了一种彩色图像加密方法,利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱;将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量;利用非周期性的三维Cat变换对中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次(t为正整数);依次循环执行上述步骤T次(T为正整数),输出明文彩色图像的加密图像。
本申请提供的技术方案的优点在于,利用非周期性的Cat变化对原始彩色图像进行加密,随着迭代次数的增加,有利于彩色图像像素更加随机的分布在密文图像的R、G和B分量中,从而有利于提高彩色图像加密的安全性;由于Henon_Kent混合混沌系统使产生混沌序列具有更强的动力学特性和伪随机性,有效地对明文图像进行像素的扩散,使像素均匀地分布在[0,255]之间,有利于提高鲁棒性,且增大了密钥空间,提升了图像加密的安全性,对各种攻击手段具有比较强的抵抗能力;此外,对于行列不同的图像,避免了对图像进行预处理(例如行列增加)以形成方阵,对任何尺寸的图像加密具有高效的可操作性,还有效的避免了密文图像的存储和传输需要消耗更多的资源的问题。
此外,本发明实施例还针对彩色图像加密方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种彩色图像加密方法的流程示意图;
图2为本发明实施例提供的示意性例子的流程示意图;
图3为本发明实施例提供的彩色图像加密装置的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种彩色图像加密方法的流程示意图,本发明实施例可包括以下内容:
S101:利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱。
待加密的明文彩色图像的尺寸大小可为m*n*3,为了后续方便描述明文彩色图像的一系列操作,用图像三维矩阵A代表明文彩色图像,且A(i,j,k)表示彩色图像的坐标为(i,j,k)的值。
本申请的加密密钥不是直接生成的,而是与明文特征相关,即利用下述公式可计算明文彩色图像(三维矩阵A)的带位置参数像素灰度值和summ:
传统的二维Cat变换具有周期性,导致密文图像像素的分布随机性差。本申请所述的二维Cat变换具有非周期性,表达式如下:
即利用上述公式,对位置(xn,yn)与(xn+1,yn+1)的像素进行交换,经过多轮迭代,二维矩阵的元素将随机分布在二维矩阵中。
Henon混沌映射,为二维混沌映射,因为单一的Cat映射只能对像素位置进行置乱,没有对图像的像素值进行改变,所以无法抵抗选择明文攻击。
通过改进的二维Cat变换对彩色图像RGB分量分别进行二维像素置乱,但不改变像素的值,具体的二维像素置乱的过程可为:
将大小为m*n*3的明文彩色图像的三维矩阵A,转化为R、G、B三个分量的二维灰度矩阵Ar、Ag、Ab,各二维灰度矩阵的大小为m*n;
对下述公式的二维Henon系统迭代s次,以获取Cat变换的控制参数a与b,即通过对Henon系统迭代s次得到xs、ys,xs、ys即为Cat变换的控制参数a与b的初始值:
其中,c、e为Henon映射的控制参数,当1.2<c<1.4、0.2<e<0.3时,Henon映射具有两个正的Lyapunov指数,系统进入混沌状态。
例如,c=1.25、e=0.25,s=20。当然,还可取其他值,这均不影响本申请的实现。
对于各二维矩阵的中的元素位置,利用下述公式计算得到交换位置:
将元素位置的灰度值与变换位置的灰度值进行交换。
举例来说,其中Ar矩阵的位置(u,v)从(1,1)到(m,n)取值,遵循矩阵行优先的原则,矩阵Ar的元素位置(u,v)经过公式计算得出位置(ax,ay),位置为(u,v)的灰度值与(ax,ay)的灰度值交换,总迭代次数为e。
依次对三个分量的二维灰度矩阵Ar、Ag、Ab的每个位置进行交换。
图像加密分为彩色图像加密和灰度图像加密,两者的显示效果不一样。彩色图像是指图像中的每个像素值都分成R、G、B三个基色分量,彩色图像尺寸为m*n*3,其中3代表R、G、B三个基色分量,m*n代表图像的尺寸。计算机处理处理彩色图像可以识别为一个三维矩阵,也就是m*n*3。
灰度图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度尺寸为m*n。只有一个灰度分量。
S102:将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量。
本步骤即为了实现像素扩散,可将Henon映射产生的两个混沌序列和Kent映射产生的一个混沌序列进行运算生成三个混合混沌序列。
Kent映射为产生混沌序列的一种混沌映射或者混沌系统,通过多次迭代,可以产生随机数,随机数是在一定范围的,Kent映射的表达式如下:
其中,d为该混沌系统的控制参数,当d∈(0,1)时,Kent映射具有一个正的Lyapunov指数,系统进入混沌状态。
Henon_Kent映射是使用以上两个Henon映射和Kent映射所产生的混沌序列进行运算产生三维混沌系统,其定义式如下所示:
其中,α、β、γ为混沌系统的控制参数,mod为取余操作,rn,gn和bn为产生的混沌序列,其值域范围在[0,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}:
举例来说,设k1=X;
最终得到序列: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}:
式中,α、β、γ为控制参数。
应用Kent映射公式与Henon映射公式选定合适的参数和初始值,同时参数和初始值为本申请的加密密钥,迭代次数为s以消除暂态效果,可得到长度为m*n三组混沌序列x={x1,x2,x3,...,xm×n}、y={y1,y2,y3,...,ym×n}、z={z1,z2,z3,...,zm×n},应用设定特定参数的Kent映射公式对x、y、k三个序列进行操作得到三个序列r={r1,r2,r3,...,rm×n}、g={g1,g2,g3,...,gm×n}、l={l1,l2,l3,...,lm×n}。
对r、g、l三个序列进行操作形成三个尺寸为m*n的二维矩阵,分别与Ar、Ag、Ab三个矩阵的像素灰度值进行异或操作,形成三个中间密文分量Mr、Mg、Mb。
其中,Kent映射的初始值K1的计算过程可如下所示:
根据下述公式计算明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用带位置参数像素灰度值和计算Kent映射的初始值K1:
式中,明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为明文彩色图像的坐标值。
S103:利用非周期性的三维Cat变换对中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次(t为正整数)。
二维Cat变换分别针对R、G和B的二维分量的位置变换,使用二维Cat变换对R分量(也就m*n*1)进行二维R矩阵进行位置置乱,使R矩阵像素位置混乱,从而达到加密效果,G和B分量矩阵与R进行的操作一样。而三维Cat变换是针对总体的彩色图像,彩色图像为三维矩阵,尺寸为m*n*3,进行三维位置置乱,两者不改变图像的像素值。
传统的三维Cat变换具有周期性,导致密文图像像素的分布随机性差。本申请所述的三维Cat变换具有非周期性,表达式如下:
对于尺寸大小为m*n*3的彩色图像,像素位置为(xn,yn,zn)经过上述公式的计算得出的位置(xn+1,yn+1,zn+1),xn+1∈[1,m],yn+1∈[1,n],xn+1∈[1,3],使(xn,yn,zn)的像素灰度值与(xn+1,yn+1,zn+1)的像素灰度值交换。
改进的三维Cat交换具有非周期性,彩色图像经过多次改进的三维Cat交换,图像像素点在R、G和B三个分量中均匀分布,像素点之间具有很强的不相关性,从而达到更好的加密效果和抗攻击能力。
具体的过程可为:
将各中间密文分量构成大小为m*n*3的三维矩阵M:
例如把分别对应RGB分量的中间密文分量Mr、Mg、Mb重新组合成一个三维矩阵M,尺寸为m*n*3。
利用下述公式进行对三维矩阵M各源像素位置为(xn,yn,zn)计算,得到交换位置(xn+1,yn+1,zn+1):
将各源像素位置的灰度值替换为相应的交换位置的灰度值。
应用选定合适参数的三维Cat变换公式,(u,v,w)为从矩阵M的(1,1,1)位置开始到(m,n,3),遵循矩阵行优先和RGB分量先后的原则,元素的位置(u,v,w)计算得出位置(ax,ay,az)并且灰度值两者交换。
重复t次,实现彩色图像的三维Cat变换。其中迭代次数t的计算过程可为:
根据下述公式计算明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用带位置参数像素灰度值和计算迭代次数t:
t=mod(summ*108,100)+1;
式中,明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为明文彩色图像的坐标值。
S104:依次循环执行S101-S103T次(T为正整数),输出明文彩色图像的加密图像。
经过T次以上上述三个步骤的二维Cat变换-像素扩散-三维Cat变换的方法可完成彩色图像的加密,最终输出的加密图像P。
迭代次数T的计算过程可为:
根据下述公式计算明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用带位置参数像素灰度值和计算迭代次数T:
T=mod(summ*107,20)+1;
式中,明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为明文彩色图像的坐标值。
在本发明实施例提供的技术方案中,利用非周期性的Cat变化对原始彩色图像进行加密,随着迭代次数的增加,有利于彩色图像像素更加随机的分布在密文图像的R、G和B分量中,从而有利于提高彩色图像加密的安全性;由于Henon_Kent混合混沌系统使产生混沌序列具有更强的动力学特性和伪随机性,有效地对明文图像进行像素的扩散,使像素均匀地分布在[0,255]之间,有利于提高鲁棒性,且增大了密钥空间,提升了图像加密的安全性,对各种攻击手段具有比较强的抵抗能力;此外,对于行列不同的图像,避免了对图像进行预处理(例如行列增加)以形成方阵,对任何尺寸的图像加密具有高效的可操作性,还有效的避免了密文图像的存储和传输需要消耗更多的资源的问题。
为了本领域技术人员更加清楚理解本申请的技术方案,请参阅图2,本申请还提供了具体的实例,具体可包括:
采用大小为256*256*3的彩色图像作为原始明文彩色图像,一次密钥生成过程可为:预先设置Henon映射初始值为x0=0.501934561、y0=0.554157443、控制参数为a=1.25、b=0.25,迭代次数s=524,利用非周期性的二维Cat变换对明文彩色图像的RGB分量在像素值不变时进行二维像素置乱;然后设置Henon映射初始值为x0=0.501334562、y0=0.554157444、控制参数为a=1.2、b=0.3,Kent映射的初始值k1与明文特征关联,混沌系统的控制参数α=1010、β=1010、γ=1010,将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量;预先设置三维Cat变换方法控制参数,利用非周期性三维Cat变换进行灰度值交换,并迭代10次;
经过70次密钥的迭代加密,最终输出密文图像。
经过图像统计直方图的实验,结果表明本申请提供的技术方案,可使像素点随机分布在R、G、B三个分量中,改变明文图像R、G、B三个分量像素的分布,且R、G、B分量的统计直方图分布均匀,各个灰度值统计总量相近,实现加密明文图像的目的,有效地实现彩色图像像素的三维位置置乱,大大增强抗基于明文像素灰度值的统计攻击能力。
此外,本申请还针对相邻像素相关性进行分析,图像相邻像素相关性分析是分别从水平、垂直和对角线三个方向计算图像相邻像素相关系数,加密后的密文图像的像素相关性越低且接近为零,反应出图像加密效果好,加密方法抵抗相邻像素相关性统计攻击能力强。利用本申请技术方案得出密文图像的相关性系数接近0,相当一部分值更小。可见,本申请技术方案具有更强的抗相关性分析攻击能力。
本申请采用多轮多混沌系统对彩色图像进行加密,Henon映射、Kent映射和Henon-Kent映射输入的密钥采用双精度运算,二维Cat变换和三维Cat变换输入的密钥采用长整型。其中二维Cat变换方法中的Henon映射初始值x0和y0密钥空间为1020、控制参数为a和b密钥空间为103,迭代次数s密钥空间为101。像素扩散过程中Henon映射初始值为x0和y0密钥空间为1020、控制参数为a和b密钥空间为103,Kent映射的初始值k1密钥空间为101。混沌系统的控制参数α、β、γ密钥空间为1030。三维Cat变换方法中控制参数密钥空间为109。可见,本申请输入的密钥空间接近1086>2200,可有效地抵抗穷举的攻击,从而增加方法的安全性。
明文敏感性分析是指图像中像素灰度值发生微小变化时,加密后的图像产生截然不同的变化,产生的变化一般采用NPCR(像素变化率)和UACI(归一化像素平均值)来检测,NPCR和UACI计算方法如下公式所示:
其中,D(i,j)代表如果图像1和图像2在同一位置位置的灰度值相同时则D(i,j)=1,否则D(i,j)=0。本申请的密钥与明文的像素灰度值相关联,对于256*256*3的彩色图像,将该图像随机选择一个像素进行加1操作为新彩色图像,将原始图像和新图像进行NPCR和UACI计算。经过多次仿真计算得出R、G和B分量的NPCR和UACI平均值如表1所示,表1可以得出本申请的技术方案的NPCR>99.6%和UACI>33.3%,可见明文的特性具有高度敏感。
表1NPCR和UACI平均值及对比
密钥敏感性是指对密钥进行微小的改变时,解密得出图像不存在明文特征信息的图像。本申请对所有的密钥进行严谨的仿真,分别对所有的密钥进行独立且微小的修改,例如将二维Cat变换中的Henon映射初始值x0=0.501934561修改为x0=0.501934562、控制参数a=1.25修改为a=1.26的解密结果。
此外,还通过模拟图像传输过程中图像局部信息丢失来实现抗剪切能力分析,本申请对密文图像进行25%和50%的截切,实验仿真结果显示本申请加密解密方法在图像传输过程信息丢失情况下能把图像解密且解密结果能够显示明文图像的部分信息,通过剪切能力分析同时可以得到本发明方法具有抗噪声攻击能力。
本发明实施例还针对彩色图像加密方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的彩色图像加密装置进行介绍,下文描述的彩色图像加密装置与上文描述的彩色图像加密方法可相互对应参照。
参见图3,图3为本发明实施例提供的彩色图像加密装置在一种具体实施方式下的结构图,该装置可包括:
二维Cat变换置乱模块301,用于利用非周期性的二维Cat变换对待加密的明文彩色图像的RGB分量在像素值不变时进行二维像素置乱。
中间密文分量计算模块302,用于将置乱后的明文彩色图像的各像素灰度值,与通过Henon_Kent映射得到的三组混沌序列进行异或操作,以得到中间密文分量。
三维Cat变换模块303,用于利用非周期性的三维Cat变换对中间密文分量构成的中间密文矩阵进行像素的灰度值交换,并迭代t次(t为正整数)。
迭代模块303,用于依次循环执行S101-S103T次(T为正整数),输出明文彩色图像的加密图像。
在一种具体实施方式中,所述三维Cat变换模块303可包括第一迭代计算单元,用于根据下述公式计算明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用带位置参数像素灰度值和计算迭代次数t:
t=mod(summ*108,100)+1;
式中,明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为明文彩色图像的坐标值。
在另外一种具体实施方式下,所述迭代模块304还包括第二迭代次数计算单元,用于根据下述公式计算明文彩色图像的三维矩阵的带位置参数像素灰度值和summ:
利用带位置参数像素灰度值和计算迭代次数T:
T=mod(summ*107,20)+1;
式中,明文彩色图像为m*n*3的三维矩阵A(i,j,k),(i,j,k)为明文彩色图像的坐标值。
本发明实施例所述彩色图像加密装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例利用非周期性的Cat变化对原始彩色图像进行加密,随着迭代次数的增加,有利于彩色图像像素更加随机的分布在密文图像的R、G和B分量中,从而有利于提高彩色图像加密的安全性;由于Henon_Kent混合混沌系统使产生混沌序列具有更强的动力学特性和伪随机性,有效地对明文图像进行像素的扩散,使像素均匀地分布在[0,255]之间,有利于提高鲁棒性,且增大了密钥空间,提升了图像加密的安全性,对各种攻击手段具有比较强的抵抗能力;此外,对于行列不同的图像,避免了对图像进行预处理(例如行列增加)以形成方阵,对任何尺寸的图像加密具有高效的可操作性,还有效的避免了密文图像的存储和传输需要消耗更多的资源的问题。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种彩色图像加密方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (3)
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:
T=mod(summ*107,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):
将各源像素位置的灰度值替换为相应的交换位置的灰度值。
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):
将各源像素位置的灰度值替换为相应的交换位置的灰度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710900274.XA CN107610191B (zh) | 2017-09-28 | 2017-09-28 | 一种彩色图像加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710900274.XA CN107610191B (zh) | 2017-09-28 | 2017-09-28 | 一种彩色图像加密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107610191A CN107610191A (zh) | 2018-01-19 |
CN107610191B true CN107610191B (zh) | 2020-10-23 |
Family
ID=61059295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710900274.XA Active CN107610191B (zh) | 2017-09-28 | 2017-09-28 | 一种彩色图像加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107610191B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108199828B (zh) * | 2018-02-08 | 2021-10-01 | 广东工业大学 | 一种彩色图片加密方法及装置 |
CN110120079B (zh) * | 2019-05-08 | 2022-09-30 | 郑州轻工业学院 | 基于三维Logistic映射和广义Cat映射彩色图像加密方法 |
CN110365866B (zh) * | 2019-06-13 | 2021-09-14 | 首都师范大学 | 彩色图像加密方法和装置 |
CN111737712B (zh) * | 2020-06-17 | 2023-06-13 | 北京石油化工学院 | 一种基于三维动态整数帐篷映射的彩色图像加密方法 |
CN112311522B (zh) * | 2020-09-23 | 2022-12-23 | 中国人民解放军火箭军工程大学 | 一种基于混合电路的信号压缩加密方法 |
CN112711763B (zh) * | 2020-12-24 | 2023-04-07 | 西藏民族大学 | 一种基于对抗自动编码器的彩色图像置乱加密方法 |
CN113452688B (zh) * | 2021-06-24 | 2022-07-08 | 山东三未信安信息科技有限公司 | 一种基于sm4与sm2算法的图像加密与解密方法及装置 |
CN114301581A (zh) * | 2021-12-06 | 2022-04-08 | 安徽理工大学 | 基于hms映射和比特位螺旋变换的彩色图像加密算法 |
CN116320199B (zh) * | 2023-05-19 | 2023-10-31 | 科大乾延科技有限公司 | 一种元宇宙全息显示信息智能管理系统 |
CN117812196B (zh) * | 2024-02-28 | 2024-05-14 | 广东工业大学 | 基于虹膜特征验证的一维混沌映射的医学图像保护方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296560A (zh) * | 2016-07-29 | 2017-01-04 | 广东工业大学 | 一种复合级联混沌的彩色图像加密算法 |
CN106327414A (zh) * | 2016-08-16 | 2017-01-11 | 广东工业大学 | 一种基于明文自身特性的双混沌图像加密方法 |
-
2017
- 2017-09-28 CN CN201710900274.XA patent/CN107610191B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296560A (zh) * | 2016-07-29 | 2017-01-04 | 广东工业大学 | 一种复合级联混沌的彩色图像加密算法 |
CN106327414A (zh) * | 2016-08-16 | 2017-01-11 | 广东工业大学 | 一种基于明文自身特性的双混沌图像加密方法 |
Non-Patent Citations (3)
Title |
---|
A symmetric image encryption scheme based on 3D chaotic Cat maps;Guanrong Chen 等;《Chaos Solitons and Fractals》;20040731;第749页、第752页 * |
基于混沌加密和Turbo码的图像安全传输;杨云霞;《中国优秀硕士学位论文全文数据库 信息科技辑 ISSN 1674-0246》;20151215;摘要、第11-12页 * |
基于混沌的数字图像加密算法研究与实现;丁煜明;《中国优秀硕士学位论文全文数据库 信息科技辑 ISSN 1674-0246》;20161015;摘要、第22-25页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107610191A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107610191B (zh) | 一种彩色图像加密方法及装置 | |
CN112084517B (zh) | 一种基于混沌映射和比特级置换的图像加密方法 | |
Tseng et al. | A secure data hiding scheme for binary images | |
Song et al. | A parallel image encryption algorithm using intra bitplane scrambling | |
Kang et al. | Color image encryption using pixel scrambling operator and reality-preserving MPFRHT | |
CN102982499B (zh) | 基于多分数阶混沌系统的彩色图像加密和解密方法 | |
Musanna et al. | A novel fractional order chaos-based image encryption using Fisher Yates algorithm and 3-D cat map | |
CN109102452B (zh) | 一种基于拉丁方阵置乱和双向扩散的图像加密方法 | |
Sun et al. | An image encryption algorithm utilizing Julia sets and Hilbert curves | |
CN103530571A (zh) | 基于正弦映射和Logistic混沌序列的图像加密方法 | |
CN107330338B (zh) | 基于双混沌交叉扩散的彩色图像加密和解密方法及系统 | |
CN108319859A (zh) | 一种位级同步置乱扩散和像素级环形扩散图像加密方法 | |
CN112199690A (zh) | 基于混合时滞的分数阶复杂系统同步实现的图像加密方法 | |
CN109361830B (zh) | 一种基于明文的图像加密方法 | |
CN115580687B (zh) | 基于变参数超混沌系统与s形扩散的多图像加密方法 | |
Li et al. | Sharing more information in gray visual cryptography scheme | |
Wang et al. | A novel multi-group exploiting modification direction method based on switch map | |
Wen et al. | Triple-image bit-level encryption algorithm based on double cross 2D hyperchaotic map | |
CN111988144A (zh) | 一种基于多重密钥的dna一次一密图像加密方法 | |
CN107169911A (zh) | 一种基于二维Arnold变换的图像加密方法 | |
Song et al. | Batch image encryption using cross image permutation and diffusion | |
CN113407955A (zh) | 基于四维超混沌系统的图像加密方法、介质、设备及终端 | |
CN111131657B (zh) | 基于自验证矩阵的混沌医学图像防篡改加密方法 | |
Chai et al. | SE-NDEND: A novel symmetric watermarking framework with neural network-based chaotic encryption for Internet of Medical Things | |
Kumar | Image data security using Quasigroup combined with Fibonacci Q-transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |