一种扩散映射置乱与混沌系统组合的图像加密方法与流程

文档序号:14623220发布日期:2018-06-08 03:06阅读:568来源:国知局

本发明涉及加密技术领域,具体涉及一种扩散映射置乱与混沌系统组合的图像加密方法。



背景技术:

近年来,图像加密算法或方案已被广泛研究,其主要的原因是,我们的数字信息必须得到保护,以避免被复制,读取,并通过非法授权在公共场所举行了。许多方法已经提出了数字图像的加密,包括数据加密标准,傅立叶变换,混乱和波传输。由于基于混沌系统的算法在初始状态时,具有伪随机性和遍历性高效敏感的特性,能高效率的显示出期望的结果,然而,一些基于混沌加密方案已经成功,阿尔瓦雷斯等人指出,混沌映射具有非均匀分布较弱,不合适达到加密目的,从统计分析明文,这种方法的建立拥有一个低安全性,是易碎的。



技术实现要素:

本发明针对所要解决的问题,提供一种扩散映射置乱与混沌系统组合的图像加密方法。

为实现本发明的目的,本发明所采用的技术方案是:

一种扩散映射置乱与混沌系统组合的图像加密方法,由以下步骤实现:

步骤1,由Logistic系统构造的二维非线性动力系统产生的混沌序列形成扩散矩阵和Arnold映射矩阵;

步骤1具体实现方法为:由Logistic系统定义一个二维非线性动力系统:

生成参数序列{(as,bs)}和{ (dp,ep)}。

步骤2,在基色上对彩色图像进行扩散,并在不同的位平面对彩色图像进行置乱;

具体实现方法为:(1)扩散置乱:把一幅大小为N×N的彩色图像G,采用两邻点相互扩散的线性变换算法对图像像素的灰度值进行扩散,所述算法为:

其中,为扩散矩阵,gij和gij+1分别为原图像点(i,j)和(i,j+1)处的三基色值,gij’和gij+1’分别为扩散后的三基色值,K为图像的基色级,mod为模运算,取|D|=1,且令d11=1、d12=as、d21=bs,则d22=asbs+1,称它们为扩散加权系数,取整数,由参数序列{(as,bs)}(s=1,2,…,r)决定,其中r为扩散置乱次数;

那么,其逆扩散为:

其中m和n为能使得0≤gij<K和0≤gij+1<K的最小整数值,上述算法多次对图像自(0,0)开始逐行扩散,得到扩散后的图像。通常取d12≥2,这样图像中每个像素的灰度值将被放大扩散到整幅图像中,算法对被加密图像敏感a逆扩散从(N-1,N-1)开始对扩散后的图像逐行反方向扩散,进行图像还原。

(2)映射置乱:把原始图像中的像素从map(x,y):(ij)映射到(k,l)置乱,即在参数x和y的作用下,把原处于(i,j)的像素移动到位置(k,l),为保证被置乱的图像正确还原,映射过程需是保面积的,且映射map(x,y)存在相应的逆过程map’(x,y):(ij)→(k,l),采用Amold映射:

其中,为映射矩阵。

Amold映射置乱算法采取基于位平面置乱,具体实现方法为:把一幅原始图像G视作由若干个位平面组成,在每个位平面上用Amold映射对图像中各像素的比特位进行置乱,为了到达像素级置乱效果,在不同的位平面上采用不同的映射矩阵,映射过程为:

其中P为图像的位平面数,{ 1,dp,eP,dpep+1}为第p个位平面上所采用的映射矩阵的元素值,由参数序列{(dp,e,)}决定。由于采用不同映射矩阵,同一像素中的各个比特位将被映射到不同的位置上,从而达到像素级置乱的目的,也就是说,映射过程除了像素被置乱,同时各像素的灰度值也被置乱,原始图像的统计特征完全被破坏。

步骤3,用Chen系统产生的混沌序列对置乱后的图像文件加密。

步骤3的具体实现方法为:(1)采用Chen系统进入混沌状态,相空间具有非常优越的三维动力特性;为加大系统的复杂性,在二维非线性动力系统中增加了二次偶合项x2i-1,y2i-1和xi-1,yi-1。当2. 75<μ1≤3.40,2.7<μ2≤3.45,0.15<γ1≤0.21以及 0.13<γ2≤0.15时,该系统进入混沌状态,生成(0.1.0)的混沌序列。(2)离散混沌序列:应用四阶Runge-Kutta法,取初始值为(xo,yo,zo)和分步步长为0.01对Chen系统进行数值积分,每个步长得到一组实数数值,该组数据类随机的实数型数值序列(xi;yi,zi)(i=1,2,…,M),作为初始的混沌信号序列;对该混沌信号进行放大、量化和模运算:得到一组取值范围为O~(K-1)的(nxi,nyi,nzi)(i=1,2,…,m)整数混沌序列,K为图像各基色的灰度级;在整数混沌序列(nxi,nyi,nzi)中去掉迭代过程的前4000个点,取(nxi,nyi,nzi)(i=4001,4002,…,M)的整数混沌序列,组成N×N的矩阵形式(kxij,kyij,kzij),然后用该序列与置乱后图像G’中各个像素的红、绿、兰三基色进行异或操作得到加密后的彩色图像G’, 用不同的初始点(X0P,Y0P,Z0P)(P =1,2,…,m),经过上述处理将产生完全不同的离散混沌序列(kxijp,kyijp,kzijp)(P=1,2,…,m),用这些混沌序列对原始图像进行多次异或运算,得到最终的加密后图像G’。

步骤4,在密钥的作用下通过Chen系统和模运算产生混沌序列,多次异或运算对加密后的图像进行解密。

本发明的有益效果是:采用Chen混沌系统和Logistlic系统取初始值,不受任何限制,允许多次加密,具有非常大的密钥空间,可以抵御密钥穷举攻击;加密后的图像的统计分布完全被破坏,具有很好地抵御统计分析的能力,该文件加密方法可以有效地抵御采用像素相关分析的攻击。

具体实施方式

下列对本发明的实施作进一步的说明,以便本领域的技术人员能够更好的理解并实施。

实施例1

一种扩散映射置乱与混沌系统组合的图像加密方法,由以下步骤实现:

步骤1,由Logistic系统构造的二维非线性动力系统产生的混沌序列形成扩散矩阵和Arnold映射矩阵;

具体实现方法为:由Logistic系统定义一个二维非线性动力系统:

生成参数序列{(as,bs)}和{ (dp,ep)}。

步骤2,在基色上对彩色图像进行扩散,并在不同的位平面对彩色图像进行置乱;

具体实现方法为:(1)扩散置乱:把一幅大小为N×N的彩色图像G,采用两邻点相互扩散的线性变换算法对图像像素的灰度值进行扩散,所述算法为:

其中,为扩散矩阵,gij和gij+1分别为原图像点(i,j)和(i,j+1)处的三基色值,gij’和gij+1’分别为扩散后的三基色值,K为图像的基色级,mod为模运算,取|D|=1,且令d11=1、d12=as、d21=bs,则d22=asbs+1,称它们为扩散加权系数,取整数,由参数序列{(as,bs)}(s=1,2,…,r)决定,其中r为扩散置乱次数;

那么,其逆扩散为:

其中m和n为能使得0≤gij<K和0≤gij+1<K的最小整数值,上述算法多次对图像自(0,0)开始逐行扩散,得到扩散后的图像。通常取d12≥2,这样图像中每个像素的灰度值将被放大扩散到整幅图像中,算法对被加密图像敏感a逆扩散从(N-1,N-1)开始对扩散后的图像逐行反方向扩散,进行图像还原。

(2)映射置乱:把原始图像中的像素从map(x,y):(ij)映射到(k,l)置乱,即在参数x和y的作用下,把原处于(i,j)的像素移动到位置(k,l),为保证被置乱的图像正确还原,映射过程需是保面积的,且映射map(x,y)存在相应的逆过程map’(x,y):(ij)→(k,l),采用Amold映射:

其中,为映射矩阵。为简化映射矩阵构建,通常假设k11 =1、k12=d和k21=e,则J22=de+1。

Amold映射置乱算法采取基于位平面置乱,具体实现方法为:把一幅原始图像G视作由若干个位平面组成,在每个位平面上用Amold映射对图像中各像素的比特位进行置乱,为了到达像素级置乱效果,在不同的位平面上采用不同的映射矩阵,映射过程为:

其中P为图像的位平面数,{ 1,dp,eP,dpep+1}为第p个位平面上所采用的映射矩阵的元素值,由参数序列{(dp,e,)}决定。

步骤3,用Chen系统产生的混沌序列对置乱后的图像文件加密。

具体实现方法为:(1)采用Chen系统进入混沌状态,相空间具有非常优越的三维动力特性;为加大系统的复杂性,在二维非线性动力系统中增加了二次偶合项x2i-1,y2i-1和xi-1,yi-1。当2. 75<μ1≤3.40,2.7<μ2≤3.45,0.15<γ1≤0.21以及 0.13<γ2≤0.15时,该系统进入混沌状态,生成(0.1.0)的混沌序列。那么:

其中K的大小取决于扩散操作或映射操作,扩散操作时取较小值,而在映射操作时取较大值。把生成的若干组整数类随机参数{(CxP,CyP)}作为{(as,bs)}和{(dp,eP)}参数序列。(2)离散混沌序列:应用四阶Runge-Kutta法,取初始值为(xo,yo,zo)和分步步长为0.01对Chen系统进行数值积分,每个步长得到一组实数数值,该组数据类随机的实数型数值序列(xi;yi,zi)(i=1,2,…,M),作为初始的混沌信号序列;对该混沌信号进行放大、量化和模运算:得到一组取值范围为O-(K-1)的(nxi,nyi,nzi)(i=1,2,…,m)整数混沌序列,K为图像各基色的灰度级;在整数混沌序列(nxi,nyi,nzi)中去掉迭代过程的前4000个点,取(nxi,nyi,nzi)(i=4001,4002,…,M)的整数混沌序列,组成N×N的矩阵形式(kxij,kyij,kzij),然后用该序列与置乱后图像G’中各个像素的红、绿、兰三基色进行异或操作:得到加密后的彩色图像G’, 用不同的初始点(X0P,Y0P,Z0P)(P =1,2,…,m),经过上述处理将产生完全不同的离散混沌序列(kxijp,kyijp,kzijp)(P=1,2,…,m),用这些混沌序列对原始图像进行多次异或运算,得到最终的加密后图像G’。

步骤4,在密钥的作用下通过Chen系统和模运算产生混沌序列,多次异或运算对加密后的图像进行解密,接着在位平面上进行Amold的逆映射,在进行Amold逆映射过程中所使用的密钥序列要求和置乱时使用的序列顺序相反。最后对图像的各个基色进行逆扩散操作,解密过程要求Arnold逆映射和扩散交替进行。

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

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