一种基于混沌理论的数字图像并行加密方法与流程

文档序号:11144606阅读:3227来源:国知局
一种基于混沌理论的数字图像并行加密方法与制造工艺

本发明涉及信息安全领域,尤其涉及一种基于混沌理论的数字图像并行加密方法。



背景技术:

混沌是与量子力学、相对论并列的20世纪三大物理学重要发现之一,混沌现象是指在确定的非线性系统中,在不加以任何随机因素的条件下,由于自身内部的相互作用表现出来类似随机过程的一种现象。而混沌与生俱来的各种特征非常符合密码学中的基本要求。如:首先,混沌系统对初始条件的极端敏感性,使得密码系统的密钥空间更广且密钥敏感性极强;其次,混沌系统产生的混沌信号是非周期且非收敛的,又具有很好的随机性和复杂性,所以这种特性很适合让它做密码学随机数发生器;最后,混沌信号具有结构复杂、类似噪声等特性使得它具有天然的隐蔽性。因此,基于混沌理论提出的密码方案具有传统加密技术没有的优良特性,进而将混沌应用于数字图像加密领域有着广泛的应用前景。

基于混沌的图像加密算法研究开始阶段主要基于Shannon提出的混淆和扩散框架。首先,在混淆阶段利用混沌系统产生的混沌序列来置乱像素点的位置;其次,在扩散阶段主要是通过改变像素点的像素值来获取更好的加密效果。而其中的猫映射是在混淆阶段中使用最为经典的方法,它不仅易于实现,而且运行速度快等特点使它至今依旧被很多加密算法所青睐。Guan等人提出了一种通过猫映射和Chen系统的混沌图像加密算法;Chen等人进一步将二维猫映射推广到三维,进而得出一种利用三维猫映射的混沌图像加密算法;Gao等人采用了一种称为置乱矩阵的序列对图像像素的行列进行变换,它先是利用一维logistic 映射产生一个伪随机的混沌序列,再利用该序列来分别对像素进行行的重新排列和列的重新排列,结果表明这种置乱方法比猫映射具有更高的安全性,所以也被广泛的应用于图像加密中;朱建良等人提出了一种在生成混沌信号的过程中参数随机变化的混沌伪随机序列产生方法,并基于该方法提出了一种新的图像加密算法;Zhang等人提出了通过DNA编码进行图像加密。综上所述,对于混沌图像加密技术的研究不管是广度还是深度都取得了很大的发展和突破,新算法的不断涌现使得混沌图像加密技术也越来越走向成熟。而目前的一些图像加密方法主要存在不能有效抵抗差分攻击、选择明文(密文)攻击等问题,而且算法基本上都是采用的串行加密方式进行加解密。



技术实现要素:

针对上述安全性问题和加密性能问题,本发明提出一种基于混沌理论的数字图像并行加密方法。

本发明一种基于混沌理论的数字图像并行加密方法,包括步骤

S1:使用混沌序列对明文图像进行全局性位置置乱;

S2:将明文图像分为若干份;

S3:对每份明文图像进行并行局部扩散,并将每一份明文图像的最后一个像素和下一份明文图像的第一个像素进行交换;

S4:重复步骤S3,直到完成明文图像的全局扩散。

进一步地,步骤S1中所述混沌序列是使用Kent混沌系统产生的。

更进一步地,步骤S1包括步骤:

S11:将原明文图像按照行优先的顺序转换为一个长度为m×n的一维序列L={l1,l2,l3,…,lm×n},该序列的取值范围均为[0,255];

S12:将原明文图像的所有像素值相加得到一个总值为sum,然后再用sum来除以图像的总像素点个数即m×n,由此来获得整个图像的一个平均像素值为avg,由公式和公式t=m+n+mod(avg×108,m+n)可分别得到Kent混沌系统中所需的控制参数a和迭代次数t;

S13:设Kent混沌系统的系统变量初始值为x0,将x0和a代入Kent混沌系统中,进行Kent映射t次迭代,然后再继续迭代m×n次,产生一个长度为m×n的一维混沌序列K={k1,k2,…,km×n};

S14:对混沌序列所述K进行从小到大排序,产生一个用来记录排序后的序列中各个元素在原序列K中所在位置的一个位置序列K'={k1',k2',…,k'm×n},并由所述位置序列来对明文序列L进行全局性的位置置乱,最终得到置乱图像序列L'={l1',l2',…,l'm×n}。

本发明的有益效果在于,与现有技术相比,本发明不仅能较好的抵抗差分攻击、统计特性分析,而且能有效抵抗选择明文或密文攻击,且密钥空间大、加密效果好,同时能有效利用计算机多核cpu的并行计算能力有效提高计算速度和加密性能。

附图说明

图1是本发明基于混沌理论的数字图像并行加密方法流程图。

图2是原明文图像加密前后灰度直方图。

图3是图2中的明文图像加密后的灰度直方图。

图4是明文图像加密前相邻像素相关性图。

图5是明文图像加密后相邻像素相关性图。

图6是正确解密后的图片。

图7是错误解密后的图片。

具体实施方式

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

请参见图1,本发明一种基于混沌理论的数字图像并行加密方法,包括步骤

S1:使用混沌序列对明文图像进行全局性位置置乱;

S2:将明文图像分为若干份;

S3:对每份明文图像进行并行局部扩散,并将每一份明文图像的最后一个像素和下一份明文图像的第一个像素进行交换;

S4:重复步骤S3,直到完成明文图像的全局扩散。

步骤S1实施的过程为图像像素位置的置乱。本方法有别于其他加密方法的最大特点是,常见的图像加密算法都是采用的串行加密方式,为了充分利用好现在计算机多核cpu的可并行计算特性,在图像扩散操作阶段,本发明将原明文图像分为若干份,让每一份进行并行局部扩散操作,在每一轮结束之后,为了使得图像能够进行全局性扩散作用,将每一份的最后一个像素和下一份的第一个像素进行交换,进行下一轮的扩散操作,如此反复循环直到最后,如此达到图像的全局扩散作用。

设灰度图像A大小为m×n,t作为混沌系统迭代次数,sum是像素值总和,avg是所有像素的平均值,具体加密方法步骤如下所示:

步骤S11:把原文图像A按照行优先的顺序转换为一个长度为m×n的一维序列L={l1,l2,l3,…,lm×n},该序列的取值范围均为[0,255]。

步骤S12:把原文图像的所有像素值相加得到一个总值为sum,然后再用sum来除以图像的总像素点个数即m×n,由此来获得整个图像的一个平均像素值为avg,由式(1)和式(2)可分别得到Kent混沌系统中所需的控制参数a和迭代次数t。

t=m+n+mod(avg×108,m+n) (2)

步骤S13:设混沌系统的系统变量初始值为x0,将x0和a代入式kent混沌系统中,进行Kent映射t次迭代用来消除暂态效应的不良影响,然后以它为起点继续迭代m×n次,将会产生一个长度为m×n的一维混沌序列K={k1,k2,…,km×n}。

步骤S14:对混沌序列K进行从小到大排序,产生一个用来记录排序后的序列中各个元素在原序列K中所在位置的一个位置序列K'={k1',k2',…,k'm×n},由此以它来对明文序列L进行全局性的位置置乱,最终得到置乱图像序列L'={l1',l2',…,l'm×n}。

步骤S2-S5是对图像像素并行扩散

该过程是将先将置乱图像序列等分为若干份,然后每一份分别采用特定的公式来对各个子序列并行的进行扩散操作,当每个子序列循环一定次数后,再将每相邻的两个子序列的第一个和最后一个值进行交换,这样来达到全局性的扩散作用。然后再继续以上操作,如此循环一定的次数后将得到一个扩散后的密文序列,从而得到最终加密密文。具体步骤如下所示:

步骤S2:本文实验采用的是256*256的灰度图像,且cpu为4核的,所以将L'等分为4份同样大小的子序列分别为p1、p2、p3、p4,创建四个线程,使得每一个线程分别负责一个子序列,结合公式(3),将四个子序列的值分别依次代入到公式(3)中进行计算一次,得到第一次扩散效果。对于公式(3),可令c0为[0,255]中任意数,因此c0也可作为一个密钥。这一步使得中间密文前后紧密相关,以达到像素扩散作用。

步骤S3:各个子序列再按照式(3)继续循环计算10次,得到四个扩散后的子序列p1’、p2’、p3’、p4’,使得各个子序列内部得到充分扩散作用,但是这样仅仅只能使得各个子序列内部扩散,对于整个置乱序列来说只是局部扩散,为了让各个子序列能相互影响,将p1’中的最后一个序列值和p2’中的第一个交换

步骤S4:依次进行步骤S3相同的操作,最后p4’的最后一个值和p1’中的第一个序列值交换,如此,使它们之间产生了密切联系,任何一个序列的改变都换影响到整个序列的巨大变化。

步骤S5:各个子序列进行首尾值交换之后,重新进行步骤S2和步骤S3的操作,这样连续进行10次循环操作,得到最终密文C={c1,c2,......,cm×n}。将密文序列c转换为最终的密文图像。

本文实验仿真过程中选择的图像是大小为256×256的Cameraman灰度图像,以此作为明文,加密系统中国的初始密钥主要有Kent混沌系统中的x0=0.4561592650,和加密过程所用到公式(3)的参数c0=250,而Kent混沌系统中的控制参数S则由图像自身特性决定。实验仿真表明,加密方法简单可行而且加解密速度快,本方法不仅能得到较好的加密效果,还具有较高的安全性。

图2为加密前的明文图像的灰度直方图,明显呈现出不均匀分布,因此可以得出图像像素值的分布特点。图3为加密后的密文图像灰度直方图,可看出其分布非常均匀,因此可达到很好的隐藏明文图像信息的效果。

从明文和密文图像中随机抽取水平方向800组相邻点,以次作出图像像素值的关系图,图4和图5两图分别展现了明文图像水平相邻点的像素值关系和密文图像水平相邻点的像素值的关系,由此可得,加密后相邻点之间的像素值完全没有了任何关系。

图6和图7可见,对明文图像解密时,即使是某一个解密密钥发生非常微小的变化,最后都得不到明文图像。实验仿真中,正确解密后所得解密图像为图5,将X0=0.3234321210改为X0=0.3234321211,其他都不变,得到的解密图像为如图6所示。因此,哪怕是10-10的微小改变也无法成功解密图像,说明了该方法具有较好的密钥敏感性。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1