一种基于复杂网络同步的混沌图像加密方法与流程

文档序号:16434769发布日期:2018-12-28 20:24阅读:386来源:国知局
一种基于复杂网络同步的混沌图像加密方法与流程
本发明涉及网络加密
技术领域
,尤其涉及一种基于复杂网络同步的混沌图像加密方法。
背景技术
随着人类社会的日益网络化,网络系统日益复杂,信息传输的安全性日益受到人们的关注。复杂网络在信息安全传输等方面有着重要的作用。近年来,随着智能设备的普及、图像业务的增加,图像传输的安全问题日益严重。2013年爆发的棱镜门事件,世界为之震颤,大量邮件和图像等私人信息被监控,世界陷入恐慌。2016年,我国成功发射“墨子号”量子通信卫星,标志着我国进入量子保密通信的时代,由此可见,保密通信无论对于个人还是国家,都具有重大意义。图像加密不同于普通文本加密,由于图像具有数据量大、冗余度高和像素相关性强等内在特性,常规加密算法如des、rsa等传统加密方法并不适合。近些年来,一种新型的保密通信迅速兴起,即将混沌理论引入到保密通信当中。模拟混沌保密系统具有抗干扰能力差等缺点,数字通信技术很好地解决这一问题。同时,复杂网络同步可以解决密钥在传输过程中的安全性问题。因此,复杂网络的同步控制应用于图像混沌保密通信,具有重要意义。技术实现要素:本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于复杂网络同步的混沌图像加密方法,实现对网络传输的图像进行加密。一种基于复杂网络同步的混沌图像加密方法,包括以下步骤:步骤1、将复杂网络进行同步;步骤1.1、将待控制的每一个客户端看作是复杂网络中的一个节点,客户端与客户端之间的关系以结点之间的耦合程度表示建立复杂网络模型;将含有n个节点的复杂网络划分为m个社区,2≤m≤n;如果节点i属于第j个社区,i=1、2、…、n,j=1、2、…、n,且i≠j,有关系μi=j成立;设定uj表示j个社区的全部节点,表示第j个社区中与其它社区有连接的节点根据以上假设,复杂网络的状态方程如下公式所示:其中,xi(t)=(xi1,xi2,…,xin)t∈rn为节点i的状态向量,t为时间,方程为第μi个社区节点动力学行为特性的非线性连续可微的向量函数,对于任意两个节点i和节点j,如果μi≠μj,即节点i和节点j不属于同一个社区,则有c>0为耦合强度常数,γ∈rn×n为耦合矩阵,表示社区内部节点拓扑结构,设定γ=diag(λ1,λ2,…,λn)为一对角矩阵,并且λi≥0,i=1,2,…n;拉普拉斯矩阵a=(aij)∈rn×n,满足行和为零这一条件;如果节点i和节点j通过一条边连接,则aij=aji≠0,否则,aij=aji=0;假定网络是连通的,即矩阵a是不可约的;步骤1.2、根据网络的耗散耦合条件,对网络中的节点采用牵制控制策略,对每个社区的外节点施加控制器进行控制,实现复杂网络社区节点的同步;所述复杂网络的第μi个社区的第i个节点的状态方程如下公式所示:其中,μi(t)为控制器,如下公式所示:步骤2、对复杂网络传输的图像进行加密,具体方法为:步骤2.1、对明文图像进行量化处理;对于像素为m×m′、灰度级水平为g的原始明文图像,获得它的二维像素值矩阵a′,将所述原始明文图像作为当前图像;步骤2.2、采用超混沌驱动系统对当前图像进行预处理;设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统产生超混沌驱动系统的超混沌序列,并将超混沌序列转换为一个16*16的2维初始置乱矩阵;所述的超混沌驱动系统如下公式所示:其中,(x1,x2,x3,x4)∈r为状态变量,a,b,c,d,k均为超混沌系统的参数,当a=35,b=7,c=12,d=3,k=0.5时,该系统处于超混沌状态;步骤2.3、判断传输的图像是否为彩色图像,如果是,则从彩色图像中提取红、黄、蓝三个颜色分量的像素值矩阵,并对每个颜色分量的像素值矩阵分别执行步骤2.4-步骤2.5,得到加密处理后的红、黄、蓝三个颜色分量的密文图像,最后将得到的加密处理的红、黄、蓝三个颜色分量的密文图像合成原始彩色图像的密文图像;否则直接执行步骤2.4-步骤2.5,对图像进行加密;步骤2.4、对当前图像进行置乱处理;结合置乱矩阵和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵a′进行置乱,把置乱后像素值矩阵对应的图像作为当前图像;步骤2.5、对当前图像进行扩散处理;对logistic映射进行w次混沌迭代,得到相应的混沌状态值,将其作为密钥序列;利用该密钥序列对明文分组数据进行扩散变换,并把扩散后像素值矩阵对应的图像作为当前图像,得到密文图像,实现图像的加密;所述对logistic映射进行w次混沌迭代中的w值由如下公式确定:其中,b为上一次加密生成的最后一个密文数据的值,b_set为预设好的固定值;b的引入可以使前一次密文数据对本次的加密产生影响,从而改善扩散效果,使加密系统更加安全。第一次加密时,b的值为0。所述利用得到的密钥序列对明文分组数据进行扩散变换,如下公式所示:其中,xn为步骤2得到的混沌序列值,pn为待进行扩散变换的明文数据的值,bn-1为前一个明文数据的密文值,当n=1时,bn-1=b_sef,bn为pn经过扩散变换后的密文值;步骤3、对复杂网络传输的图像进行解密,具体方法为:步骤3.1、密文图像量化处理:对于步骤2中得到的密文图像,获得它的二维像素值矩阵,将密文图像作为当前待处理图像;步骤3.2、采用超混动响应系统同步产生置乱序列;在超混沌驱动系统与超混沌响应系统同步后,超混沌响应系统生成与超混沌驱动系统相同的初始置乱序列和初始置乱矩阵;步骤3.3、对当前图像进行逆扩散处理;将密文数据分解为以256个字节为单位的数据包;对logistic进行逆变换得到对应的密钥序列;利用该密钥序列对明文分组数据进行逆扩散变换;把逆扩散后的像素值矩阵对应的图像作为当前图像;所述利用得到密钥序列对明文分组数据进行逆扩散变换,如下公式所示:步骤3.4、对当前图像进行逆置乱,实现对图像的解密:根据超混沌响应系统产生的初始逆置乱序列和初始逆置乱矩阵,对当前图像的像素值矩阵进行逆置乱,把逆置乱后的像素值矩阵对应的图像作为当前图像,得到解密的图像,实现对加密图像的解密。采用上述技术方案所产生的有益效果在于:本发明提供的一种基于复杂网络同步的混沌图像加密方法,通过构建复杂网络模型,引入内外节点的概念,建立了含有社区结构的复杂网络模型。采用牵制控制策略,对社区外节点进行控制,实现复杂网络的聚类同步,这使得图像加密传输从原来的点对点传输扩展到在一个复杂网络内传输,极大的提高了图像加密系统的实际使用价值。在复杂网络中传输密钥,更是大大的提高了图像加密系统的安全性,并且由于使用的是部分节点的牵制控制策略,大大减少了所需控制器的数量。同时,在生成初始置乱矩阵之前,首先对超混沌驱动系统进行迭代,消除了混沌系统初始值的影响,提高了算法复杂度,这使得密文图像隐蔽性强,大大增加了破译的难度,而且使得加密算法能够抗各种统计攻击、暴力攻击和差分攻击。附图说明图1为本发明实施例提供的一种基于复杂网络同步的混沌图像加密方法的流程图;图2为本发明实施例提供的复杂网络社区结构的拓扑图;图3为本发明实施例提供的特定牵制策略下社区中节点各状态变量误差的演化图,其中,(a)为第一维中各节点的状态误差曲线,(b)为第二维中各节点的状态误差曲线,(c)为第三维中各节点的状态误差曲线;图4为本发明实施例提供的明文图像、置乱图像、扩散图像及其像素值分布的直方图,其中,(a)为明文图像的直方图,(b)为置乱密文图像的直方图,(c)为扩散图像的直方图,(d)明文图像像素值分布的均衡化直方图,(e)为置乱密文图像像素值分布的均衡化直方图,(f)为扩散图像像素值分布的均衡化直方图;图5为本发明实施例提供的明文图像和密文图像分别在垂直方向相邻像素相关性分析图,其中,(a)为明文图像相邻像素相关性的可视化结果,(b)为密文图像相邻像素相关性的可视化结果。具体实施方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。一种基于复杂网络同步的混沌图像加密方法,如图1所示,包括以下步骤:步骤1、将复杂网络进行同步;步骤1.1、将待控制的每一个客户端看作是复杂网络中的一个节点,客户端与客户端之间的关系以结点之间的耦合程度表示建立复杂网络模型;将含有n个节点的复杂网络划分为m个社区,2≤m≤n;如果节点i属于第j个社区,i=1、2、…、n,j=1、2、…、n,且i≠j,有关系μi=j成立;设定uj表示j个社区的全部节点,表示第j个社区中与其它社区有连接的节点根据以上假设,复杂网络的状态方程如下公式所示:其中,xi(t)=(xi1,xi2,…,xin)t∈rn为节点i的状态向量,t为时间,方程为第μi个社区节点动力学行为特性的非线性连续可微的向量函数,对于任意两个节点i和节点j,如果μi≠μj,即节点i和节点j不属于同一个社区,则有c>0为耦合强度常数,r∈rn×n为耦合矩阵,表示社区内部节点拓扑结构,设定r=diag(λ1,λ2,…,λn)为一对角矩阵,并且λi≥0,i=1,2,…n;拉普拉斯矩阵a=(aij)∈rn×n,满足行和为零这一条件;如果节点i和节点j通过一条边连接,则aij=aji≠0,否则,aij=aji=0;假定网络是连通的,即矩阵a是不可约的;步骤1.2、根据网络的耗散耦合条件,对网络中的节点采用牵制控制策略,对每个社区的外节点施加控制器进行控制,实现复杂网络社区节点的同步;复杂网络的第μi个社区的第i个节点的状态方程如下公式所示:其中,μi(t)为控制器,如下公式所示:本实施例中,复杂网络如图2所示,包括两个社区,第一个社区包括6个节点,每个节点选取四维的超chen混沌系统,第二个社区包括4个节点,每个节点选取四维的rossler系统。社区内节点的耦合关系以节点间的连线表示,两社区之间节点的耦合关系以虚线连接表示。本实施例中,该复杂网络的社区1只需要在节点1、节点3施加同步控制器就可以实现复杂网络的同步。步骤2、对复杂网络传输的图像进行加密,具体方法为:步骤2.1、对明文图像进行量化处理;对于像素为m×m′、灰度级水平为g的原始明文图像,获得它的二维像素值矩阵a′,将所述原始明文图像作为当前图像;本实施例中,原始明文图像如图所示,m=m′=256,g=256。步骤2.2、采用超混沌驱动系统对当前图像进行预处理;设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统产生超混沌驱动系统的超混沌序列,并将超混沌序列转换为一个16*16的2维初始置乱矩阵;所述的超混沌驱动系统如下公式所示:其中,(x1,x2,x3,x4)∈r为状态变量,a,b,c,d,k均为超混沌系统的参数,当a=35,b=7,c=12,d=3,k=0.5时,该系统处于超混沌状态;本实施例中,超混沌驱动系统采用超chen混沌系统。超chen混沌系统是一个连续时间的混沌系统,而arm平台只适合处理离散系统,为了在这样的平台上利用超chen混沌系统,需要对连续的超chen混沌系统进行离散化处理。本实施例选用欧拉算法对超chen系统进行离散化。超chen混沌系统经过离散化可以表示为对上式进行转换,可以得到离散超chen混沌系统的状态方程可以写成x(k+1)=ax(k)+τf(x(k))其中,τ=0.001是离散化过程中的采样时间。经过matlab仿真可以得到超chen混沌系统的混沌吸引子,观察可得离散后的超chen系统依然具有混沌吸引子特性,即离散系统依然具有混沌特性。为了消除初始值的影响和提高算法复杂度,对离散超chen混沌系统进行t次迭代,t的取值为:其中,b表示上一次加密生成的最后一个密文数据的值,b_set是预设好的固定值;b的取值方式导致前一次的密文数据对其后一次加密过程产生影响,第一次加密时,b取的值为0。系统继续进行混沌迭代,将迭代得到的序列值通过取模运算转化为数值为0~255初始混沌序列,每次转化后的得到的序列值要与已得到的数值进行比较,如重复,则舍弃,否则保留这个转化后的序列值。最终会得到256个不同的序列值,这个序列即为初始置乱序列;将生成的0至255的256个数字序列转化成一个16*16的2维矩阵,该矩阵就是初始置乱矩阵。步骤2.3、判断传输的图像是否为彩色图像,如果是,则从彩色图像中提取红、黄、蓝三个颜色分量的像素值矩阵,并对每个颜色分量的像素值矩阵分别执行步骤2.4-步骤2.5,得到加密处理后的红、黄、蓝三个颜色分量的密文图像,最后将得到的加密处理的红、黄、蓝三个颜色分量的密文图像合成原始彩色图像的密文图像;否则直接执行步骤2.4-步骤2.5,对图像进行加密;步骤2.4、对当前图像进行置乱处理;结合置乱矩阵和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵a进行置乱,把置乱后像素值矩阵对应的图像作为当前图像;本实施例中,将明文元素转化成多个16*16矩阵形式的数据包,明文元素的矩阵与置乱矩阵的大小是一致的。明文元素的交换原则是:明文矩阵的第i个元素与明文矩阵的第shift_record[i]个元素进行位置互换,shift_record[i]代表初始置乱矩阵中第i个元素的值互换。对离散超chen混沌系统进行d次迭代,d的取值为:d=last_value其中,last_vale为前一个置乱矩阵第一个元素的值,这可使下次的加密情况与本次的加密情况有关,进而提高算法的复杂度。步骤2.5、对当前图像进行扩散处理;对logistic映射进行w次混沌迭代,得到相应的混沌状态值,将其作为密钥序列;利用该密钥序列对明文分组数据进行扩散变换,并把扩散后像素值矩阵对应的图像作为当前图像,得到密文图像,实现图像的加密;连续的logistic映射如下表示:y=μx(1-x),μ∈[0,4]对其离散化得到式为:y(n)=μx(n)[1-x(n)]对logistic映射进行w次混沌迭代中的w值由如下公式确定:其中,b为上一次加密生成的最后一个密文数据的值,b_set为预设好的固定值;b的引入可以使前一次密文数据对本次的加密产生影响,从而改善扩散效果,使加密系统更加安全。第一次加密时,b的值为0。对logistic映射进行混沌迭代,得到混沌状态值,对该值进行扩大倍数、取整和取模操作,得到一个介于0到255的整数值xn。利用密钥序列对明文分组数据进行扩散变换,如下公式所示:其中,xn为步骤2得到的混沌序列值,pn为待进行扩散变换的明文数据的值,bn-1为前一个明文数据的密文值,当n=1时,bn-1=b_set,bn为pn经过扩散变换后的密文值;步骤3、对复杂网络传输的图像进行解密,具体方法为:步骤3.1、密文图像量化处理:对于步骤2中得到的密文图像,获得它的二维像素值矩阵,将密文图像作为当前待处理图像;步骤3.2、采用超混动响应系统同步产生置乱序列;在超混沌驱动系统与超混沌响应系统同步后,超混沌响应系统生成与超混沌驱动系统相同的初始置乱序列和初始置乱矩阵;根据耗散耦合条件和lyapunov定理能够证明该控制器在同步时刻t后能够为零,即超混沌驱动系统与超混沌响应系统达到同步,超混沌驱动系统与超混沌响应系统的状态变量误差的演化如图3所示。通过构建超混沌系统的投影同步,其中驱动系统和响应系统均为超混沌系统、且具有不同结构和不同维数,从混沌系统本身和同步方式两方面提升混沌同步序列的的复杂性。通过设计控制器,超混沌响应系统和超混沌驱动系统快速达到同步,从而获得解密过程中所需要的超混沌序列。这避免了传统的基于混沌理论的图像加密方法中,将混沌系统初始值和控制参数作为密钥通过通信信道传输时被窃取的可能,同时节约了额外通信传输开销。同时,只考虑牵制网络外节点的方法,使得复杂网络整体施加的控制器数量减少,节省经济成本。步骤3.3、对当前图像进行逆扩散处理;将密文数据分解为以256个字节为单位的数据包;对logistic进行逆变换得到对应的密钥序列;利用该密钥序列对明文分组数据进行逆扩散变换;把逆扩散后的像素值矩阵对应的图像作为当前图像;所述利用得到密钥序列对明文分组数据进行逆扩散变换,如下公式所示:步骤3.4、对当前图像进行逆置乱,实现对图像的解密:根据超混沌响应系统产生的初始逆置乱序列和初始逆置乱矩阵,对当前图像的像素值矩阵进行逆置乱,把逆置乱后的像素值矩阵对应的图像作为当前图像,得到解密的图像,实现对加密图像的解密。本实施例还提供了从抗统计测试的角度进行分析本发明的加密方法的安全性。灰度直方图能够直观的描述一幅图像中像素值的分布情况。本实施例提供了如图4所示的明文图像、置乱图像、扩散图像及其像素值分布的直方图。其中,图4(a)、4(d)分别为明文图像及其像素值分布的直方图,图4(b)、4(e)分别为置乱密文图像及其像素值分布的直方图,图4(c)、4(f)分别为扩散图像及其像素值分布的直方图。对比图4(d)与4(f)可以看出,与明文图像相比,扩散后的密文图像的直方图呈现平坦而均匀的分布,说明经加密后的密文图像的像素值分布具有良好的均衡性和随机性,可以将明文图像信息特征完全隐藏起来,攻击者从中无法得到任何明文与密文之间关系的信息。为了比较明文图像和密文图像相邻像素的相关性,本实施例分别从明文图像和密文图像中随机地选取水平方向、垂直方向以及对角方向3000对相邻像素,然后利用如下公式计算像素间的相关性:其中,xi和yi分别是图像中两个相邻点的额像素值,n1为采样点的个数。本实施例中,明文图像和密文图像在水平、垂直以及对角线方向的相关系数如表1所示。从表1中可以看出,明文图像的相邻像素具有高度相关性,ρ接近1,而本发明的加密方法所得到的密文图像相邻像素相关性几乎接近0,说明本发明方法在打破相邻像素相关性方面具有较强的优越性,具有很强的抗统计攻击能力。表1明文图像和密文图像在不同方向的相关系数方向水平方向垂直方向对角方向明文图像相关系数0.97000.93280.9102密文图像相关系数0.00004-0.00630.00023将两相邻像素的像素值作为(x,y)坐标,并以点的形式绘制于平面上,得到如图5所示的明文图像与密文图像相邻像素相关性的可视化结果,图5(a)和5(b)分别对应于对角方向上明文图像与密文图像的情形。从图中可以看出,明文图像相邻像素间的相关性呈明显线性关系,而密文图像相邻像素间的相关性呈现随机关系。水平方向和对角方向上明文图像与密文图像相邻像素相关性也有类似结果。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1