CN107633175B - 一种基于混沌的快速彩色图像加密方法 - Google Patents
一种基于混沌的快速彩色图像加密方法 Download PDFInfo
- Publication number
- CN107633175B CN107633175B CN201710825211.2A CN201710825211A CN107633175B CN 107633175 B CN107633175 B CN 107633175B CN 201710825211 A CN201710825211 A CN 201710825211A CN 107633175 B CN107633175 B CN 107633175B
- Authority
- CN
- China
- Prior art keywords
- pixel
- image
- sub
- encrypted
- chaos
- 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
Abstract
本发明提出一种基于混沌的快速彩色图像加密方法,该方法初始化置乱密钥和替代密钥;将待加密图像像素记为一维数组;生成超混沌Lü系统的混沌序列;对混沌序列进行量化处理,得到置乱密钥流;根据置乱密钥流permKstr对待加密图像像素数组进行置乱操作;以替代密钥作为logistic混沌映射的状态变量初始值进行logistic映射迭代,根据logistic混沌映射的当前状态变量值生成三个替代密钥流元素对置乱操作后的数组imgDatal的一个像素点的三个子像素进行加密;对待加密图像像素进行多轮加密,得到加密后的数组;显著提升了加密效率;通过引入基于明文的混沌轨道扰动机制,使密钥流与明文相关,增强了加密系统抗选择明文攻击的能力,同时提高了混沌密钥流序列的随机统计特性。
Description
技术领域
本发明属于数字信号加密技术领域,具体涉及一种基于混沌的快速彩色图像加密方法。
背景技术
近年来,随着多媒体与计算机网络技术的飞速发展,数字图像作为最直观的信息载体已成为人们进行信息交流的重要手段。越来越多的数字图像在以Internet、无线网络等为代表的开放性网络中传播,极大地方便了信息的访问与共享。与此同时,商业、金融、医疗、科研、军事、政治等诸多敏感领域的图像信息在开放网络环境下的传输存在着巨大的安全隐患,因此图像信息的安全问题引起了普遍的关注。在近年来所提出的多种图像加密方案中,基于混沌的方案具有显著的技术优势和应用潜力,成为了密码学领域近年来的一个研究热点。
上世纪90年代初,研究人员发现混沌学与密码学之间存在着天然的联系。混沌系统所具有的初始条件敏感性、遍历性、轨道不可预测性以及伪随机性等一系列特性,能够很好地匹配一个完善的密码系统的设计准则。基于混沌动力学构造的加密系统,在设计上具有很强的灵活性,可提供安全性与计算效率间的一个良好的平衡,特别适合对数据量较大的数字图像进行加密,实现数字图像的实时、安全传输。1998年,美国学者JessicaFridrich提出了首个通用的图像加密架构。该架构通过“置乱”(permutation)与“替代”(substitution)两个核心过程来实现一个安全的图像加密系统。在置乱阶段,图像中每个像素点的位置以一种伪随机的方式被打乱。在替代阶段,每个点的像素值在密钥流作用下依次被改变,同时,将每个像素点的影响扩散至整个密文图像,从而保证加密系统可有效抵御选择明文攻击。
在其后十余年间,世界各国学者以Fridrich所提出的架构为基础,对基于混沌的数字图像加密技术进行了广泛深入的研究,取得了诸多成果。现有方案大多以灰度图像为研究对象,对彩色图像的研究相对较少。这是因为一幅彩色图像是由三个色彩分量(红、绿、蓝)所合成的,而每个色彩分量的数据表达与一幅灰度图像无异,因此对一幅彩色图像的加密可以看作是对三幅灰度图像的加密,即:“置乱”与“替代”密钥流元素的量化生成以表达色彩分量大小的子像素为单位。本发明提出了一种基于混沌的快速彩色图像加密方法,在替代密钥流生成过程中采用24位量化机制,使得一个状态变量可同时生成三个密钥流元素,用于加密一个彩色像素的三个子像素点,显著提升了加密效率。密码学分析与实验表明,本发明所提出的24位量化机制与传统的8位量化机制相比,在安全性上没有降低。此外,在替代过程中,基于明文像素值对混沌系统轨道施加扰动,从而使密钥流与明文相关,增强了加密系统抗选择明文攻击的能力,同时提高了混沌密钥流序列的随机统计特性。加密速度测试结果表明,本发明方法在加密速度上显著优于传统方法。
发明内容
针对现有技术的不足,本发明提出一种基于混沌的快速彩色图像加密方法。
一种基于混沌的快速彩色图像加密方法,包括以下步骤:
步骤1:初始化置乱密钥和替代密钥;
步骤2:将待加密图像像素记为一维数组imgData={p0,p1,...,p3×H×W-1},其中,pm为待加密图像像素点的红、绿、蓝三颜色分量的子像素值,m=0,1,...,3×H×W-1,H为待加密图像的高度,W为待加密图像的宽度;
所述将待加密图像像素记为一维数组的具体方式为:将待加密图像像素按由上至下、由左至右的顺序读入一维数组imgData={p0,p1,...,p3×H×W-1},其中,p0为第一个像素点的红色分量子像素值,p1为第一个像素点的绿色分量子像素值,p2为第一个像素点的蓝色分量子像素值,p3为第二个像素点的红色分量子像素值,p4为第二个像素点的绿色分量子像素值,p5为第二个像素点的蓝色分量子像素值,以此类推。
步骤3:以初始化的置乱密钥作为超混沌Lü系统的状态变量初始值,生成超混沌Lü系统的混沌序列permSeq={ps0,ps1,ps2,...,ps3×H×W-2},其中,psm为第m个混沌序列元素,m=0,1,...,3×H×W-2;
步骤3.1:以初始化的置乱密钥作为超混沌Lü系统的状态变量初始值,采用四阶龙格-库塔法对Lü系统进行N0次预迭代;
步骤3.2:对超混沌Lü系统进行次迭代,将每次迭代后的混沌映射状态变量的当前值(xn+1,yn+1,zn+1,uh+1)依次放入一维数组permSeq={ps0,ps1,ps2,...,ps3×H×W-2}中,即超混沌Lü系统的混沌序列,其中,Lperm=len(imgData)-1,len(imgData)为数组imgData的长度,为对Lperm/4向上取整,(xn+1,yn+1,zn+1,un+1)为超混沌Lü系统的n+1次迭代后的状态变量。
步骤4:对混沌序列进行量化处理,得到置乱密钥流permKstr={pk0,pk1,...,pk3×H×W-2},其中,pkm为第m个置乱密钥流元素;
所述对混沌序列进行量化处理的公式如下所示:
其中,pos(pkm)函数为pkm在置乱密钥流permKstr中的位置,即m,abs(psm)函数为pkm的绝对值,sig(abs(psm),α)函数为abs(psm)的前α位有效数字,mod(f,g)函数为f除以g的余数。
步骤5:根据置乱密钥流permKstr对待加密图像像素数组imgData进行置乱操作,得到置乱操作后的数组imgData1;
所述根据置乱密钥流permKstr对待加密图像像素数组imgData进行置乱操作的具体过程如下所示:
将待加密图像像素数组imgData中的子像素根据置乱密钥流确定的交换的位置进行置乱操作:依次将待加密图像像素数组imgData中的每一个子像素pm与位于pkm处的子像素相交换。
步骤6:以替代密钥作为logistic混沌映射的状态变量初始值进行logistic映射迭代,根据logistic混沌映射的当前状态变量值生成三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行加密;
步骤6.1:以替代密钥作为logistic混沌映射的状态变量初始值,对logistic混沌映射进行N0次预迭代,得到logistic混沌映射的N0次迭代后的状态变量;
步骤6.2:对logistic混沌映射进行一次迭代操作,将得到的logistic混沌映射的当前状态变量值生成一个24bit的整数pseRandInt;
步骤6.3:根据生成的整数pseRandInt进行位移操作生成三个替代密钥流元素;
所述根据生成的整数pseRandInt进行位移操作生成三个替代密钥流元素的公式如下所示:
其中,“>>s”为右移s个比特位,&为按位与操作,kstrEle(red)为作用于红色子像素的密钥流元素,kstrEle(green)为作用于绿色子像素的密钥流元素,kstrEle(blue)为作用于蓝色子像素的密钥流元素。
步骤6.4:采用当前的三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行替代操作,得到该像素点的密文值;
所述采用当前的三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行替代操作的公式如下所示:
其中,(c3n,c3n+1,c3n+2)为对置乱操作后的数组imgData1的三个子像素(p′3n,p′3n+1,p′3n+2)进行加密得到的密文值,(c3n-1,c3n,c3n+1)为前一个已加密子像素的密文值,kstrEle(red)为作用于红色子像素的密钥流元素,kstrEle(green)为作用于绿色子像素的密钥流元素,kstrEle(blue)为作用于蓝色子像素的密钥流元素,为按位异或操作,GL为输入图像的灰度等级。
步骤6.5:基于各像素的色彩分量值对当前logistic混沌映射的状态变量进行扰动操作,得到扰动后的logistic混沌映射的状态变量;
所述基于各像素的色彩分量值对当前logistic混沌映射的状态变量进行扰动操作的公式如下所示:
步骤6.6:重复步骤6.2至步骤6.5,直至置乱操作后的数组imgData1中所有像素加密完成。
步骤7:重复k次步骤5至步骤6,对待加密图像像素进行多轮加密,得到加密后的数组imgData2;
步骤8:将明文图像文件的文件头和加密后的数组imgData2写入文件,得到加密图像。
本发明的有益效果:
本发明提出一种基于混沌的快速彩色图像加密方法,通过引入新的量化机制,使得一个状态变量可同时生成三个密钥流元素;这意味着只需一次迭代,便可加密一个彩色像素的三个子像素点,显著提升了加密效率;通过引入基于明文的混沌轨道扰动机制,使密钥流与明文相关,增强了加密系统抗选择明文攻击的能力,同时提高了混沌密钥流序列的随机统计特性;本发明提出的加密系统的密钥空间可达265位,远优于当前主流加密方法。
附图说明
图1为本发明具体实施方式中基于混沌的快速彩色图像加密方法的流程图;
图2为本发明具体实施方式中灰度图像peppers;
图3为本发明具体实施方式中经过两轮加密后的加密图像。
图4为采用本发明方法和三种经典混沌置乱方法进行置乱操作的结果示意图;
其中,(a)为灰度图像peppers;
(b)为采用本发明方法经过一轮置乱后的图像结果;
(c)为采用cat映射置乱1轮后的图像结果;
(d)为采用cat映射置乱2轮后的图像结果;
(e)为采用cat映射置乱3轮后的图像结果;
(f)为采用baker映射置乱1轮后的图像结果;
(g)为采用baker映射置乱2轮后的图像结果;
(h)为采用baker映射置乱3轮后的图像结果;
(i)为采用standard映射置乱1轮后的图像结果;
(j)为采用standard映射置乱2轮后的图像结果;
(k)为采用standard映射置乱3轮后的图像结果;
图5为本发明具体实施方式中四幅灰度图像;
其中,其中,(a)为灰度图像baboon;
(b)为灰度图像house;
(c)为灰度图像Lena;
(d)为灰度图像Portofino;
图6为采用本发明方法对图2进行加密前后的R、G、B分量的直方图;
其中,(a)为灰度图像peppers明文图像;
(b)为灰度图像peppers的R分量;
(c)为灰度图像peppers的G分量;
(d)为灰度图像peppers的B分量;
(e)为灰度图像peppers的R分量的直方图;
(f)为灰度图像peppers的G分量的直方图;
(g)为灰度图像peppers的B分量的直方图;
(h)为图像peppers密文图像;
(i)为图像peppers密文图像的R分量;
(j)为图像peppers密文图像的G分量;
(k)为图像peppers密文图像的B分量;
(l)为图像peppers密文图像R分量的直方图;
(m)为图像peppers密文图像G分量的直方图;
(n)为图像peppers密文图像B分量的直方图;
图7为本发明实施方式中peppers明文图像和密文图像相邻像素相关性可视化测试结果;
其中,(a)为灰度图像peppers明文图像水平方向相邻像素相关性;
(b)为灰度图像peppers的R分量水平方向相邻像素相关性;
(c)为灰度图像peppers的G分量水平方向相邻像素相关性;
(d)为peppers密文图像的B分量水平方向相邻像素相关性;
(e)为peppers密文图像的R分量水平方向相邻像素相关性;
(f)为peppers密文图像的G分量水平方向相邻像素相关性;
图8为本发明实施方式中对图3的加密文件进行密钥敏感性测试结果示意图;
其中,(a)为采用正确解密密钥进行解密的结果示意图;
(b)为采用x0分量具有一个比特差异进行解密的结果示意图;
(c)为采用y0分量具有一个比特差异进行解密的结果示意图;
(d)为采用z0分量具有一个比特差异进行解密的结果示意图;
(e)为采用u0分量具有一个比特差异进行解密的结果示意图;
(f)为采用w0分量具有一个比特差异进行解密的结果示意图。
具体实施方式
下面结合附图对本发明具体实施方式加以详细的说明。
一种基于混沌的快速彩色图像加密方法,如图1所示,包括以下步骤:
本实施方式中,对一幅国际标准测试图像库中的常用图像进行加密,如图2所示,图像名称:peppers。该图像为灰度图像,其高度H=512,宽度W=512。
步骤1:初始化置乱密钥和替代密钥。
本实施方式中,初始化置乱密钥,即超混沌Lü系统的状态变量初始值(x0,y0,z0,u0),初始化替代密钥,即logistic混沌映射的状态变量初始值w0。
超混沌Lü系统的状态变量初始值取为:(x0=4.1437594350717,y0=5.3052357062825,z0=26.36372354340482,u0=28.5802537020945)。logistic混沌映射的状态变量初始值w0取值为:(w0=0.681971904149063)。
步骤2:将待加密图像像素记为一维数组imgData={p0,p1,...,p3×H×W-1},其中,pm为待加密图像像素点的红、绿、蓝三颜色分量的子像素值,m=0,1,...,3×H×W-1。
本实施方式中,将待加密图像像素按由上至下、由左至右的顺序读入一维数组imgData={p0,p1,...,p3×H×W-1}={0,0,93,...},其中,p0为第一个像素点的红色分量子像素值,p1为第一个像素点的绿色分量子像素值,p2为第一个像素点的蓝色分量子像素值,p3为第二个像素点的红色分量子像素值,p4为第二个像素点的绿色分量子像素值,p5为第二个像素点的蓝色分量子像素值,以此类推。
步骤3:以初始化的置乱密钥作为超混沌Lü系统的状态变量初始值,生成超混沌Lü系统的混沌序列permSeq={ps0,ps1,ps2,...,ps3×H×W-2},其中,psm为第m个混沌序列元素,m=0,1,...,3×H×W-2。
步骤3.1:以初始化的置乱密钥作为超混沌Lü系统的状态变量初始值,采用四阶龙格-库塔法对Lü系统进行N0次预迭代。
本实施方式中,超混沌Lü系统的公式如式(1)所示:
其中,(x,y,z,u)为超混沌Lü系统的状态变量,分别为状态变量x,y,z,u对时间t的导数,a,b,c为常量,本实施方式中,a=36,b=3,c=20,d为控制参数,当-0.35<d≤1.30时,系统处于超混沌状态。
N0为常量,一般取N0≥200,本实施例中,N0=200。
采用四阶龙格-库塔(Runge-Kutta)法对Lü系统进行N0次预迭代的公式如式(2)所示:
其中,
步骤3.2:对超混沌Lü系统进行次迭代,将每次迭代后的混沌映射状态变量的当前值(xn+1,yn+1,zn+1,un+1)依次放入一维数组permSeq={ps0,ps1,ps2,...,ps3×H×W-2}中,即超混沌Lü系统的混沌序列,其中,Lperm=len(imgData)-1,len(imgData)为数组imgData的长度,为对Lperm/4向上取整,(xn+1,yn+1,zn+1,un+1)为超混沌Lü系统的n+1次迭代后的状态变量。
本实施方式中,最后一次迭代生成的4个元素中的最后Rperm=4×Iperm(3×H×W-1)个元素是冗余的(0≤Rperm<4),可将其直接抛弃。
迭代次数数组permSeq={4.70561672399268,3.62055070817993,22.1717113783241,...},最后一次迭代生成的4个元素中的最后Rperm=4×Iperm(3×H×W-1)个元素是冗余的,丢弃不用。
步骤4:对混沌序列进行量化处理,得到置乱密钥流permKstr={pk0,pk1,...,pk3×H×W-2},其中,pkm为第m个置乱密钥流元素。
本实施方式中,对混沌序列进行量化处理的公式如式(3)所示:
其中,pos(pkm)函数为pkm在置乱密钥流permKstr中的位置,即m,abs(psm)函数为pkm的绝对值,sig(abs(psm),α)函数为abs(psm)的前α位有效数字,mod(f,g)函数为f除以g的余数。
得到置乱密钥流permKstr={140730,277994,553687,...}。
步骤5:根据置乱密钥流permKstr对待加密图像像素数组imgData进行置乱操作,得到置乱操作后的数组imgData1。
本实施方式中,根据置乱密钥流permKstr对待加密图像像素数组imgData进行置乱操作的具体过程如下所示:
将待加密图像像素数组imgData中的子像素根据置乱密钥流确定的交换的位置进行置乱操作:依次将待加密图像像素数组imgData中的每一个子像素pm与位于pkm处的子像素相交换。
即将待加密图像像素数组imgData中的每一个子像素与其后面的某一个子像素相交换,交换对象的坐标由置乱密钥流permKstr决定,其中,最后一个子像素除外。
依次待加密图像像素数组imgData中的每一个子像素pm与位于pkm处的子像素相交换,由公式(3)可知,pkm的取值范围为[(m+1),(len(imgData)-1)],保证了每个子像素的交换目标从其后面选取。
例如:将p0与p140730交换,p1p140730与p277994交换,p2与p553687p2交换,其余点的交换以此类推。
步骤6:以替代密钥作为logistic混沌映射的状态变量初始值进行logistic映射迭代,根据logistic混沌映射的当前状态变量值生成三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行加密。
步骤6.1:以替代密钥作为logistic混沌映射的状态变量初始值,对logistic混沌映射进行N0次预迭代,得到logistic混沌映射的N0次迭代后的状态变量。
本实施方式中,建立logistic混沌映射的公式如式(4)所示:
wn+1=μwn(1-wn),wn∈(0,1),μ∈[0,4] (4)
其中,μ为控制参数,w为状态变量,wn为第n次迭代的logistic混沌映射的状态变量值,wn+1为第n+1次迭代的logistic混沌映射的状态变量值,logistic混沌映射的状态变量初始值w0为0.681971904149063。
当μ∈(3.57,4]时,系统处于混沌状态,本实施方式中,μ设为4,使logistic映射工作在满射状态。
对于状态变量w为0.5和0.75时,为“不良点”,会使状态变量在后续迭代中分别陷入“不动点”0和0.75。如果该情况出现,则对w的当前值做一个微小的扰动,例如增加或减小0.001。
步骤6.2:对logistic混沌映射进行一次迭代操作,将得到的logistic混沌映射的当前状态变量值生成一个24bit的整数pseRandInt;
本实施方式中,将得到的logistic混沌映射的当前状态变量值生成一个24bit的整数pseRandInt的公式如式(5)所示:
pseRandInt=mod[sig(wn+1,α),(1<<24)] (5)
其中,n=0,1,...,H×W-1,“<<s”为左移s个比特位,sig(wn+1,α)函数为wn+1的前α位有效数字,计算得到wn+1=0.997788166025882,pseRandInt=3306138。
步骤6.3:根据生成的整数pseRandInt进行位移操作生成三个替代密钥流元素。
本实施方式中,根据生成的整数pseRandInt进行位移操作生成三个替代密钥流元素的公式如式(6)所示:
其中,“>>s”为右移s个比特位,&为按位与操作,kstrEle(red)为作用于红色子像素的密钥流元素,kstrEle(green)为作用于绿色子像素的密钥流元素,kstrEle(blue)为作用于蓝色子像素的密钥流元素。
计算得到kstrEle(red)=50,kstrEle(green)=114,kstrEle(blue)=154。
步骤6.4:采用当前的三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行替代操作,得到该像素点的密文值。
本实施方式中,步骤6.4:采用当前的三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行替代操作的公式如式(7)所示:
其中,(c3n,c3n+1,c3n+2)为对置乱操作后的数组imgData1的三个子像素(p′3n,p′3n+1,p′3n+2)进行加密得到的密文值,(c3n-1,c3n,c3n+1)为前一个已加密子像素的密文值,为按位异或操作,GL为输入图像的灰度等级,对于24位真彩色图像,GL=256,对于第一个子像素,其初始值c-1可由加密者设为一取值范围在[0,GL]的整型常量。
这里,c-1设为177,计算得到第一个像素点的3个子像素的密文值为:c0=218,c1=225,c2=180。
本实施方式中,用于解密的公式如式(8)所示:
步骤6.5:基于各像素的色彩分量值对当前logistic混沌映射的状态变量进行扰动操作,得到扰动后的logistic混沌映射的状态变量。
本实施方式中,基于各像素的色彩分量值对当前logistic混沌映射的状态变量进行扰动操作的公式如式(9)所示:
这里,计算得到β=0.040130718954248,状态变量值扰动为wn+1=0.997788166025882-0.040130718954248=0.957657447071634。
步骤6.6:重复步骤6.2至步骤6.5,直至置乱操作后的数组imgData1中所有像素加密完成。
步骤7:重复k次步骤5至步骤6,对待加密图像像素进行多轮加密,得到加密后的数组imgData2;
步骤8:将明文图像文件的文件头和加密后的数组imgData2写入文件,得到加密图像。
经过两次加密后的加密图像如图3所示。
本实施方式中,对本发明基于混沌的快速彩色图像加密方法进行全面的安全性能分析与测试并对结果进行分析,以验证其有效性及性能优势。
为验证本发明所提出的置乱方法的有效性与优势,分别使用本发明所提出的置乱方法以及三种经典混沌置乱方法(cat映射、baker映射、standard映射)对图2实施置乱操作,结果如图4所示。其中,图4(a)为灰度图像peppers;图4(b)为应用本发明方法置乱1轮后的结果;图4(c)-图4(e)为应用cat映射置乱1~3轮后的结果;图4(f)-图4(h)为应用baker映射置乱1~3轮后的结果;图4(i)-图4(k)为应用standard映射置乱1~3轮后的结果。
从图4中可以看到,本发明所提出的置乱方法在效果上优于三种经典的混沌置乱方法,经过一轮操作即可达到理想的置乱效果,而对于baker映射和standard映射,需要执行3轮操作才能达到可接受的效果。Cat映射虽然对置乱轮数不敏感,但置乱图像中仍然存在较为明显的条纹。
良好的扩散性能是抵御差分攻击的有效保障。差分攻击是选择明文攻击中最为常用的一种手段。其基本思路为:攻击者采用相同的密钥,加密两幅具有极其微小差异(例如一个比特)的明文图像。通过对比得到的两幅密文图像,分析出所使用的密钥流乃至密钥情况。因此,若一个像素值的微小改变可有效的扩散至整幅密文图像,则差分攻击是无效的。
NPCR(number of pixels change rate)与UACI(unified average changeintensity)是衡量一个图像加密系统扩散性能的两个核心指标。NPCR用于测试两幅图像间的差异度。
设I1(i′,j′,k′)和I2(i′,j′,k′)分别表示I1与I2两幅彩色图像(i′,j′)处像素的第k′k个色彩分量的子像素值(k′=1,2,3分别表示像素的R,G,B分量),NPCR的定义如式(10)所示:
其中,D(i′,j′,k′)的定义如式(11)所示:
对于两幅纯随机图像,其NPCR理论值如式(12)所示:
其中GL为图像的灰度级数,例如,对于2幅24位真彩色随机图像(GL=256),其NPCR理论值为99.609%。
UACI用于测试两幅图像间的平均差异强度,其定义如式(13)所示:
对于两幅纯随机图像,其UACI理论值如式(14)所示:
例如,对于2幅24位真彩色随机图像(GL=256),其UACI理论值为33.464%。
对于一个设计良好的图像加密系统,其NPCR与UACI指标应尽可能接近理论值。
为测试本发明所提出的图像加密方法在极限情况下的扩散性能,
针对图5中给出的4幅明文图像和图2,构建了相应的只有一个比特差异的差分图像。差异像素的位置、对应的色彩分量以及+1/-1操作,均随机选定,如表1所示,对5对图像的NPCR与UACI测试结果如表2所示。
表1原始明文图像与差分图像的差异信息
表2.NPCR与UACI测试结果
从表2中可以看出,本发明所提出的图像加密算法只需经过2轮加密即可达到理想的NPCR与UACI指标,因此可有效抵御差分攻击。
密钥空间是指在加密或解密过程中可用的不同密钥的总量。对于一个安全的加密系统,密钥空间应该足够大以使穷举攻击(暴力破解)失效。根据现有计算机的运算速度及未来几年内的发展趋势,目前密码学界认为密钥长度大于100位即可有效抵御穷举攻击。本发明所提出的加密系统的密钥由超混沌Lü系统4个状态变量初始值和logistic映射1个状态变量初始值构成,并且加密系统在实现时,所有状态变量均定义为双精度浮点数(64位double型)。根据IEEE浮点数标准,该数据类型的有效精度为53位,因此本发明所提出的加密系统的密钥长度为53×5=265位。
对于一个设计良好的图像加密系统,其输出的密文图像像素值频率分布应具有良好的均匀性,以有效抵御频率分析。直方图是描述一幅图像像素值频率分布的一种最为直观的手段。
采用本发明方法对图2进行加密前后的R、G、B分量的直方图如图6所示。
图像中像素值的分布可进一步通过计算图像的信息熵加以定量地描述。信息熵是表征一个信源随机性与不可预测性的重要指标。信息熵通常由平均信息量来描述,即表达一个信源中的一个码元所需的平均比特数定义如式(15)所示:
其中,S为由N个不同码元{s1,...,sN}构成的信源,P(si′)为码元si′出现的概率。由式(15)可知,对于一个256级灰阶的纯随机图像,其信息熵的理论值为H(S)=8。因此对于一个设计良好的图像加密系统,其输出的密文图像的信息熵应尽可能接近于8。
表3给出了图5中给出的4幅明文图像和图2及其对应的密文图像的信息熵。从表中可以看到,全部5幅密文图像的信息熵都极为接近理想值8,这意味着可以将本加密系统看作一个理想的随机图像输出源。
表3明文与密文图像的信息熵
对于一个具有明确视觉含义的数字图像,其每一个像素点在水平、垂直以及对角线方向与其相邻像素点间均具有很高的相关性。而对于一个设计良好的图像加密系统,其输出的密文图像的相邻像素间应不具备任何相关性。图7给出了图2明文图像及其对应的密文图像的三个色彩分量在水平方向的相邻像素相关性可视化测试结果。该测试将一对相邻像素的像素值作为横、纵坐标,以点的形式绘制于二维平面上。从测试结果可以看出,对于明文图像,绝大部分的点都集中在对角线附近,说明相邻像素间具有极强的相关性。而对于密文图像,所有点均匀分布于灰度平面上,说明其相邻像素间已不具有任何相关性。对于其它两个方向的测试可得到相似的结果,这里不再给出。
为了进一步定量衡量与比较明文图像与密文图像的相邻像素相关性,下面计算图像的相关系数,方法如下:
首先在图像的每个色彩分量的某个相邻方向上(水平、垂直、对角线)随机选取Sn对相邻点。然后,利用公式(16)、(17)、(18)计算图像在该方向上的相关系数rx,y。
其中,xi′和yi′分别代表图像的某个色彩分量中两个相邻点的像素值。
取Sn=5000,表4中列出了五幅测试图像及其对应的密文图像在三个色彩分量上的水平、垂直、对角线方向相邻像素相关系数。从表中可以看到,本加密方法得到的密文图像的相关系数接近于理想值0,因此可有效抵御相关分析。
表4明文与密文图像的相关系数
密钥敏感性是加密系统设计的一项基本准则。其要求当使用任意两个具有极小差异的密钥加密相同的明文时,将产生完全不同的密文。反之,当攻击者尝试使用与加密密钥极为相近的解密密钥实施解密时,不能得到任何与明文相关的信息。
在本项测试中,首先随机选定一组加密密钥:Lü系统初值(x0=9.05791937075619,y0=2.53973632587012,z0=25.2943698490164,u0=-28.5802537020945)及logistic混沌映射初值w0=0.278498218867048,对图2明文图像实施加密,得到的密文图像如图3所示。然后对得到的密文图像分别使用6个解密密钥进行解密。在6个解密密钥中,只有第1个与加密密钥完全相同,而其余5个只在一个状态变量上与加密密钥存在一个比特的差异,如表5所示。得到的解密结果如图8(a)-(f)所示。对其它测试图像可得到相似的结果,这里不再给出。
表5应用于密钥敏感性测试的密钥列表
由以上测试结果可知,本发明提出的图像加密系统具有良好的密钥敏感性。
本实施方式中,用于测试的平台为:CPU:Intel Xeon E3-1230v3@3.30GHz;内存:8GB;操作系统:Windows 7 64位;算法实现语言:C语言。
将加密轮数设为2轮,选用3幅不同大小的测试文件对本发明所提出的加密系统的加密速度进行测试,并与采用传统量化方案的混沌图像加密方法进行对比,其结果如表6所示。这里,为了更准确地衡量算法的运算速度,对每幅测试图像均加密10次,取其平均运行时间。从表6中可以看到,基于本发明所提出的加密方法,在计算效率上显著优于使用传统量化方案的加密方法。
表6加密效率测试及对比
基于以上全部测试及分析结果可知,本发明所提出的彩色图像加密方案具有良好的安全性,可有效抵御各类常见的攻击手段,同时具有理想的计算效率,非常适合于宽带开放性网络环境下的数字图像安全、实时传输。
Claims (6)
1.一种基于混沌的快速彩色图像加密方法,其特征在于,包括以下步骤:
步骤1:初始化置乱密钥和替代密钥;
步骤2:将待加密图像像素记为一维数组imgData={p0,p1,...pm,...,p3×H×W-1},其中,pm为待加密图像像素点的红、绿、蓝三颜色分量的子像素值,m=0,1,...,3×H×W-1,H为待加密图像的高度,W为待加密图像的宽度;
步骤3:以初始化的置乱密钥作为超混沌系统的状态变量初始值,生成超混沌系统的混沌序列permSeq={ps0,ps1,ps2,...psm'...,ps3×H×W-2},其中,psm'为第m’个混沌序列元素,m'=0,1,...,3×H×W-2;
步骤4:对混沌序列进行量化处理,得到置乱密钥流permKstr={pk0,pk1,pk2,...pkm'...,pk3×H×W-2},其中,pkm'为第m’个置乱密钥流元素;
步骤5:根据置乱密钥流permKstr对待加密图像像素数组imgData进行置乱操作,得到置乱操作后的数组imgData1;
步骤6:以替代密钥作为logistic混沌映射的状态变量初始值进行logistic映射迭代,根据logistic混沌映射的当前状态变量值生成三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行加密,其过程如下:
步骤6.1:以替代密钥作为logistic混沌映射的状态变量初始值,对logistic混沌映射进行N0次预迭代,得到logistic混沌映射的N0次迭代后的状态变量;
步骤6.2:对logistic混沌映射进行一次迭代操作,将得到的logistic混沌映射的当前状态变量值生成一个24bit的整数pseRandInt;
步骤6.3:根据生成的整数pseRandInt进行位移操作生成三个替代密钥流元素;
其中,“>>”为右移操作,&为按位与操作,ksteEle(red)为作用于红色子像素的密钥流元素,ksteEle(green)为作用于绿色子像素的密钥流元素,ksteEle(blue)为作用于蓝色子像素的密钥流元素;
步骤6.4:采用当前的三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行替代操作,得到该像素点的密文值;
步骤6.5:基于各像素的色彩分量值对当前logistic混沌映射的状态变量进行扰动操作,得到扰动后的logistic混沌映射的状态变量;
所述基于各像素的色彩分量值对当前logistic混沌映射的状态变量进行扰动操作的公式如下所示:
步骤6.6:重复步骤6.2至步骤6.5,直至置乱操作后的数组imgData1中所有像素加密完成;
步骤7:重复k次步骤5至步骤6,对待加密图像像素进行多轮加密,得到加密后的数组imgData2;
步骤8:将明文图像文件的文件头和加密后的数组imgData2写入文件,得到加密图像。
2.根据权利要求1所述的基于混沌的快速彩色图像加密方法,其特征在于,所述将待加密图像像素记为一维数组的具体方式为:将待加密图像像素按由上至下、由左至右的顺序读入一维数组imgData={p0,p1,...,p3×H×W-1},其中,p0为第一个像素点的红色分量子像素值,p1为第一个像素点的绿色分量子像素值,p2为第一个像素点的蓝色分量子像素值,p3为第二个像素点的红色分量子像素值,p4为第二个像素点的绿色分量子像素值,p5为第二个像素点的蓝色分量子像素值,…,p3×H×W-1为第H×W个像素点的蓝色分量子像素值。
3.根据权利要求1所述的基于混沌的快速彩色图像加密方法,其特征在于,所述步骤3包括以下步骤:
5.根据权利要求1所述的基于混沌的快速彩色图像加密方法,其特征在于,所述根据置乱密钥流permKstr对待加密图像像素数组imgData进行置乱操作的具体过程如下所示:
将待加密图像像素数组imgData中的子像素根据置乱密钥流确定的交换的位置进行置乱操作:依次将待加密图像像素数组imgData中的每一个子像素pm与位于pkm'处的子像素相交换。
6.根据权利要求1所述的基于混沌的快速彩色图像加密方法,其特征在于,所述采用当前的三个替代密钥流元素对置乱操作后的数组imgData1的一个像素点的三个子像素进行替代操作的公式如下所示:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710825211.2A CN107633175B (zh) | 2017-09-14 | 2017-09-14 | 一种基于混沌的快速彩色图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710825211.2A CN107633175B (zh) | 2017-09-14 | 2017-09-14 | 一种基于混沌的快速彩色图像加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107633175A CN107633175A (zh) | 2018-01-26 |
CN107633175B true CN107633175B (zh) | 2020-11-03 |
Family
ID=61101096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710825211.2A Active CN107633175B (zh) | 2017-09-14 | 2017-09-14 | 一种基于混沌的快速彩色图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107633175B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109003314B (zh) * | 2018-08-14 | 2023-03-21 | 长春理工大学 | 基于四维量子Dicke映射的图像加密解密方法 |
CN109831295B (zh) * | 2019-03-11 | 2022-02-01 | 国网甘肃省电力公司信息通信公司 | 一种基于电力应急通信系统的加密方法 |
CN111222147B (zh) * | 2019-11-19 | 2023-03-28 | 重庆师范大学 | 一种基于邻近轨道演化的新混沌系统的图像加密方法 |
CN111444522B (zh) * | 2020-03-19 | 2024-02-27 | 南昌大学 | 一种随机分块的混沌图像加密方法 |
CN113742739A (zh) * | 2020-05-28 | 2021-12-03 | 中国电信股份有限公司 | 图像加密方法、装置和存储介质 |
CN113206926B (zh) * | 2021-04-29 | 2022-04-05 | 南京航空航天大学 | 一种基于三像素点加密以平衡图像隐私性和可用性的方法 |
CN114390318B (zh) * | 2022-01-25 | 2022-12-02 | 南京曹操云控网络科技有限公司 | 一种用户数据加解密方法、装置及电子设备 |
CN115314600B (zh) * | 2022-10-12 | 2023-01-24 | 山东沃尔美肥业有限公司 | 一种化肥生产监控数据管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851071A (zh) * | 2015-05-21 | 2015-08-19 | 东北大学 | 一种基于三维混沌系统的数字图像加密方法 |
CN106296561A (zh) * | 2016-08-05 | 2017-01-04 | 广东工业大学 | 基于超混沌系统的图像加密方法及装置、解密方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6064738A (en) * | 1996-12-10 | 2000-05-16 | The Research Foundation Of State University Of New York | Method for encrypting and decrypting data using chaotic maps |
CN102360488B (zh) * | 2011-09-29 | 2013-02-13 | 付冲 | 一种基于混沌轨道扰动的数字图像加密方法 |
CN103258312B (zh) * | 2013-03-20 | 2015-10-28 | 东北大学 | 具有快速密钥流生成机制的数字图像加密方法 |
CN106778304B (zh) * | 2016-12-09 | 2020-06-09 | 交通运输部水运科学研究所 | 一种具有明文相关置乱机制的快速混沌图像加密方法 |
CN106910156B (zh) * | 2017-02-27 | 2019-07-19 | 东北大学 | 一种具有与明文相关密钥流生成机制的混沌图像加密方法 |
-
2017
- 2017-09-14 CN CN201710825211.2A patent/CN107633175B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851071A (zh) * | 2015-05-21 | 2015-08-19 | 东北大学 | 一种基于三维混沌系统的数字图像加密方法 |
CN106296561A (zh) * | 2016-08-05 | 2017-01-04 | 广东工业大学 | 基于超混沌系统的图像加密方法及装置、解密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107633175A (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107633175B (zh) | 一种基于混沌的快速彩色图像加密方法 | |
Midoun et al. | A sensitive dynamic mutual encryption system based on a new 1D chaotic map | |
Wang et al. | An image encryption algorithm based on Josephus traversing and mixed chaotic map | |
Zhou et al. | A new combination chaotic system and its application in a new Bit-level image encryption scheme | |
Pareek et al. | Image encryption using chaotic logistic map | |
Patro et al. | Secure multi–level permutation operation based multiple colour image encryption | |
Fouda et al. | A fast chaotic block cipher for image encryption | |
Kaur et al. | Chaos based multiple order optical transform for 2D image encryption | |
CN106778304B (zh) | 一种具有明文相关置乱机制的快速混沌图像加密方法 | |
Ahmad et al. | An image encryption algorithm based on new generalized fusion fractal structure | |
Hraoui et al. | A new cryptosystem of color image using a dynamic-chaos hill cipher algorithm | |
Ghebleh et al. | A novel image encryption algorithm based on piecewise linear chaotic maps and least squares approximation | |
CN103258312B (zh) | 具有快速密钥流生成机制的数字图像加密方法 | |
Hu et al. | An improved piecewise linear chaotic map based image encryption algorithm | |
Demirtaş | A new RGB color image encryption scheme based on cross-channel pixel and bit scrambling using chaos | |
Demirtaş | A novel multiple grayscale image encryption method based on 3D bit-scrambling and diffusion | |
Patro et al. | A simple, secure and time efficient multi-way rotational permutation and diffusion based image encryption by using multiple 1-D chaotic maps | |
CN107633474B (zh) | 一种具有快速密钥流生成过程的混沌彩色图像加密方法 | |
CN110225222B (zh) | 一种基于3d正交拉丁方和混沌系统的图像加密方法 | |
Latif | A novel image encryption scheme based on reversible cellular automata | |
Kumar et al. | Securing images with a diffusion mechanism based on Fractional Brownian Motion | |
Zhang | A chaotic system based image encryption algorithm using plaintext-related confusion | |
Es-Sabry et al. | Securing images using high dimensional chaotic maps and DNA encoding techniques | |
Toktas et al. | Cross-channel color image encryption through 2D hyperchaotic hybrid map of optimization test functions | |
CN111597568B (zh) | 基于分布式时滞的高维分数阶复杂系统的图像加密方法 |
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 |