CN107633474A - 一种具有快速密钥流生成过程的混沌彩色图像加密方法 - Google Patents
一种具有快速密钥流生成过程的混沌彩色图像加密方法 Download PDFInfo
- Publication number
- CN107633474A CN107633474A CN201710246740.7A CN201710246740A CN107633474A CN 107633474 A CN107633474 A CN 107633474A CN 201710246740 A CN201710246740 A CN 201710246740A CN 107633474 A CN107633474 A CN 107633474A
- Authority
- CN
- China
- Prior art keywords
- pixel
- son
- image
- chaos
- encryption
- 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.)
- Granted
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明设计了一种具有快速密钥流生成过程的混沌彩色图像加密方法。该方法基于“置乱—替代”架构构建,“置乱”与“替代”过程共享由Chen混沌系统迭代产生的混沌序列,并独立量化生成各自所需的密钥流。置乱操作基于像素点交换机制实现。在替代操作中,通过将每个像素的影响扩散至其后所有像素点,保证了加密系统可有效抵御选择明文攻击。本发明方法所需的混沌系统迭代次数为传统方法的一半,因此提高了加密系统的计算效率。实际加密速度测试结果表明,本发明方法加密一幅图像所需时间显著低于传统方法。同时,密码学分析与测试结果表明,本发明所提出的加密方法具有良好的安全性。
Description
技术领域
本发明涉及图像加密技术,具体说是一种具有快速密钥流生成过程的混沌彩色图像加密方法。
背景技术
近年来,随着多媒体与计算机网络技术的飞速发展,数字图像作为最直观的信 息载体已成为人们进行信息交流的重要手段。越来越多的数字图像在以Internet、无 线网络等为代表的开放性网络中传播,极大地方便了信息的访问与共享。与此同时, 商业、金融、医疗、科研、军事、政治等诸多敏感领域的图像信息在开放网络环境 下的传输存在着巨大的安全隐患,因此图像信息的安全问题引起了普遍的关注。在 近年来所提出的多种图像加密方案中,基于混沌的方案具有显著的技术优势和应用 潜力,成为了密码学领域近年来的一个研究热点。
上世纪90年代初,研究人员发现混沌学与密码学之间存在着天然的联系。混 沌系统所具有的初始条件敏感性、遍历性、轨道不可预测性以及伪随机性等一系列 特性,能够很好地匹配一个完善的密码系统的设计准则。基于混沌动力学构造的加 密系统,在设计上具有很强的灵活性,可提供安全性与计算效率间的一个良好的平 衡,特别适合对数据量较大的数字图像进行加密,实现数字图像的实时、安全传输。 1998年,美国学者JessicaFridrich提出了首个通用的图像加密架构。该架构通过“置 乱”(permutation)与“替代”(substitution)两个核心过程来实现一个安全的图像加密 系统。在置乱阶段,图像中每个像素点的位置以一种伪随机的方式被打乱。在替代 阶段,每个点的像素值在密钥流作用下依次被改变,同时,将每个像素点的影响扩 散至整个密文图像,从而保证加密系统可有效抵御选择明文攻击。
在其后十余年间,世界各国学者以Fridrich所提出的架构为基础,对基于混沌 的数字图像加密技术进行了广泛深入的研究,取得了诸多成果。在现有的研究中, “置乱”与“替代”过程使用两个独立的混沌系统,通过对混沌系统的迭代与量化 操作,产生所需的置乱与替代密钥流。本发明设计了一种具有快速密钥流生成过程 的混沌彩色图像加密方法。在该方法中,“置乱”与“替代”过程共享由Chen混沌 系统迭代产生的混沌序列,并独立量化生成各自所需的密钥流。由于该方法所需的 混沌系统迭代次数为传统方法的一半,因此提高了加密系统的计算效率。实际加密 速度测试结果表明,本发明方法加密一幅图像所需时间显著低于传统方法。同时, 密码学分析与测试结果表明,本发明所提出的加密方法具有良好的安全性。
发明内容
本发明的目的是提供一种具有快速密钥流生成过程的混沌彩色图像加密方法。
本发明采用的技术方案是:
一种具有快速密钥流生成过程的混沌彩色图像加密方法,加密过程由置乱和替代两个阶段构成;置乱操作用于打乱图像中各像素点的排列次序,其基于像素交换 机制实现;替代操作用于改变每个像素的像素值,并且将每个像素的影响扩散至其 后所有的像素中;置乱过程与替代过程所使用的密钥流均基于Chen混沌系统迭代 产生的序列量化生成;加密系统可根据安全性要求,实施不同轮数的加密操作,即 加密轮数越多,安全性越高;采用对称密钥机制,Chen混沌系统状态变量的初始值 作为加/解密密钥;
实现方法如下:
步骤1:将待加密图像像素按由左至右、由上至下的顺序读入一个一维数组中, 记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种 颜色分量的子像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值, 以此类推;
步骤2:生成一个长度Lcs=len(imgData)的混沌序列;其中,len(imgData)返回 明文图像数组imgData的长度;具体操作方法为:
步骤2-1:预迭代Chen混沌系统N0次(N0为常量,一般取N0≥200),使其充 分进入混沌状态;Chen混沌系统的数学定义如下:
其中x,y,z为状态变量,t代表时间,a,b,c为系统参数。当a=35,b=3,c=28 时,系统处于混沌状态;
采用四阶龙格库塔法对方程(1)进行求解,其公式为:
其中
h为步长,这里取0.005,xn,yn,zn代表第n次迭代值,其初始值(x0,y0,z0)作为 加密(解密)密钥,由加密者设定;
步骤2-2:在步骤2-1的基础上对方程(1)迭代H×W次。对于每次迭代,将3 个状态变量的当前值xn+1,yn+1,zn+1顺序写入一维数组ChenSeq={cs0,cs1,cs2,…, cs3×H×W-1};
步骤3:按照下式(3)对数组ChenSeq进行量化,得到置乱密钥流permKstr={pk0,pk1,…,pk3×H×W-2};
其中,pos(pkn)函数返回pkn在数组permKstr中的位置,即n;abs(x)函数返回 x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的 余数;本加密系统在实现时,所有的状态变量均被定义为双精度浮点数(64位double 型),依据计算机表达精度,m设为15;
步骤4:按照下式(4)对数组ChenSeq进行量化,得到替代密钥流subKstr={sk0,sk1,sk2,…,sk3×W×H-1};
skn=mod[sig((abs(csn),m),CL], (4)
其中,CL为输入图像的灰度级数(对于24位真彩色图像,CL=256);
步骤5:对明文图像实施置乱操作;
置乱策略为:将明文图像数组imgData中的每一个(子)像素,与其后面的某一 个(子)像素相交换,交换对象的坐标由置乱密钥流permKstr决定;其中最后一个(子) 像素除外,无需交换;
具体方法为:依次将明文图像数组imgData中的每一个(子)像素pn,与位于pkn处的子像素相交换;由式(3)可知,pkn的取值范围为[(n+1),(len(imgData)-1)],保 证了每个(子)像素的交换目标从其后面选取,最后一个(子)像素除外;
步骤6:对置乱后的图像实施替代操作;具体方法为:利用替代密钥流subKstr 对置乱后的图像数组imgData中的每一个(子)像素实施加密,加密公式为:
其中,cn为对(子)像素pn加密得到的密文值,cn-1为前一个(子)像素的密文值, 其初始值c-1可由加密者设为一取值范围在[0,CL]的整型常量,代表按位异或操 作;
在对(子)像素的加密过程中,由于cn-1的引入,每一个(子)像素的影响都能被有效地扩散至后续所有的(子)像素中;
用于解密的公式(5)的逆变换为:
步骤7:可根据安全级别要求,进行多轮加密,即反复执行步骤5与步骤6;
步骤8:将数组imgData重排为一个H行、3×W列的矩阵,作为加密图像输出。
本发明的优点是:
1)在现有研究中,“置乱”与“替代”过程使用两个独立的混沌系统,通过对 混沌系统的迭代与量化操作,产生所需的置乱与替代密钥流。而在本发明方法中, “置乱”与“替代”过程共享同一个由Chen混沌系统迭代产生的混沌序列,并基 于该序列量化生成各自所需的密钥流。由于本发明方法所需的混沌系统迭代次数为 传统方法的一半,因此提高了加密系统的计算效率。
2)本发明方法提出了一种基于像素交换机制的置乱方法,有效避免了了目前 常用的基于保面积混沌映射的置乱方法中存在的三个缺陷,即:①混沌映射离散化 后存在周期性;②存在不动点(0,0);③只能应用于正方形图像。
附图说明
图1是本发明的图像加密系统架构。
图2是本发明的512×512像素的24位Lena彩色图像。
图3是本发明“图2”经置乱后的图像。
图4是本发明“图2”经2轮加密输出的加密图像。
图5是本发明参与测试的5幅标准图像。
图6是本发明图5的密钥敏感性测试结果图。
图7是本发明图5的直方图分析。
具体实施方式
下面结合说明书附图对本发明进一步详细说明。
所提出的图像加密系统的架构如图1所示。加密过程由置乱和替代两个阶段构成。置乱操作用于打乱图像中各(子)像素点的排列次序(位置),其基于(子)像素交换 机制实现;替代操作用于改变每个(子)像素的像素值,并且将每个(子)像素的影响扩 散至其后所有的(子)像素中。置乱过程与替代过程所使用的密钥流均基于Chen混沌 系统迭代产生的序列量化生成。加密系统可根据安全性要求,实施不同轮数的加密 操作,即加密轮数越多,安全性越高。该加密系统采用对称密钥机制,Chen混沌系 统状态变量的初始值作为加/解密密钥。
不失一般性,设待加密图像为一幅24位真彩色图像,其大小为H×W(H代表图 像高度,W代表图像宽度)。
实现步骤如下:
步骤1:将待加密图像像素按由左至右、由上至下的顺序读入一个一维数组中, 记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种 颜色分量的子像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值, 以此类推。
步骤2:生成一个长度Lcs=len(imgData)的混沌序列。其中,len(imgData)返回 明文图像数组imgData的长度。具体操作方法为:
步骤2-1:预迭代Chen混沌系统N0次(N0为常量,一般取N0≥200),使其充 分进入混沌状态。Chen混沌系统的数学定义如下:
其中x,y,z为状态变量,t代表时间,a,b,c为系统参数。当a=35,b=3,c=28 时,系统处于混沌状态。
采用四阶龙格库塔法对方程(1)进行求解,其公式为:
其中
h为步长,这里取0.005,xn,yn,zn代表第n次迭代值,其初始值(x0,y0,z0)作为 加密(解密)密钥,由加密者设定。
步骤2-2:在步骤2-1的基础上对方程(1)迭代H×W次。对于每次迭代,将3 个状态变量的当前值xn+1,yn+1,zn+1顺序写入一维数组ChenSeq={cs0,cs1,cs2,…, cs3×H×W-1}。
步骤3:按照下式(3)对数组ChenSeq进行量化,得到置乱密钥流permKstr={pk0,pk1,…,pk3×H×W-2}。
其中,pos(pkn)函数返回pkn在数组permKstr中的位置,即n;abs(x)函数返回 x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的 余数。本加密系统在实现时,所有的状态变量均被定义为双精度浮点数(64位double 型),依据计算机表达精度,m设为15。
步骤4:按照下式(4)对数组ChenSeq进行量化,得到替代密钥流subKstr={sk0,sk1,sk2,…,sk3×W×H-1}。
skn=mod[sig((abs(csn),m),CL], (4)
其中,CL为输入图像的灰度级数(对于24位真彩色图像,CL=256)。
步骤5:对明文图像实施置乱操作。
置乱策略为:将明文图像数组imgData中的每一个(子)像素(最后一个(子)像素除外,其无需交换),与其后面的某一个(子)像素相交换,交换对象的坐标由置乱密 钥流permKstr决定。
具体方法为:依次将明文图像数组imgData中的每一个(子)像素pn(最后一个(子)像素除外)与位于pkn处的子像素相交换。由式(3)可知,pkn的取值范围为[(n+1), (len(imgData)-1)],保证了每个(子)像素的交换目标从其后面选取。
步骤6:对置乱后的图像实施替代操作。具体方法为:利用替代密钥流subKstr 对置乱后的图像数组imgData中的每一个(子)像素实施加密,加密公式为:
其中,cn为对(子)像素pn加密得到的密文值,cn-1为前一个(子)像素的密文值, 其初始值c-1可由加密者设为一取值范围在[0,CL]的整型常量,代表按位异或操 作。
在对(子)像素的加密过程中,由于cn-1的引入,每一个(子)像素的影响都能被有效地扩散至后续所有的(子)像素中。
用于解密的公式(5)的逆变换为:
步骤7:可根据安全级别要求,进行多轮加密,即反复执行步骤5与步骤6。
步骤8:将数组imgData重排为一个H行、3×W列的矩阵,作为加密图像输出。
实施例对一幅国际标准测试图像库中的常用图像(Lena图像,如图2所示)实施 加密。该图像为24位彩色图像,其宽度W=512,高度H=512。
步骤1:将待加密图像像素按由左至右、由上至下的顺序读入一个一维数组中, 记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种 颜色分量的子像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值, 以此类推。
这里,明文图像数组imgData={57,22,82,…}。
步骤2:生成一个长度Lcs=len(imgData)的混沌序列。其中,len(imgData)返回 明文图像数组imgData的长度。
这里,len(imgData)=512×512×3=786432,Lcs=786431。
具体操作方法为:
步骤2-1:预迭代Chen混沌系统N0次(N0为常量,一般取N0≥200),使其充 分进入混沌状态。Chen混沌系统的数学定义如下:
其中x,y,z为状态变量,t代表时间,a,b,c为系统参数。当a=35,b=3,c=28 时,系统处于混沌状态。
采用四阶龙格库塔法对方程(1)进行求解,其公式为:
其中
h为步长,这里取0.005,xn,yn,zn代表第n次迭代值,其初始值(x0,y0,z0)作为 加密(解密)密钥,由加密者设定。
这里,Chen混沌系统的状态变量初始值设为:(x0=-5.21649842464284, y0=3.62182308193243,z0=27.9428454068391)。
步骤2-2:在步骤2-1的基础上对方程(1)迭代H×W次。对于每次迭代,将3 个状态变量的当前值xn+1,yn+1,zn+1顺序写入一维数组ChenSeq={cs0,cs1,cs2,…, cs3×H×W-1}。
这里,ChenSeq={-5.397791879590449,-2.997038976658452,23.774066215407021,…}。
步骤3:按照下式(3)对数组ChenSeq进行量化,得到置乱密钥流permKstr={pk0,pk1,…,pk3×H×W-2}。
其中,pos(pkn)函数返回pkn在数组permKstr中的位置,即n;abs(x)函数返回 x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的 余数。本加密系统在实现时,所有的状态变量均被定义为双精度浮点数(64位double 型),依据计算机表达精度,m设为15。
这里,置乱密钥流permKstr={426152,115587,640200,…}。
步骤4:按照下式(4)对数组ChenSeq进行量化,得到替代密钥流subKstr={sk0,sk1,sk2,…,sk3×W×H-1}。
skn=mod[sig((abs(csn),m),CL], (4)
其中,CL为输入图像的灰度级数(对于24位真彩色图像,CL=256)。
这里,替代密钥流subKstr={4,53,86,…}。
步骤5:对明文图像实施置乱操作。
置乱策略为:将明文图像数组imgData中的每一个(子)像素(最后一个(子)像素除外,其无需交换),与其后面的某一个(子)像素相交换,交换对象的坐标由置乱密 钥流permKstr决定。
具体方法为:依次将明文图像数组imgData中的每一个(子)像素pn(最后一个(子)像素除外)与位于pkn处的子像素相交换。由式(3)可知,pkn的取值范围为[(n+1), (len(imgData)-1)],保证了每个(子)像素的交换目标从其后面选取。
这里,将p0与p426152交换,p1与p115587交换,p2与p640200交换,其余点的交换 以此类推。
步骤6:对置乱后的图像实施替代操作。具体方法为:利用替代密钥流subKstr 对置乱后的图像数组imgData中的每一个(子)像素实施加密,加密公式为:
其中,cn为对(子)像素pn加密得到的密文值,cn-1为前一个(子)像素的密文值, 其初始值c-1可由加密者设为一取值范围在[0,CL]的整型常量,代表按位异或操 作。
在对(子)像素的加密过程中,由于cn-1的引入,每一个(子)像素的影响都能被有效地扩散至后续所有的(子)像素中。
用于解密的公式(5)的逆变换为:
这里,c-1设为147,对置乱后的p0进行加密,得到的密文值为:
其余(子)像素的加密以此类推。
步骤7:可根据安全级别要求,进行多轮加密,即反复执行步骤5与步骤6。
步骤8:将数组imgData重排为一个H行、3×W列的矩阵,作为加密图像输出。
使用以上加密方法,经2轮“置乱—替代”操作后,得到的密文图像如图4所 示。
这里对本发明所提出的图像加密系统进行运行效率测试及安全性能分析,以验证其有效性及性能优势。具体测试项目包括:
①加密系统运行效率测试;
②抗穷举攻击(密钥空间)分析;
③密钥敏感性测试;
④抗统计攻击分析(包括直方图、相邻像素相关性、信息熵);
⑤抗差分攻击分析。
为充分表明本发明方法的通用性,参与测试的图像共计5幅,全部从国际标准
测试图像库中选取,图像大小为512×512像素,格式为24位真彩色图像。
测试结果及与传统混沌图像加密方法的对比如下表1所示。为了更准确地衡量 算法的运算速度,这里对图像进行5次加密,取其平均消耗时间。从表1中可以看 到,基于本发明所提出的加密方法,在计算效率上显著优于传统混沌加密方法。
表1 算法效率测试及对比
抗穷举攻击(密钥空间)分析
密钥空间是指在加密或解密过程中可用的不同密钥的总量。对于一个安全的加密系统,密钥空间应该足够大以使穷举攻击(暴力破解)失效。根据现有计算机的 运算速度及未来几年内的发展趋势,目前密码学界认为密钥长度大于100位即可有 效抵御穷举攻击。本发明所提出的加密系统的密钥由Chen混沌系统的三个状态变 量初始值(x0,y0,z0)组成,并且加密系统在实现时,所有状态变量均定义为双精度浮 点数(64位double型)。根据IEEE浮点数标准,该数据类型的有效精度为53位, 因此本发明所提出的加密系统的密钥长度为53×3=159位。
密钥敏感性测试
密钥敏感性是加密系统设计的一项基本准则。其要求当使用任意两个具有极小差异的密钥加密相同的明文时,将产生完全不同的密文。反之,当攻击者尝试使用 与加密密钥极为相近的解密密钥实施解密时,不能得到任何与明文相关的信息。
在本项测试中,首先随机选定一组加密密钥(x0=-8.35494656601145, y0=13.4064455761495,z0=28.7252050630289),对第三幅图明文图像(Lena图像)实 施加密,得到的密文图像如图6(a)所示。然后对得到的密文图像分别使用4个解密 密钥进行解密。在4个解密密钥中,只有第1个与加密密钥完全相同,而其余43 个只在一个状态变量上与加密密钥存在一个比特的差异,如表2所示。得到的解密 结果如图6(b)-(e)所示。对其它测试图像可得到相似的结果,这里不再给出。
表2 应用于密钥敏感性测试的密钥列表
由以上测试结果可知,本发明提出的图像加密系统具有良好的密钥敏感性保 证。
抗统计攻击分析
(a)直方图分析
对于一个设计良好的图像加密系统,其输出的密文图像像素值频率分布应具有良好的均匀性,以有效抵御频率分析。直方图是描述一幅图像像素值频率分布的一 种最为直观的手段。如图7所示,(a)为第三幅图明文图像;(b)-(d)分别为(a)的R、 G、B分量;(e)-(g)分别为(b)-(d)的直方图;(h)为(a)对应的密文图像;(i)-(k)分别为(h) 的R、G、B分量;(l)-(n)分别为(i)-(k)的直方图。通过图7可以看出,密文图像的直 方图呈良好的均匀分布,与明文图像的直方图间不具备任何相关性,因此可有效抵 御频率分析。
(b)相邻像素相关性
对于一个具有明确视觉内容的数字图像,其每一个像素点在水平、垂直以及对 角线方向与其相邻像素点间均具有很高的相关性。而对于一个设计良好的图像加密 系统,其输出的密文图像的相邻像素间应不具备任何相关性。图7给出了第三幅图 明文图像及其对应的密文图像的红色分量在水平、垂直和对角线方向的相邻像素相 关性可视化测试结果。该测试将一对相邻像素的像素值作为横、纵坐标,以点的形 式绘制于二维平面上。从测试结果可以看出,对于明文图像,绝大部分的点都集中 在对角线附近,说明相邻像素间具有极强的相关性。而对于密文图像,所有点均匀 分布于灰度平面上,说明其相邻像素间已不具有任何相关性。对于其它两个色彩分 量的测试可得到相似的结果,这里不再给出。
图7中(a)-(c)分别为第三幅图明文图像的红色分量在水平、垂直和对角线方向的相邻像素相关性;(d)-(f)分别为对应的密文图像的红色分量在水平、垂直和对角线 方向的相邻像素相关性。
以下通过计算图像的相邻像素相关系数,进一步定量衡量与比较明文图像与密文图像的相邻像素相关性,方法如下:
首先在图像(的每个色彩分量)的某个相邻方向上(水平、垂直、对角线)随机选 取5000对相邻点。然后,利用公式(1)-(3)计算图像在该方向上的相邻像素相关系数 rx,y。
其中,xi和yi分别代表图像(的每个色彩分量)中两个相邻点的像素值,Sn为采 样点的个数。
表3中列出了第三幅图明文图像与其对应的密文图像在三个色彩分量上的相邻像素相关系数。从表中可以看到,本发明所提出的加密算法产生的密文图像,其在 各方向上的相关系数均接近于0。对其它测试图像可得到相似的结果,这里不再给 出。
表3 明文与密文图像的相邻像素相关系数
(c)信息熵分析
信息熵是表征一个信源随机性与不可预测性的重要指标。信息熵通常由平均信息量来描述,即表达一个信源中的一个码元所需的平均比特数,其定义为:
其中S代表由N个不同码元{s1,...,sN}构成的信源,P(si)为码元si出现的概率。由式(4)可知,对于一个256级灰阶的纯随机图像,其信息熵的理论值为H(S)=8。因 此对于一个设计良好的图像加密系统,其输出的密文图像的信息熵应尽可能接近于 8。
表4给出了图5中所列出的5幅明文图像及其对应的密文图像的信息熵。从表 中可以看到,全部5幅密文图像的信息熵都极为接近理想值8,这意味着可以将本 加密系统看作一个理想的随机图像输出源。
表4 明文与密文图像的信息熵
通过以上三个方面的测试可知,本发明设计的图像加密系统具有良好的抗统计攻击能力。
(5)抗差分攻击分析
差分攻击是选择明文攻击中最为常用的一种手段。其基本思路为:攻击者采用 相同的密钥,加密两幅具有极其微小差异(通常为一个比特)的明文图像。通过对比 得到的两幅密文图像,分析出所使用的密钥流乃至密钥情况。若一个像素值的微小 改变可有效的扩散至整幅密文图像,即:两幅具有微小差异的明文图像经相同密钥 加密后得到的密文图像完全不同,则差分攻击是无效的。
良好的扩散性能是抵御差分攻击的有效保障。NPCR(number of pixels changerate)与UACI(unified average change intensity)是衡量一个图像加密系统扩散性能的两个核心指标。NPCR用于测试两幅图像间的差异度。设I1(i,j,k)和I2(i,j,k)分 别表示I1与I2两幅彩色图像(i,j)处像素的第k个色彩分量的子像素值(k=1,2,3分别 表示像素的R,G,B分量),NPCR的定义为:
其中H和W分别为图像的高度和宽度。D(i,j,k)的定义为:
对于两幅纯随机图像,其NPCR理论值为:
其中CL为图像的灰度级数。例如,对于2幅24位真彩色随机图像(CL=256), 其NPCR理论值为99.609%。
UACI用于测试两幅图像间的平均差异强度,其定义为:
对于两幅纯随机图像,其UACI理论值为:
例如,对于2幅24位真彩色随机图像(CL=256),其UACI理论值为33.464%。
对于一个设计良好的图像加密系统,其NPCR与UACI指标应尽可能接近理论 值。
为测试本发明所提出的图像加密方法在极限情况下的扩散性能,针对图5中给 出的5幅明文图像,构建了相应的只有一个比特差异的差分图像。差异像素的位置、 对应的色彩通道以及+1/-1操作,均随机选定,如表5所示。对5对图像的NPCR 与UACI测试结果如表6所示。
表5 原始明文图像与差分图像的差异信息
表6 NPCR与UACI测试结果
从表6中可以看到,本发明所提出的图像加密算法经过2轮加密可达到可接受 的NPCR与UACI指标,经3轮加密可达到理想的NPCR与UACI指标,因此可有 效抵御差分攻击。
Claims (1)
1.一种具有快速密钥流生成过程的混沌彩色图像加密方法,其特征在于:加密过程由置乱和替代两个阶段构成;置乱操作用于打乱图像中各像素点的排列次序,其基于像素交换机制实现;替代操作用于改变每个像素的像素值,并且将每个像素的影响扩散至其后所有的像素中;置乱过程与替代过程所使用的密钥流均基于Chen混沌系统迭代产生的序列量化生成;加密系统可根据安全性要求,实施不同轮数的加密操作,即加密轮数越多,安全性越高;采用对称密钥机制,Chen混沌系统状态变量的初始值作为加/解密密钥;
实现步骤如下:
步骤1:将待加密图像像素按由左至右、由上至下的顺序读入一个一维数组中,记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种颜色分量的子像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值,以此类推;
步骤2:生成一个长度Lcs=len(imgData)的混沌序列;其中,len(imgData)返回明文图像数组imgData的长度;具体操作方法为:
步骤2-1:预迭代Chen混沌系统N0次(N0为常量,一般取N0≥200),使其充分进入混沌状态;Chen混沌系统的数学定义如下:
其中x,y,z为状态变量,t代表时间,a,b,c为系统参数。当a=35,b=3,c=28时,系统处于混沌状态;
采用四阶龙格库塔法对方程(1)进行求解,其公式为:
其中
h为步长,这里取0.005,xn,yn,zn代表第n次迭代值,其初始值(x0,y0,z0)作为加密(解密)密钥,由加密者设定;
步骤2-2:在步骤2-1的基础上对方程(1)迭代H×W次。对于每次迭代,将3个状态变量的当前值xn+1,yn+1,zn+1顺序写入一维数组ChenSeq={cs0,cs1,cs2,…,cs3×H×W-1};
步骤3:按照下式(3)对数组ChenSeq进行量化,得到置乱密钥流permKstr={pk0,pk1,…,pk3×H×W-2};
其中,pos(pkn)函数返回pkn在数组permKstr中的位置,即n;abs(x)函数返回x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的余数;本加密系统在实现时,所有的状态变量均被定义为双精度浮点数(64位double型),依据计算机表达精度,m设为15;
步骤4:按照下式(4)对数组ChenSeq进行量化,得到替代密钥流subKstr={sk0,sk1,sk2,…,sk3×W×H-1};
skn=mod[sig((abs(csn),m),CL], (4)
其中,CL为输入图像的灰度级数(对于24位真彩色图像,CL=256);
步骤5:对明文图像实施置乱操作;
置乱策略为:将明文图像数组imgData中的每一个(子)像素,与其后面的某一个(子)像素相交换,交换对象的坐标由置乱密钥流permKstr决定;其中最后一个(子)像素除外,无需交换;
具体方法为:依次将明文图像数组imgData中的每一个(子)像素pn,与位于pkn处的子像素相交换;由式(3)可知,pkn的取值范围为[(n+1),(len(imgData)-1)],保证了每个(子)像素的交换目标从其后面选取,最后一个(子)像素除外;
步骤6:对置乱后的图像实施替代操作;具体方法为:利用替代密钥流subKstr对置乱后的图像数组imgData中的每一个(子)像素实施加密,加密公式为:
其中,cn为对(子)像素pn加密得到的密文值,cn-1为前一个(子)像素的密文值,其初始值c-1可由加密者设为一取值范围在[0,CL]的整型常量,⊕代表按位异或操作;
在对(子)像素的加密过程中,由于cn-1的引入,每一个(子)像素的影响都能被有效地扩散至后续所有的(子)像素中;
用于解密的公式(5)的逆变换为:
步骤7:可根据安全级别要求,进行多轮加密,即反复执行步骤5与步骤6;
步骤8:将数组imgData重排为一个H行、3×W列的矩阵,作为加密图像输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710246740.7A CN107633474B (zh) | 2017-04-16 | 2017-04-16 | 一种具有快速密钥流生成过程的混沌彩色图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710246740.7A CN107633474B (zh) | 2017-04-16 | 2017-04-16 | 一种具有快速密钥流生成过程的混沌彩色图像加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107633474A true CN107633474A (zh) | 2018-01-26 |
CN107633474B CN107633474B (zh) | 2019-09-27 |
Family
ID=61099215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710246740.7A Expired - Fee Related CN107633474B (zh) | 2017-04-16 | 2017-04-16 | 一种具有快速密钥流生成过程的混沌彩色图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107633474B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322622A (zh) * | 2018-02-23 | 2018-07-24 | 哈尔滨理工大学 | 一种基于2d-vmd和八维超混沌系统的彩色数字图像加密方法 |
CN108566500A (zh) * | 2018-03-02 | 2018-09-21 | 西南交通大学 | 基于混合加密机制的自适应图像加密域可逆隐藏方法 |
CN109586904A (zh) * | 2018-12-27 | 2019-04-05 | 哈工大机器人(山东)智能装备研究院 | 基于红外焦平面探测器盲元分布的密钥生成方法 |
CN110417539A (zh) * | 2019-08-02 | 2019-11-05 | 齐齐哈尔大学 | 一种动态混沌与矩阵卷积运算的彩色图像加密方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360488A (zh) * | 2011-09-29 | 2012-02-22 | 付冲 | 一种基于混沌轨道扰动的数字图像加密方法 |
CN103167213A (zh) * | 2013-02-07 | 2013-06-19 | 东北大学 | 基于Cat映射与超混沌Lorenz系统的数字图像加密方法 |
CN103258312A (zh) * | 2013-03-20 | 2013-08-21 | 东北大学 | 具有快速密钥流生成机制的数字图像加密方法 |
CN103281504A (zh) * | 2013-05-30 | 2013-09-04 | 东北大学 | 一种具有双向扩散机制的混沌图像加密方法 |
CN103440613A (zh) * | 2013-09-04 | 2013-12-11 | 上海理工大学 | 超混沌Rossler系统的彩色图像加密方法 |
CN103489151A (zh) * | 2013-09-11 | 2014-01-01 | 河南大学 | 基于混沌序列和超混沌系统的彩色图像加密方法 |
CN104574257A (zh) * | 2014-12-30 | 2015-04-29 | 刘红军 | 基于混沌的图像加密和解密算法 |
CN104851071A (zh) * | 2015-05-21 | 2015-08-19 | 东北大学 | 一种基于三维混沌系统的数字图像加密方法 |
-
2017
- 2017-04-16 CN CN201710246740.7A patent/CN107633474B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360488A (zh) * | 2011-09-29 | 2012-02-22 | 付冲 | 一种基于混沌轨道扰动的数字图像加密方法 |
CN103167213A (zh) * | 2013-02-07 | 2013-06-19 | 东北大学 | 基于Cat映射与超混沌Lorenz系统的数字图像加密方法 |
CN103258312A (zh) * | 2013-03-20 | 2013-08-21 | 东北大学 | 具有快速密钥流生成机制的数字图像加密方法 |
CN103281504A (zh) * | 2013-05-30 | 2013-09-04 | 东北大学 | 一种具有双向扩散机制的混沌图像加密方法 |
CN103440613A (zh) * | 2013-09-04 | 2013-12-11 | 上海理工大学 | 超混沌Rossler系统的彩色图像加密方法 |
CN103489151A (zh) * | 2013-09-11 | 2014-01-01 | 河南大学 | 基于混沌序列和超混沌系统的彩色图像加密方法 |
CN104574257A (zh) * | 2014-12-30 | 2015-04-29 | 刘红军 | 基于混沌的图像加密和解密算法 |
CN104851071A (zh) * | 2015-05-21 | 2015-08-19 | 东北大学 | 一种基于三维混沌系统的数字图像加密方法 |
Non-Patent Citations (6)
Title |
---|
CHONG FU 等: "A New Fast Chaos-based Image Cipher with a Novel Permuatation Approach", 《2016 IEEE 13TH INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING (ICSP)》 * |
ZHANG YONG: "Image Encryption with Logistic Map and Cheat Image", 《2011 3RD INTERNATIONAL CONFERENCE ON COMPUTER RESEARCH AND DEVELOPMENT》 * |
李杨 等: "一种基于复合混沌系统的数字图像加密算法", 《科技资讯》 * |
牛永洁 等: "基于混沌扩散加密的图像置乱隐藏算法", 《计算机与现代化》 * |
王培荣 等: "复合混沌数字图像加密算法", 《通信学报》 * |
肖锋 等: "混合混沌系统的并行多通道彩色图像加密", 《微电子学与计算机》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322622A (zh) * | 2018-02-23 | 2018-07-24 | 哈尔滨理工大学 | 一种基于2d-vmd和八维超混沌系统的彩色数字图像加密方法 |
CN108566500A (zh) * | 2018-03-02 | 2018-09-21 | 西南交通大学 | 基于混合加密机制的自适应图像加密域可逆隐藏方法 |
CN108566500B (zh) * | 2018-03-02 | 2021-02-26 | 西南交通大学 | 基于混合加密机制的自适应图像加密域可逆隐藏方法 |
CN109586904A (zh) * | 2018-12-27 | 2019-04-05 | 哈工大机器人(山东)智能装备研究院 | 基于红外焦平面探测器盲元分布的密钥生成方法 |
CN109586904B (zh) * | 2018-12-27 | 2021-06-08 | 哈工大机器人(山东)智能装备研究院 | 基于红外焦平面探测器盲元分布的密钥生成方法 |
CN110417539A (zh) * | 2019-08-02 | 2019-11-05 | 齐齐哈尔大学 | 一种动态混沌与矩阵卷积运算的彩色图像加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107633474B (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fu et al. | A novel chaos-based bit-level permutation scheme for digital image encryption | |
Raza et al. | A novel bit permutation-based image encryption algorithm | |
CN106910156B (zh) | 一种具有与明文相关密钥流生成机制的混沌图像加密方法 | |
CN101739695B (zh) | 一种基于三维Arnold映射的图像分组加密方法 | |
Chen et al. | A symmetric image encryption scheme based on 3D chaotic cat maps | |
Pareek et al. | Image encryption using chaotic logistic map | |
Abraham et al. | Secure image encryption algorithms: A review | |
Demirtaş | A new RGB color image encryption scheme based on cross-channel pixel and bit scrambling using chaos | |
Iqbal et al. | An RGB image cipher using chaotic systems, 15-puzzle problem and DNA computing | |
Liu et al. | Cryptanalysis and improvement in a plaintext-related image encryption scheme based on hyper chaos | |
CN107633474B (zh) | 一种具有快速密钥流生成过程的混沌彩色图像加密方法 | |
CN107633175B (zh) | 一种基于混沌的快速彩色图像加密方法 | |
CN104851071B (zh) | 一种基于三维混沌系统的数字图像加密方法 | |
CN103440613B (zh) | 超混沌Rossler系统的彩色图像加密方法 | |
Chen et al. | A fast chaos-based symmetric image cryptosystem with an improved diffusion scheme | |
El Azzaby et al. | The coupling of a multiplicative group and the theory of chaos in the encryptions of images. | |
Auyporn et al. | A robust image encryption method based on bit plane decomposition and multiple chaotic maps | |
Brindha | Periodicity analysis of Arnold Cat Map and its application to image encryption | |
Mohamed et al. | Improving image encryption using 3d cat map and turing machine | |
Mukherjee | New insights into chaos based image encryption & its application | |
Fu et al. | A color image encryption algorithm using a new 1-D chaotic map | |
CN107886463A (zh) | 一种基于Chen系统和细胞自动机的数字图像加密方法 | |
Wu | A color image encryption algorithm using the fractional-order hyperchaotic systems | |
Iqbal et al. | An rgb image encryption scheme using chaotic systems, 15-puzzle problem and dna computing | |
Abdullah et al. | Colour image encryption using Nahrain chaotic map |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190927 |
|
CF01 | Termination of patent right due to non-payment of annual fee |