首页> 中国专利> 基于Y型填充曲线和变步长约瑟夫遍历的图像加密方法

基于Y型填充曲线和变步长约瑟夫遍历的图像加密方法

摘要

本发明提出了一种基于Y型填充曲线和变步长约瑟夫遍历的图像加密方法,其步骤为:将灰度图像转换成二维的图像矩阵;计算图像矩阵的哈希值作为密钥,进行运算得到初始参数值;将初始参数值带入2D‑LSCM系统迭代得到混沌序列,进行处理得到序列矩阵,将两个序列矩阵分别作为起始矩阵和初始步长矩阵,采用约瑟夫函数对图像矩阵的每个像素值的二进制位进行比特置乱;使用Y型填充曲线对图像矩阵进行两次像素置乱操作;利用序列矩阵依次进行正向扩散和逆向扩散得到密文图像。本发明通过Y型填充曲线对图像进行混淆,实现密钥与明文图像关联,利用多样性的约瑟夫对图像像素进行比特级置乱,通过对实验结果的分析,具有更好的性能和更高的安全性。

著录项

说明书

技术领域

本发明涉及数字图像加密的技术领域,尤其涉及一种基于Y型填充曲线和变步长约瑟夫遍历的图像加密方法。

背景技术

随着通信技术的发展和互联网的普及,人类传递信息的形式更为多样化,文本、图像、音频、视频等格式各样的信息载体都可以被便利的传输和获取。但是由于以往对信息安全性的忽视,信息的泄露等安全问题给人类造成了巨大的损失,如:信用卡失窃、资料外泄等。随着电子时代的来临,许多加密算法被提出,例如用于信息加密的DES算法、AES算法和用于信息验证的哈希算法,这些算法曾经能够很好的保护小容量信息的安全。但是随着计算机计算能力的跨越式提高,这些方法逐渐失去保护信息安全的能力。王小云提出的模差分比特分析法破解了包括MD5、SHA-1在内的5个国际通用哈希函数算法,这些破解方法在普通计算机上即可实现。并且,使用DES算法、AES算法加密大容量的信息时,其加密速度和效果已远不能满足对加密效率的需求,例如:Víctor Manuel Silva-García等人发现,当使用DES算法加密图像时,会出现条状区域,影响加密效果。当前,越来越多的学者投入到研究快速安全的加密算法领域中。

数字图像数据量大,相邻像素间相关性强,统计学特征明显。因此,对于数字图像的加密难度要远远大于文本信息。常用的数字图像加密算法包括混沌加密、图形学加密、DNA计算加密等。这些加密方法的实现形式可以归为两类:置乱和置换。置乱过程旨在混淆信息中数据的位置,打破数据的相关性。置换过程旨在对数据的内容进行替换,从而掩盖真实信息。置乱和置换都具有一定的缺点,例如:数据的置乱操作不会改变信息中数据的整体的统计特征,数据的置换方法在解密过程中对数据丢失的抵抗能力很差。因此,加密算法中通常混合使用置乱和置换操作。

在图像加密算法中,混沌系统产生的伪随机序列,既可以用作数据的置乱,又可以用作数据的置换。因此,混沌系统作为密钥发生器,被广泛的应用在加密算法中。混沌系统是一种十分复杂、没有规律、不可重复和预测的非线性动力学系统,具有很高的初值敏感性。因此,基于混沌系统的加密算法拥有不易被破解的优点。常见的混沌系统包括一维的Logistics映射、分段线性映射、二维的LSCM映射、三维的Lorenz映射、Chen混沌映射等。低维的混沌映射所产生的混沌现象持续周期短、精度低,在加密大容量信息时加密效果不如高维混沌系统理想,因此,学者们正在拓宽混沌系统的维度,混沌系统也正在向着高维超混沌系统发展,并且在使用混沌系统对信息进行加密的同时,还要联合其他的加密方法以拓宽算法的多样性。

近几年,许多基于混沌理论的图像加密算法被提出,这些算法或是对已有的混沌系统进行改进,或是利用低维、高维或者混合的混沌系统对图像完成像素置乱和置换的操作。例如:2018年,Hua等人提出了一种新的二维余弦映射,与现有的二维混沌映射相比,该二维余弦映射具有更好的遍历性,更复杂的行为和更大的混沌范围。将二维余弦映射应用于图像加密,利用其产生的伪随机数和明文在置换过程中做扩散操作,这样可以使单一像素影响到整个加密结果。Natiq等人利用一维正弦映射和二维Hénon映射设计出了一种新的二维Sine-Hénon变换模型(2D-SHAM),2D-SHAM具有较高的复杂度,并且对初始值和控制参数具有较高的敏感性。为了研究其在安全性方面的性能,将其应用于图像加密中,实验结果和安全性分析表明,其具有较强的抵御统计分析、差分攻击、明文选择和密文攻击的能力。Vaidyanathan等人设计了一种具有两个指数非线性的新型四维hyperjerk混沌系统,通过平衡点分析、分叉图、耗散性和李雅普诺夫指数等指标分析了该超混沌系统的动力学特性,并搭建仿真电路验证了该系统的可行性;最后,将该混沌系统应用于随机数生成、图像加密和声音隐写等领域。2019年,Farhan等人提出一种新颖的混沌系统,并通过分叉图、李雅普诺夫指数谱和熵测量对新系统进行全面分析;为测试该混沌系统在图像加密领域的应用性能,将混沌吸引子的状态用于对图像行和列的置乱,然后将置乱后的图像与混沌吸引子的状态进行置换操作;使用直方图、相关系数、香农熵的指标来分析加密方法的性能,其结果表明,所提出的混沌系统的加密方法具有可靠的性能,该系统混沌吸引子的不可预测性使得加密方法非常安全。

还有一些学者利用现有的混沌系统结合其他方法提出新的图像加密算法。例如:2016年,Tong等人利用超混沌系统并结合压缩算法,设计一种可压缩的图像加密算法;该算法使用超混沌系统对图像进行加密的同时,使用图像压缩技术对密文进行压缩,可以更好的节省储存空间。2018年,Ping等人提出一种基于离散Henon映射实现的两点扩散加密方法,如果有多个处理单元,该算法可以大大加快扩散过;在传统的置乱-置换体系的图像加密算法中,置乱和置换通常是两个独立的部分,而新提出的算法中,置乱和置换不再是两个独立的部分,它们相互融合,因此只需要扫描一次图像便可完成对图像的加密;各种安全性分析的结果证明,该算法具有优越的安全性,同时,时间复杂度分析表明,与大多数典型图像加密方案相比,它可以实现更快的加密速度。2019年,本发明团队结合Hilbert曲线的空间填充性质、H几何形分形的无限性和超混沌系统的伪随机性,给出一种图像加密方法。除利用纯数学和图形几何学加密的方法,当前,还有很多加密算法结合了仿生计算的方法,例如:2019年,Wang等人提出一种基于混沌和DNA平面运算的图像加密算法,该算法首先对原始图像进行置乱操作,接下来,将置乱后的图像分为四个大小相同的子图像,并通过DNA规则对这些子图像进行编码,并分别扩散,扩散规则通过DNA异或运算实现,最后,将运算后的结果组合并解码;该算法能够抵抗典型的攻击,如选择明文攻击等,具有较好的安全性。2018年,Mozaffari等人提出了一种基于遗传算法和平行比特平面分解的加密方法,该算法通过局部二进制模式(LBP)技术和位平面分解(BPD)方法将原始灰度图像转换为一组二进制图像;然后,通过遗传算法(GA)使用交叉和变异操作执行置换和替代步骤;最后,将这些加扰的位平面组合在一起以获得加密的图像;所提出的加密方法具有用于多个位平面加密的并行处理能力,并且具有多个种群的分布式遗传算法提高了加密速度,使其适合于实时加密应用。

将空间填充曲线应用于加密的工作也有很多,例如:2012年,Gaurav B等人提出一种基于双重空间填充曲线(SFC)和分数小波变换(FrWT)的具有三种不同操作模式的新加密方法,其核心思想是首先通过FrWT分解图像/视频,然后通过双SFC对每个子带系数进行混洗,最后,执行逆FrWT以获得加密的图像/视频。同年,Bhatnagar提出了一种基于感兴趣像素和奇异值分解的选择性图像加密方法,该方法采用Saw-Tooth填充曲线对图像进行置乱,利用混沌映射和奇异值分解进行扩散,实现图像的选择性加密。2014年,Sivakumar等人提出一种动态的空间填充曲线扫描方法,该方法使用扫描、圆移位和转置方法。2019年,Murali等人提出一种基于空间填充曲线的快速加密方法,该方法使用空间填充曲线连续遍历图像每个像素并打乱其位置,并在此基础上设计了一种新的方波混淆和锯齿扩散方法,用于快速图像加密。然而,仅采用简单置乱方法的图像加密方法容易受到蛮力攻击。与像素级图像加密方案相比,比特级加密方案在置换过程中会影响像素值和像素位置,因此越来越多的学者引入了比特级加密方法。2020年,Shahna提出了一种基于混沌映射的像素级和比特级的图像加密方法,该方法采用Hilbert曲线和Henon混沌映射实现比特级和像素级双置乱,进一步增加了置乱效果。但是目前存在的扫描曲线,单次扫描,甚至3次扫描置乱后的图像相关性仍旧比较高。

发明内容

针对现有图像加密方法安全性差的技术问题,本发明提出一种基于Y型填充曲线和变步长约瑟夫遍历的图像加密方法,利用Y型扫描曲线、约瑟夫遍历和混沌映射实现了像素级和比特级的双重置乱,采用混淆---扩散技术有效地改进了图像加密的效果和安全性。

为了达到上述目的,本发明的技术方案是这样实现的:一种基于Y型填充曲线和变步长约瑟夫遍历的图像加密方法,其步骤如下:

步骤一:将大小为M*N的灰度图像转换成二维的图像矩阵P

步骤二:采用SHA-3算法计算图像矩阵P

步骤三:将步骤二得到的一组初始参数值带入2D-LSCM系统进行迭代,得到长度为M×N的混沌序列LS和混沌序列LT,对混沌序列LS和混沌序列LT中的元素进行处理并重组成矩阵形式分别得到序列矩阵MS和序列矩阵MT;将序列矩阵MS作为起始矩阵,序列矩阵MT作为初始步长矩阵,采用约瑟夫函数对图像矩阵P

步骤四:使用Y型填充曲线对图像矩阵P

步骤五:对图像矩阵P

步骤六:将步骤二得到的另一组初始参数值带入2D-LSCM系统进行迭代,得到长度为M×N的混沌序列LU和混沌序列LV,对混沌序列LU和混沌序列LV中的元素进行处理并重组成矩阵形式,分别得到序列矩阵MU和序列矩阵MV;利用序列矩阵MU对图像矩阵P

所述SHA-3算法为SHA-3(256)算法;图像矩阵P

所述2D-LSCM系统的两组初始参数值的计算方法为:将密钥K按字节划分为32个字节表示为:k

其中,x′

所述2D-LSCM系统将逻辑映射和正弦映射进行耦合,且:

其中,x

所述步骤三中的约瑟夫函数为J=f(n,r,t,k),n为元素总数,t为步长,J为得到的约瑟夫序列,r为加入起点,k为步长的增量;将序列矩阵MS作为起始矩阵,序列矩阵MT作为初始步长矩阵带入约瑟夫函数得到约瑟夫序列,将图像矩阵P

所述Y型填充曲线访问二维空间中的每一个点,且对于连续三个以上的像素点从不保持相同的方向;Y型填充曲线的扫描路线是Y型,即从左上角或中间开始,以Y字型走向,向下再向上完成一个Y字形,接着从左上开始,向下再向上完成下一个Y字形,依次扫描。

所述步骤三对混沌序列LS和混沌序列LT中的元素进行处理的方法为:

其中,floor()为向下取整函数,ls

所述步骤六中对混沌序列LU和混沌序列LV中的元素进行处理的方法为:

其中,lu

给定图像矩阵P、序列矩阵MU和序列矩阵MV,正向扩散后的图像矩阵为记C,步骤六中正向扩散的方法为:

其中,i=1,2,…,M,j=1,2,…,N;C

给定图像矩阵P、序列矩阵MU和序列矩阵MV,正向扩散后的图像矩阵为记C,反向扩散后的矩阵记为D,步骤七中逆向扩散的方法为:

其中,α=M,M-1,…,1,β=N,N-1,…,1;C

与现有技术相比,本发明的有益效果:首先,设计了一种新颖的Y型填充曲线作为SFC(Space Filling Curve),连续遍历待加密图像每一个像素实现比特级置乱,从而通过Y型填充曲线对图像进行混淆;其次,通过将明文图像产生的哈希值作为混沌映射的初始参数,实现密钥与明文图像关联;将混沌映射产生的随机序列作为约瑟夫遍历的起点和起始步长,对图像像素进行比特级置乱,实现像素值的改变,增加变步长参数,通过步长的不断变化,增加了约瑟夫遍历的多样性;最后,通过密文反馈和混沌序列运算来进一步增强算法的混淆和扩散特性,实现密文的双向反馈。通过对实验结果的分析和与其他图像加密算法的比较,本发明具有更好的性能和更高的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的流程示意图。

图2为本发明的2D-LSCM映射的仿真图。

图3为本发明的约瑟夫序列的生成过程及应用示意图。

图4为常见的SCAN扫描模式,其中,(a)为Row模式,(b)为Row-Prime模式,(c)为Spiral模式,(d)为Cantor模式,(e)为Peano扫描模式,(f)为Gray扫描模式,(g)为U-Index模式,(h)为Hilbert模式。

图5为本发明的Y型填充曲线的扫描示意图,其中,(a)为从中间开始的8*8,(b)为从左上角开始的8*8,(c)为从中间开始的16*16。

图6为本发明采用Y型填充曲线的置乱示意图,其中,(a)为数据矩阵及其Y型填充曲线,(b)为一次置乱后的数据矩阵,(c)为二次置乱后的数据矩阵。

图7为本发明填充曲线置乱Lena图像的对比图,其中,(a)为明文图像Lena,(b)为Y型填充曲线一次置乱后图像,(c)为Y型填充曲线二次置乱后图像,(d)为Hilbert曲线一次置乱后图像,(e)为Hilbert曲线二次置乱后图像,(f)为Square-wave曲线一次置乱后图像,(h)为Square-wave曲线二次置乱后图像。

图8为本发明约瑟夫置乱的实例图,其中,(a)为明文矩阵,(b)为MS矩阵,(c)为MT矩阵,(d)为约瑟夫遍历后的矩阵。

图9为本发明像素扩散的实例图,其中,(a)为10*10的数据矩阵及扩散结果,(b)为Lna图像及扩散后的密文;(c)为(b)对应的直方图。

图10为本发明的实验结果,其中,(a)从上到下依次为灰度图像Lena、baboon、boat、Pepper和Elaine的原始图像,(b)为(a)对应的密文图像,(c)为(b)的解密图像。

图11为本发明的明文图像和密文图像的直方图;其中,(a)为各个明文图像;(b)为(a)对应的直方图;(c)为(a)对应的密文图像;(d)为(a)对应的直方图。

图12本发明的明文图像和密文图像在各个方向的相关示意图,其中,(a)为明文图像Lena分别在水平、垂直、正对角和反对角方向上的相关性;(b)为密文图像Lena在水平、垂直、正对角和反对角方向上的相关性。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,一种基于Y型填充曲线和变步长约瑟夫遍历的图像加密方法,包含三个主要操作:第一,位置置乱:利用Y型曲线构成的置换索引将图像像素位置进行全局置乱;第二,比特位置乱:通过约瑟夫遍历对每个像素的比特位进行遍历,实现像素值的替换加密;最后,通过密文反馈对像素做进一步的扩散。本发明的具体步骤如下:

步骤一:将大小为M*N的灰度图像转换成二维的图像矩阵P

待处理的灰度图像即明文图像的大小为M*N,P

步骤二:采用SHA-3算法计算图像矩阵P

二维逻辑正弦耦合映射(2D-LSCM)是由一维逻辑映射和正弦映射耦合而来的,本发明采用2D-LSCM映射产生混沌序列,用于像素的置乱与置换操作。

一维逻辑映射和正弦映射的定义分别如公式(1)和f2)所示。

x

x

其中,控制参数γ,μ∈(0,1)。x

单独的使用一维逻辑映射或者正弦映射进行加密运算,因其遍历性不足等原因导致加密算法的安全性不高。为了获得更加符合加密算法需求的伪随机序列,Hua将逻辑映射和正弦映射进行耦合得到一个新的混沌映射,称为2D-LSCM映射。定义如下:

其中,x

SHA-3是第三代安全散列算法,它能够将任意长度字符信息转换为相同长度的哈希值。由哈希值产生的密钥,即使原图像有1比特的不同,由SHA-3算法产生的哈希值都将完全不同,对应着不同的加密密钥。将原图像信息与哈希函数相关联,不仅能产生较大的密钥空间增强抵抗穷举攻击能力,而且明文的微小变化可以扩散至整个密文图像,可广泛用于图像信息加密。原始图像的图像矩阵P

两组混沌映射的初始参数值的计算如公式f4)和f5)。

其中,x′

步骤三:将步骤二得到的一组初始参数值带入2D-LSCM系统进行迭代,得到长度为M×N的混沌序列LS和混沌序列LT,对混沌序列LS和混沌序列LT进行处理并重组成矩阵形式,分别得到序列矩阵MS和序列矩阵MT;将序列矩阵MS作为起始矩阵,序列矩阵MT作为初始步长矩阵,采用约瑟夫函数对图像矩阵P

步骤四:使用Y型填充曲线对图像矩阵P

步骤五:对图像矩阵P

约瑟夫问题是一个循环遍历问题,被描述为:将n个元素围成一个圈,按顺序循环遍历,删除第t个元素,并从第t+1个元素开始继续执行这种操作,直到从圈中选到最后一个元素。最后,根据从圈中删除元素的顺序,可以得到一个序列,即约瑟夫序列。将约瑟夫遍历用函数表达,即J=f(n,t),这里n为元素总数,t为步长,J为得到的约瑟夫序列。为对约瑟夫遍历进行扩展,可以在约瑟夫环中引入一个新的规则,即在原有规则的基础上加入起点r,将约瑟夫函数拓展为J=f(n,r,t),这种方法极大地增加了约瑟夫遍历的多样性。例如,函数f(8,2,3)的解法是将1,2,3,4,5,6,7,8这些元素围成一个圈,然后从第2个元素开始删除,循环遍历删除第3个元素,在这个约瑟夫环中依次被删除的元素分别为2,5,8,4,1,7,3,6。图3显示了约瑟夫序列的生成过程及其应用实例,二进制数10101010(十进制为170)被约瑟夫序列2,5,8,4,1,7,3,6按照其位置索引进行置乱后为01001110(十进制为78)。

为了进一步增加约瑟夫的多样性,本发明让约瑟夫遍历的步长保持动态变化,每删除一个元素,使步长进行更新,让t=t+k,k为步长的增量。则约瑟夫函数进一步被拓展为J=f(n,r,t,k)。例如,函数J=f(8,2,3,2)生成的约瑟夫序列为2,5,3,6,7,1,4,8。

空间填充曲线是指用一维曲线去包含整个二维甚至多维空间的一种函数曲线。而根据不同的排列规则,可以得到不同的空间填充曲线。一个空间填充曲线(SFC)可以连续访问图像中的所有像素一次,并对每一个像素进行线性排序或编码,将原图像的像素位置打乱并重组一幅新的像素图像。由于SFC具有速度快的特点,在多维索引、地理研究等方面得到了广泛的应用。通过使用空间填充曲线进行扫描可以对图像进行快速置乱,几种常见的SCAN扫描模式如图4所示。使用SCAN扫描模式打乱像素的位置十分方便,但是部分扫描模式也存在一定的缺陷,如图4(a)、4(b)、4(c)扫描一次的话,仍旧会有多个相邻元素相邻。若扫描的次数过少,则打破相邻像素间相关性的能力会较差。

为此,根据图像的特点,本发明提出了一种新颖的空间填充曲线——Y型填充曲线。该填充曲线是一种非常简单的扫描像素图像的方法。Y型填充曲线访问二维空间中的每一个点,对于连续三个以上的像素点从不保持相同的方向。采用Y型填充曲线连续扫描两次以上,原相邻像素再次相邻的概率接近于0。图5给出了Y型填充曲线的示意图。图5(a)是一个8*8的示意图,从中间开始沿Y字形路线进行扫描;图5(b)是从左上角开始扫描的曲线示意图,图5(c)是16*16的从中间开始扫描的曲线示意图。仅从图中可以看出,Y型填充曲线的置乱程度明显优于图4的扫描模式。

区别于传统的置乱操作,本发明所提出的置乱包括像素置乱和比特置乱,双置乱不仅可以打破相邻像素的相关性,还能改变像素值。对于像素置乱,本发明采用Y型填充扫描曲线来实现像素置乱。如图6(a)所示,在8×8的正方形网格中,从左上单元开始的Y型填充曲线扫描路径示意图。基于该扫描模式对图6(a)的数据矩阵进行扫描,得到图6(b)所示的数据矩阵,对图6(b)的数据矩阵再次扫描得到图6(c)所示的数据矩阵。基于这种扫描模式,对图7(a)所示的Lena图像进行第一次扫描置乱,置乱结果如图7(b)所示,第二次扫描结果如图7(c)所示。同时,本申请利用Hilbert曲线和Square-wave曲线对图7(a)所示的Lena图像进行扫描置乱,采用Hilbert曲线两次扫描置乱结果分别如图7(d)和7(e)所示,采用Square-wave曲线两次扫描置乱结果分别如图7(f)和7(h)所示。并对3种曲线置乱后的图像进行了相关性分析,分析结果如表1所示。这表明,在图像置乱方面,本发明的Y型填充曲线明显优于Hilbert曲线和Square-wave曲线。

表1 Y型、Hilbert、和Square-wave曲线置乱图像的相关性分析

像素位置置乱破坏了相邻像素之间的相关性,但不能改变像素值,因此,无法有效地抵抗统计学攻击。本发明采用约瑟夫遍历进行比特置乱,能有效改变像素值,进一步抵抗统计攻击。本发明将约瑟夫遍历与混沌序列相结合,通过将2D-LSCM混沌映射产生的伪随机序列作为约瑟夫遍历的参数,采用约瑟夫遍历对每个像素的二进制位进行置乱。针对每个像素的约瑟夫遍历,本发明均采用不同的起点和步长,并且在遍历过程中步长自动更新。

根据公式(4)得到的初始参数值,对2D-LSCM系统进行迭代,得到混沌序列LS和LT,对混沌序列LS和混沌序列LT进行处理的方法为:

对2D-LSCM混沌映射产生的伪随机序列LS和LT的元素按公式(6)进行处理,并转化成和图像矩阵P

其中,floor()为向下取整函数,ls

图8为采用约瑟夫置乱实例,其中步长增量k=1。图8(a)为明文矩阵,图8(b)为遍历起点矩阵MS,图8(c)初始步长矩阵MT,图8(d)为采用约瑟夫对图8(a)遍历后的矩阵。

步骤六:将步骤二得到的另一组初始参数值带入2D-LSCM系统进行迭代,得到长度为M×N的混沌序列LU和混沌序列LV,对混沌序列LU和混沌序列LV中的元素进行处理并重组成矩阵形式,分别得到序列矩阵MU和序列矩阵MV;利用序列矩阵MU对图像矩阵P

密文扩散操作使明文的微小变化可以扩散到整个密文,从而打乱明文图像与密文图像的关系,有效抵抗选择明文等密码学攻击手段。结合混沌序列,利用前一个像素值来改变当前的像素值,可以有效地将少量的明文图像变化传播到整个加密图像。扩散过程包括正向扩散和反向扩散。根据公式(5)得到的另一组初始参数值,对2D-LSCM系统进行迭代,产生长度为M×N的两个序列LU和LV,按照公式(7)对序列的元素进行处理,并转换成大小为M*N的矩阵形式,记为序列矩阵MU和MV。

其中,lu

对于给定的图像矩阵P、序列矩阵MU和序列矩阵MV,正向扩散后的图像矩阵为记C,反向扩散后的矩阵记为D。正向扩散过程如公式(8)所示:

其中,i=1,2,…,M,j=1,2,…,N。C

反向扩散过程如公式(9)所示:

其中,α=M,M-1,…,1,β=N,N-1,…,1;C

图8为给出了采用该放过扩散的实例。图8(a)为明文矩阵和扩散后的密文矩阵,图8(b)为明文图像Lena和扩散后的密文图像,图8(c)为图(b)对应的直方图

本发明的解密过程是加密过程中逆过程,不再赘述。

为了验证本发明的可行性和有效性,在Windows10操作环境下利用Matlab2018a工具对加解密算法进行仿真。给定初始值x′

为了衡量本发明的安全性,许多评价指标被提出,包括密钥安全性分析、像素分析和抗干扰分析等。其中,密钥分析主要分析加密算法密钥的安全性,像素分析主要分析像素间的数理统计关系,抗干扰分析主要分析当密文图像在传输过程中遭遇噪声破坏或者数据丢失等干扰时加密算法对图像信息的恢复程度。下面采用这些分析指标对本发明的加密方法进行安全性分析。

密钥空间被认为是任何密码系统的一个重要特征,应该足够大,有能力抵抗蛮力攻击。该加密算法的密钥由SHA-3(256)函数产生,该函数可以将任意长度的数据转换成一组固定长度的二进制数列,其算法复杂度为2

高度的密钥敏感性是任何好的加密系统的一个重要特征。若密钥对其微小改变极度敏感:(1)在加密过程中,密钥微小改变前后形成的密文图像之间将存在极大的差异,且错误的密文将无法通过正确的密钥还原出有效信息;(2)在解密过程中,密钥微小改变前后形成的解密图像之间将存在极大差异,若密钥被破坏,那么原始信息将无法被解密。

通常使用NPCR(像素改变率)和UACI(归一化改变强度)来衡量密钥的敏感性。NPCR可以计算出像素发生改变的百分比,当NPCR的检测结果接近于100%,则说明两图像中的像素有着极大地差别。但是,仅使用NPCR这一指标不足以衡量两份密码样本的差异,而UACI则可以很好的对样本的差异性检测作为补充说明。NPCR的最大理论值为100%,UACI的理想值为33.4635%。NPCR和UACI的计算公式如(10)-(11)所示。

其中,C

以Cameraman为例,本发明使用2D-LSCM混沌系统的初始值的敏感性作为密钥敏感性的分析方法,将混沌系统的各个初始值分别增加10

表2.加密密钥敏感性(%)分析

在解密过程中,同样可以使用NPCR和UACI来反映解密图像像素之间的差异。其NPCR、和UACI的结果如表3所示。这表明本发明的解密过程对密钥极度敏感,密钥的微小改变均会引起解密图像的极大改变。因此,本发明具有很强的密钥敏感性,足以抵抗对密钥的攻击。

表3.解密密钥敏感性(%)分析

图像的统计信息在一定程度上可以反映出原始图像灰度值的分布规律。当加密算法仅对图像做像素置乱操作而无像素置换操作时,像素的直方图分布不变。本发明的比特置换和像素扩散操作的目的即为抵御攻击方进行像素值统计攻击。一个好的加密算法,可以通过替换的方法使像素值的统计特性趋近于均匀分布,且像素值分布越平均,则加密算法的安全性越好。图11为明文图像和其对应的密文图像的直方图,通过对比可以看出,使用本发明加密的密文图像在直方图统计范围内分布均匀,很好的打破了原始图像的直方图统计规律。

像素直方图的分布规律可以使用χ

给定显著水平α,使

表4.密文图像的χ

信息熵可以反应信息的随机程度,信息的熵越接近理论值,信息的随机程度越强,抗攻击的能力越高。信息熵的计算公式如式(13)所示。

式中,p(m

整体的信息熵可以反映出整幅图像的随机程度,但是不足以反应图像局部的随机程度。因此,在使用信息熵反应图像整体随机程度的同时,本发明还添加了局部信息熵来反映图像局部区域的随机程度。局部信息熵的统计方法如公式(14)所示。

式中,Φ表示所选中的区域的总数,T

表5.信息熵和局部信息熵

明文图像不但在直方图统计中具有明显规律,其像素之间也具有很强的关联性。如图12(a)中明文图像的相邻像素相关性图所示,相邻像素间具有很强的相关性。而打破像素间的关联性,对抵抗统计攻击具有重要意义。相邻像素间的相关性计算方法如公式(15)所示。

其中,

随机选取图像中10000个像素点,分别从水平、垂直和对角线三个方向来计算相邻像素间的相关性,其统计结果如表6所示所示。图12给出明文图像Lena及其密文在各个方向的相关情况。通过对比可以看出,原始图像相邻像素间的相关性很强,趋近于1,而使用该加密算法加密后的密文图像相关性很弱,趋近于0。因此,本发明具有很强的打破相邻像素间相关性的能力。

表6明文图像和密文图像各方向的相关系数

差分攻击分析是指对原始图像做微小变动然后进行加密,继而对密文图像进行分析,分析其对明文的敏感程度。衡量抵御差分攻击能力的指标分别为NPCR(像素改变率)和UACI(像素平均改变强度)。表7中列举了明文发生1bit改变时的密文图像与原密文图像之间的NPCR、UACI的值,表7中的数据均接近于理论值,这反映出使用本发明加密的密文图像与原始图像之间存在着很强的关联性,即使原始图像发生1bit的微小改变,密文图像便会发生彻底的变化。

表7明文图像发生微小改变时,对应密文图像间的NPCR和UACI的值(%)

本发明对约瑟夫遍历函数进行改进,增加变步长参数,扩展了约瑟夫遍历的多样性;并采用混沌映射产生的序列作为约瑟夫遍历的起点和初始步长,对像素进行比特级置乱;其次,提出了一种新型的Y型填充曲线,并用设计了基于Y型填充曲线的比特级置乱方法,Y型填充曲线在置乱方面优势明显;最后与混沌序列结合,实现密文的双向反馈。为了增强本发明的安全性,在置换和扩散过程中使用不同的混沌序列;此外,由明文图像的哈希函数生成与混沌序列产生相关的扩散初值和参数,增强了加密过程与明文图像的相关性,达到了“一次一密”的效果,提高了本发明的安全性。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号