首页> 中国专利> 一种具有与明文相关密钥流生成机制的混沌图像加密方法

一种具有与明文相关密钥流生成机制的混沌图像加密方法

摘要

本发明公开一种具有与明文相关密钥流生成机制的混沌图像加密方法。该方法基于“置乱—扩散”架构实现。置乱算法基于像素点交换机制,交换目标的位置由logistic混沌映射生成。扩散密钥流基于广义Lorenz‑like系统生成,并引入了一种与明文相关的密钥流元素量化机制。该机制增强了加密系统抵御已知明文和选择明文攻击的能力,同时加速了扩散过程,可减小达到理想扩散性能所需的扩散轮数。与现有密钥流与明文相关技术相比,本发明解决了混沌序列无法在多轮加密中重用的问题,因此具有更低的计算负载。密码学分析结果表明,本发明所提出的加密方法具有良好的安全性。

著录项

  • 公开/公告号CN106910156A

    专利类型发明专利

  • 公开/公告日2017-06-30

    原文格式PDF

  • 申请/专利权人 东北大学;

    申请/专利号CN201710106798.1

  • 发明设计人 付冲;郑宇;何兴文;

    申请日2017-02-27

  • 分类号G06T1/00(20060101);G06F21/60(20130101);

  • 代理机构21234 沈阳优普达知识产权代理事务所(特殊普通合伙);

  • 代理人俞鲁江

  • 地址 110819 辽宁省沈阳市和平区文化路3号巷11号

  • 入库时间 2023-06-19 02:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-28

    未缴年费专利权终止 IPC(主分类):G06T 1/00 专利号:ZL2017101067981 申请日:20170227 授权公告日:20190719

    专利权的终止

  • 2019-07-19

    授权

    授权

  • 2017-07-25

    实质审查的生效 IPC(主分类):G06T1/00 申请日:20170227

    实质审查的生效

  • 2017-06-30

    公开

    公开

说明书

技术领域

本发明涉及混沌图像加密技术领域,具体说是一种具有与明文相关密钥流生成机制的混沌图像加密方法。

背景技术

近年来,随着多媒体与计算机网络技术的飞速发展,数字图像作为最直观的信息载体已成为人们进行信息交流的重要手段。越来越多的数字图像在以Internet、无线网络等为代表的开放性网络中传播,极大地方便了信息的访问与共享。与此同时,商业、金融、医疗、科研、军事、政治等诸多敏感领域的图像信息在开放网络环境下的传输存在着巨大的安全隐患,经常会遭遇到各种潜在的人为攻击,包括信息的非法获取、篡改与发布等,给信息拥有者造成巨大的损失。因此对图像信息进行加密至关重要。

近年来混沌理论的发展为图像加密提供了一个全新的思路。自上世纪90年代中期以来,很多学者发现混沌学与密码学之间存在着天然的联系。混沌系统具有的初值与系统参数极端敏感性、遍历性、轨道不可预测性以及良好的伪随机性等一系列特性,使其能够很好地满足构建一个安全性能良好的密码系统的需求。基于混沌动力学构造的加密系统,提供了安全性与加密效率的一个良好的平衡,其既具有很高的安全性保证,又具有软、硬件实现简单,速度较快的特点,特别适合对数据量较大的数字图像进行加密,实现数字图像的实时、安全传输。目前,混沌图像加密算法已成为图像信息安全的主流技术和研究热点,具有极大的应用潜力。

1998年,美国学者Jessica Fridrich首次提出了一种通用的图像加密架构,如图1所示。该架构通过“置乱”(confusion)与“扩散”(diffusion)两个核心模块来实现一个安全的加密系统。在置乱阶段,图像中每个像素点的位置以一种伪随机的方式被打乱,但像素值通常保持不变。对于扩散过程,除了改变每个点的像素值以外,其另一个核心功能是将每个像素点的影响扩散至整个密文图像,从而保证加密系统可有效抵御差分攻击。

在其后十余年间,世界各国学者以Fridrich所提出的架构为基础,对基于混沌的数字图像加密技术已经进行了广泛深入的研究,取得了诸多成果。与此同时,针对此项技术的密码学分析工作也蓬勃展开。近年来学者们相继发现在现有的很多方案中,用于扩散的密钥流仅与密钥相关,即如果密钥不加以更改,相同的密钥流将用于加密不同的明文图像。此类设计方法在单轮加密的情况下,极易受到选择明文或已知明文攻击。例如,攻击者可构造一幅由特殊像素值构成的明文图像(例如全白或全黑图像),应用加密系统对该图像进行加密。现代密码学的一个基本要求是密码算法本身是完全公开的。攻击者基于对加密算法的掌握,通过将密文图像与明文图像相比较,可得到所使用的密钥流。而基于实现代价考虑,在绝大部分实际应用中,加密系统一般不采用一次一密机制,因此密钥流的破解意味着加密系统的失效。

解决该问题的有效策略是将密钥流元素与明文相关。目前主流的方法是利用明文影响混沌系统的迭代过程,例如,利用明文扰动混沌系统的轨道。混沌加密过程一般由多轮完成,由于混沌迭代过程与明文的相关性,混沌序列不再能够被不同轮的加密操作所重用。这是因为对于第二轮加密而言,第一轮加密生成的中间密文相当于第二轮加密所操作的明文,因此每一轮加密都需要重新迭代混沌系统以产生独立的密钥流,否则无法完成解密操作。这在一定程度上降低了系统的运行效率。

为解决以上问题,本发明方法设计了一种与明文相关的密钥流元素量化机制。该方法基于“置乱—扩散”实现,置乱算法基于像素点交换机制,交换目标的位置由logistic混沌映射生成。扩散密钥流基于广义Lorenz-like系统生成,在密钥流元素量化过程中,由明文像素值决定参与密钥流元素量化的混沌状态变量的有效数字位数,从而实现了密钥流与明文图像的相关。由于密钥流与明文相关机制是在量化过程而不是迭代过程引入的,混沌序列可以在多轮加密中重用,因此提高了加密系统的运行效率。此外,密钥流与明文相关技术的采用,还可有效加速扩散过程,降低达到理想扩散效果所需要的整体加密轮数。密码学分析结果表明,本发明所提出的加密方法具有良好的安全性。

发明内容

本加密系统基于“置乱—扩散”架构实现,可根据安全性要求,进行不同轮数的加密,即加密轮数越多,安全性越高。本方法对图像进行加密分为置乱和扩散两个过程,置乱过程基于logistic映射产生一维伪随机坐标位置,并采用像素交换机制;扩散过程采用广义Lorenz-like映射产生密钥流。

不失一般性,设待加密图像为一幅24位真彩色图像,其大小为H×W。

本发明的具体实现方法如下:

步骤1:将待加密图像像素按由左至右、由上至下的顺序展开为一个一维数组,记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种颜色分量的像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值,以此类推。

步骤2:对明文图像实施置乱操作。基本思路为:将明文图像数组imgData中的每一个像素(最后一个像素不需要交换),与其后面的某一个像素相交换,交换对象的坐标由logistic混沌映射产生。logistic映射的状态变量初值x'0(即置乱密钥)由加密者设定。具体方法为:

步骤2-1:生成一个长度Lperm=len(imgData)-1的伪随机序列。其中,len(imgData)返回明文图像数组imgData的长度。具体操作方法为:

步骤2-1-1:预迭代logistic映射N0次(N0为常量,一般取N0≥200),使logistic映射充分进入混沌状态。logistic映射如公式(1)所示。

x'n+1=μx'n(1-x'n),x'n∈[0,1],μ∈[0,4](1)

其中μ和x'分别为控制参数和状态变量,x'n代表第n次迭代值,其初始值x'0作为置乱密钥,由加密者设定。当μ∈[3.57,4]时,logistic映射处于混沌状态。这里将μ设为4,使其工作在满射状态。需要说明的是:当μ=4时,映射存在两个“不良点”:0.5和0.75,会使状态变量在后续迭代中恒定为“不动点”0与0.75。如果该情况出现,则对x'的值做一个微小的扰动,例如增加或减小0.001。

步骤2-1-2:在步骤2-1-1的基础上迭代logistic映射Lperm次,将每次迭代得到的当前状态变量值x'n+1依次放入一维数组logSeq={ls0,ls1,…,ls3×H×W-2}中。

步骤2-1-3:按照下式(2)对logistic映射状态变量数组logSeq进行量化,得到伪随机置乱序列perm={r0,r1,…,r3×H×W-2}。

其中,pos(rn)函数返回rn在logistic映射状态变量数组perm中的位置,即n;abs(x)函数返回x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的余数。本加密系统在实现时,所有的状态变量均被定义为双精度浮点数(64位double型),根据计算机表达精度,m设为15。

由式(2)可知,rn的取值范围为[(n+1),(len(imgData)-1)],即:明文图像数组imgData中每一个像素的交换目标从其后面的所有像素中(伪)随机选择。

步骤2-2:将明文图像数组imgData中的每一个像素pn(最后一个像素除外)与位于rn处的像素相交换。

步骤3:对置乱后的图像实施扩散操作。具体方法为:

步骤3-1:生成长度为Lks=len(imgData)的扩散密钥流序列。具体操作方法为:

步骤3-1-1:预迭代广义Lorenz-like系统N0次(N0为常量,一般取N0≥200),使其充分进入混沌状态。所使用的广义Lorenz-like系统数学定义如下:

其中x,y,z为状态变量,t代表时间,a,b,c为系统参数。当a=-10,b=-4,c=0时,系统处于混沌状态。

采用四阶龙格库塔法对方程(3)进行求解,其公式为:

其中

h为步长,这里取0.005,xn,yn,zn代表第n次迭代值,其初始值(x0,y0,z0)作为扩散密钥,由加密者设定。

步骤3-1-2:在步骤3-1-1的基础上对系统(3)迭代H×W次。对于每次迭代,将3个状态变量的当前值xn+1,yn+1,zn+1顺序写入一维数组lozlSeq={lls0,lls1,lls2,…,lls3×H×W-1}。

步骤3-1-3:按照下式(5)对数组lozlSeq进行量化,得到密钥流keyStm={k0,k1,k2,…,k3×W×H-1}。

kn=mod[sig(abs(llsn),(α+mod(pn-1,β))),CL],(5)

其中,pn-1为kn对应的明文像素点pn的前一个点的值,CL为输入图像的量化级(对于24位真彩色图像,CL=256),并且(α+β)≡16(α,β∈N+),从而(α+mod(pn-1,β))≤15,即:动态选择混沌状态变量的前α~15位有效数字用于密钥流元素的量化。对于第一个明文像素点,pn-1的初始值p0可由加密者设为一取值在[0,CL]间的整型常量。

通过公式(5)可以看出,明文像素值决定了参与密钥流元素量化的混沌状态变量的有效数字位数,因此生成的密钥流与明文相关。这里需要说明的是,参数α与β的选择对加密系统的有效性具有重要的影响。若α过小,将会降低密钥流的随机性;若β过小,将会降低密钥流与明文的相关性。为了满足该两项性能要求,在本发明中,设置α=9,β=7。

步骤3-2:利用密钥流keyStm对置乱后的图像数组imgData中的每一个像素点实施加密,加密公式为:

其中,cn为对pn加密得到的密文值,cn-1为前一个像素点的密文值,其初始值c-1可由加密者设为一取值范围在[0,CL]的整型常量,代表按位异或操作。

在对像素的加密过程中,由于cn-1的引入,每一个像素点的影响都能被有效地扩散至后续所有的像素点中。

步骤4:可根据安全级别要求,进行多轮加密,即反复执行步骤2与步骤3。这里需要说明的是,步骤3-1-2所生成的混沌序列可在多轮加密中重用,因此在第二轮以及后续的加密轮中,步骤3-1-1和步骤3-1-2可以省略。

步骤5:将数组imgData中的像素值重排为一个H行、3×W列的矩阵,作为加密图像输出。

用于解密的公式(6)的逆变换为:

本发明的优点是:

本发明所提出的具有与明文相关密钥流生成机制的混沌图像加密方法,具有以下两点优势:

(1)为增强图像加密系统抵御已知明文攻击与选择明文攻击的能力,现有加密方案一般采用迭代过程与明文相关的机制,但该方法存在混沌序列不可被不同轮加密操作所重用的问题。本发明在量化阶段引入相关机制,混沌序列可以在多轮加密中重用,提高了加密系统的运行效率。

(2)密钥流与明文相关技术的采用,有效加速了扩散过程,降低了达到理想扩散效果所需要的整体加密轮数。扩散性能测试表明,本发明提出的加密方法,通过2轮扩散操作即可获得理想的NPCR与UACI指标,而对于传统加密算法,需要3轮扩散操作才能达到。

附图说明

图1是现有混沌图像加密方法的通用体系结构图。

图2是一幅国际标准测试图像库中的常用图像。

图3是对图2置乱后的结果图。

图4是本发明对图2的加密图像。

图5a是本发明的第一幅明文测试图。

图5b是本发明的第二幅测试图。

图5c是本发明的第三幅测试图。

图5d是本发明的第四幅测试图。

图5e是本发明的第五幅测试图。

图5f是本发明的第六幅测试图。

图6是图5a的直方图像。

图7是图5a的密文图像。

图8是图5a相邻像素相关性可视化测试结果图。

图9是图5a的密钥敏感性测试结果图。

具体实施方法

下面结合说明书附图对本发明进一步详细说明。

对一幅国际标准测试图像库中的常用图像进行加密(如图2所示)。该图像为24位彩色图像,其宽度W=512,高度H=512。

具体加密算法如下:

步骤1:将待加密图像像素按由左至右、由上至下的顺序展开为一个一维数组,记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种颜色分量的像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值,以此类推。

这里,明文图像数组imgData={39,46,66,…}。

步骤2:对明文图像实施置乱操作。基本思路为:将明文图像数组imgData中的每一个像素(最后一个像素不需要交换),与其后面的某一个像素相交换,交换对象的坐标由logistic混沌映射产生。logistic映射的状态变量初值x'0(即置乱密钥)由加密者设定。具体方法为:

步骤2-1:生成一个长度Lperm=len(imgData)-1的伪随机序列。其中,len(imgData)返回明文图像数组imgData的长度。

这里,len(imgData)=512×512=262144,Lp=262143。

具体操作方法为:

步骤2-1-1:预迭代logistic映射N0次(N0为常量,一般取N0≥200),使logistic映射充分进入混沌状态。logistic映射如公式(8)所示。

x'n+1=μx'n(1-x'n),x'n∈[0,1],μ∈[0,4](1)

其中μ和x'分别为控制参数和状态变量,x'n代表第n次迭代值,其初始值x'0作为置乱密钥,由加密者设定。当μ∈[3.57,4]时,logistic映射处于混沌状态。这里将μ设为4,使其工作在满射状态。需要说明的是:当μ=4时,映射存在两个“不良点”:0.5和0.75,会使状态变量在后续迭代中恒定为“不动点”0与0.75。如果该情况出现,则对x'的值做一个微小的扰动,例如增加或减小0.001。

步骤2-1-2:在步骤2-1-1的基础上迭代logistic映射Lperm次,将每次迭代得到的当前状态变量值x'n+1依次放入一维数组logSeq={ls0,ls1,…,ls3×H×W-2}中。

步骤2-1-3:按照下式(9)对logistic映射状态变量数组logSeq进行量化,得到伪随机置乱序列perm={r0,r1,…,r3×H×W-2}。

其中,pos(rn)函数返回rn在logistic映射状态变量数组perm中的位置,即n;abs(x)函数返回x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的余数。本加密系统在实现时,所有的状态变量均被定义为双精度浮点数(64位double型),根据计算机表达精度,m设为15。

由式(4)可知,rn的取值范围为[(n+1),(len(imgData)-1)],即:明文图像数组imgData中每一个像素的交换目标从其后面的所有元素中(伪)随机选择。

这里,伪随机置乱序列perm={365827,233010,369102,…}

步骤2-2:将明文图像数组imgData中的每一个像素pn(最后一个像素除外)与位于rn处的像素相交换。

这里,将p0与p365827交换,p1与p233010交换,p2与p369102交换,其余点的交换以此类推。

步骤3:对置乱后的图像实施扩散操作。具体方法为:

步骤3-1:生成长度为Lks=len(imgData)的扩散密钥流序列。具体操作方法为:

步骤3-1-1:预迭代广义Lorenz-like系统N0次(N0为常量,一般取N0≥200),使其充分进入混沌状态。所使用的广义Lorenz-like系统数学定义如下:

其中x,y,z为状态变量,t代表时间,a,b,c为系统参数。当a=-10,b=-4,c=0时,系统处于混沌状态。

系统用四阶龙格库塔方法求解,其公式为:

其中

h为步长,这里取0.005,xn,yn,zn代表第n次迭代值,其初始值(x0,y0,z0)作为扩散密钥,由加密者设定。

这里,广义Lorenz-like系统的状态变量初始值取为:

(x0=-11.905791,y0=3.126986,z0=15.913375)。

步骤3-1-2:在步骤3-1-1的基础上对系统(3)迭代H×W次。对于每次迭代,将3个状态变量的当前值xn+1,yn+1,zn+1顺序写入一维数组lozlSeq={lls0,lls1,lls2,…,lls3×H×W-1}。

这里,lozlSeq={6.59492129653895,2.96322961473550,4.69550053819010,…}。

步骤3-1-3:按照下式(12)对数组lozlSeq进行量化,得到密钥流keyStm={k0,k1,k2,…,k3×W×H-1}。

kn=mod[sig(abs(llsn),(α+mod(pn-1,β))),CL],(5)

这里,keyStm={13,174,250,…}。

其中,pn-1为kn对应的明文像素点pn的前一个点的值,CL为输入图像的量化级(对于24位真彩色图像,CL=256),并且(α+β)≡16(α,β∈N+),从而(α+mod(pn-1,β))≤15,即:动态选择混沌状态变量的前α~15位有效数字用于密钥流元素的量化。对于第一个明文像素点,pn-1的初始值p0可由加密者设为一取值在[0,CL]间的整型常量。

通过公式(5)可以看出,明文像素值决定了参与密钥流元素量化的混沌状态变量的有效数字位数,因此生成的密钥流与明文相关。这里需要说明的是,参数α与β的选择对加密系统的有效性具有重要的影响。若α过小,将会降低密钥流的随机性;若β过小,将会降低密钥流与明文的相关性。为了满足该两项性能要求,在本发明中,设置α=9,β=7。

步骤3-2:利用密钥流keyStm对置乱后的图像数组imgData中的每一个像素点实施加密,加密公式为:

其中cn为对pn加密得到的密文值,cn-1为前一个像素点的密文值,其初始值c-1可由加密者设为一取值范围在[0,CL]的整型常量,代表按位异或操作。在对像素的加密过程中,由于cn-1的引入,每一个像素点的影响都能被有效地扩散至后续所有的像素点中。

这里,c-1设为128,对置乱后的p0进行加密,得到的密文值为:

其余像素色彩分量的加密以此类推。

步骤4:可根据安全级别要求,进行多轮加密,即反复执行步骤2与步骤3。这里需要说明的是,步骤3-1-2所生成的混沌序列可在多轮加密中重用,因此在第二轮以及后续的加密轮中,步骤3-1-1和步骤3-1-2可以省略。

步骤5:将数组imgData中的像素值重排为一个H行、3×W列的矩阵,作为加密图像输出。

用于解密的公式(13)的逆变换为:

使用以上加密方法,经置乱一轮、扩散一轮后,得到的加密图像如图4所示。加密系统安全性与效率测试分析

对本发明所提出的系统进行全面的安全性能分析与测试并对结果进行分析,以验证其有效性及性能优势。具体测试项目包括:

①扩散算法性能分析;

②抗穷举攻击(密钥空间)分析;

③抗统计攻击分析(包括直方图、相邻像素相关性、信息熵);

④密钥敏感性测试。

为充分表明本发明方法的通用性,参与测试的图像共计6幅,全部从国际标准测试图像库中选取,图像大小为512×512像素,格式为24位真彩色图像。图5分别列出了这6幅图像。

(1)扩散算法性能分析

良好的扩散性能是抵御差分攻击的有效保障。差分攻击是选择明文攻击中最为常用的一种手段。其基本思路为:攻击者采用相同的密钥,加密两幅具有极其微小差异(例如一个比特)的明文图像。通过对比得到的两幅密文图像,分析出所使用的密钥流乃至密钥情况。因此,若一个像素值的微小改变可有效的扩散至整幅密文图像,则差分攻击是无效的。

NPCR(number of pixels change rate)与UACI(unified average changeintensity)是衡量一个图像加密系统扩散性能的两个核心指标。NPCR用于测试两幅图像间的差异度。设I1(i,j,k)和I2(i,j,k)分别表示I1与I2两幅图像位于(i,j)点的像素值(k=1,2,3分别表示像素的R,G,B分量)。NPCR的定义为:

其中H和W分别为图像的高度和宽度。D(i,j,k)的定义为:

对于两幅纯随机图像,其NPCR理论值为:

例如,对于2幅24位真彩色随机图像(CL=256),其NPCR理论值为99.609%。

UACI用于测试两幅图像间的平均差异强度,其定义为:

对于两幅纯随机图像,其UACI理论值为:

例如,对于2幅24位真彩色随机图像(CL=256),其UACI理论值为33.464%。

对于一个设计良好的图像加密系统,其NPCR与UACI指标应尽可能接近理论值。

为测试本发明所提出得图像加密方法在极限情况下的扩散性能,采取如下步骤:首先选取一幅测试图像,并构建一幅与其只有一个比特差异的图像。差异像素的位置、对应的色彩通道以及+1/-1操作,均随机选定。对图5中六幅测试图像的测试结果如下表1所示。

表1测试图像原值与修改后的结果

表2 NPCR测试结果

表3 UACI测试结果

从表2,3可以看到,本发明所提出加密算法仅需2轮扩散操作即可获得理想的NPCR与UACI指标,而对于传统加密算法,需要2轮扩散操作才能达到理想的NPCR指标、需要3轮扩散操作才能达到理想的UACI指标。因此,本发明所提算法具有更高的计算效率。

(2)抗穷举攻击(密钥空间)分析,

密钥空间是指在加密或解密过程中可用的不同密钥的总量。对于一个安全的加密系统,密钥空间应该足够大以使穷举攻击(暴力破解)失效。根据现有计算机的运算速度及未来几年内的发展趋势,目前密码学界认为密钥长度大于100位即可有效抵御穷举攻击。本发明所提出的加密系统的密钥由两部分组成:置乱密钥和扩散密钥。置乱密钥由logistic映射的初始值决定,扩散密钥由广义Lorenz-like系统的三个状态变量初始值组成,本加密系统在实现时,所有状态变量均定义为双精度浮点数(64位double型)。根据IEEE浮点数标准,该数据类型的有效精度为53位,因此本发明所提出的加密系统的密钥长度为53×4=212位。

(3)抗统计攻击分析

(a)直方图分析

直方图直观的描述了一幅图像的像素值频率分布。对于一个设计良好的图像加密系统,其输出的密文图像像素值频率应服从均匀分布,以隐藏明文信息中的冗余并阻止攻击者观测到任何有关明文与密文间关联的信息。图6(a)为第一幅图明文图像;(b)-(d)分别为(a)的R、G、B分量;(e)-(g)分别为(b)-(d)的直方图;图7(h)为第一幅图密文图像;(i)-(k)分别为(h)的R、G、B分量;(l)-(n)分别为(i)-(k)的直方图。通过图6、7可以看出,密文图像的直方图呈良好的均匀分布,与明文图像的直方图间不具备任何关联性,因此可有效抵御频率分析。

(b)相邻像素相关性

对于一个具有明确视觉含义的数字图像,其每一个像素点在水平、垂直以及对角线方向与其相邻像素点间均具有很高的相关性。而对于一个设计良好的图像加密系统,其输出的密文图像的相邻像素间应不具备任何相关性。图8给出了第一幅图明文图像与其密文图像的三个色彩分量的水平方向相邻像素相关性可视化测试结果。该测试将一对相邻像素的像素值作为横、纵坐标,以点的形式绘制于二维平面上。从测试结果可以看出,对于明文图像,绝大部分的点都集中在对角线附近,说明相邻像素间具有极强的相关性。而对于密文图像,所有点均匀分布于灰度平面上,说明其相邻像素间已不具有任何相关性。

为了进一步定量衡量与比较明文图像与密文图像的相邻像素相关性,下面计算图像的相关系数,方法如下:

首先在图像(的每个色彩分量)的某个相邻方向上(水平、垂直、对角线)随机选取5000对相邻点。然后,利用公式(12)-(14)计算图像在该方向上的相关系数rx,y

其中,xi和yi分别为图像中两个相邻点的像素值,Sn为采样点的个数。

表4中列出了6幅图的明文图像与其密文图像的三个色彩分量上的相邻像素的相关系数。从表中可以看到,本发明所提出的加密算法产生的密文图像,其在各方向上的相关系数均接近于0。

表4明文与密文图像的相关系数

信息熵是表征一个信源随机性与不可预测性的重要指标。信息熵通常由平均信息量来描述,即表达一个信源中的一个码元所需的平均比特数,其定义为:

其中S代表由N个不同码元{s1,...,sN}构成的信源,P(si)为码元si出现的概率。由式(23)可知,对于一个256级灰度的纯随机图像,其信息熵的理论值为H(S)=8。因此对于一个设计良好的图像加密系统,其输出的密文图像的信息熵应尽可能接近于8。

表5给出了利用公式(23)得出的明文图像与对应的密文图像的信息熵。从表中可以看到,全部密文图像的信息熵都极其接近理想值8,这意味着可以将本加密系统输出的密文图像看作一个随机信息源。

表5明文与密文图像的信息熵

通过以上三个方面的测试可知,本发明构建的图像加密系统具有良好的抗统计攻击能力。

(4)密钥敏感性测试

密钥敏感性是加密系统设计的一项基本准则。该属性要求当应用任意两个具有极小差异的密钥加密相同的明文时,将产生完全不同的密文。反之,当攻击者尝试使用与加密密钥极为相近的解密密钥实施解密时,不能得到任何与明文相关的信息。

在本项测试中,首先随机选定一组加密密钥(x'0=0.625356071474465,x0=-14.7498731304718,y0=4.95344592160937,z0=7.16150473769644)对第一幅图明文图像实施加密,得到的密文图像如图9(a)所示。然后对得到的密文图像分别使用5个解密密钥进行解密。在5个解密密钥中,只有第1个与加密密钥完全相同,而其余4个只在一个状态变量上与加密密钥存在一个比特的差异,如表6所示。得到的解密结果如图9(b)-(f)所示。对其它测试图像可得到相似的结果,这里不再给出。

表6应用于密钥敏感性测试的密钥列表

由以上测试结果可知,本发明提出的图像加密系统具有良好的密钥敏感性保证。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号