一种基于混沌映射的动态S盒构造与图像加密方法与流程

文档序号:16070389发布日期:2018-11-24 13:08阅读:355来源:国知局

本发明涉及加密系统,尤其涉及一种基于混沌映射的动态s盒构造与图像加密方法。

背景技术

混沌具有遍历性、混合性、确定性以及对初始条件和控制系数的敏感性等显著特点,非常适合于数据的加密。s盒是传统分组密码加密系统中的一个重要构件,也是唯一的非线性组成部分,体现了分组密码置乱和扩散的原则。

但在当前的研究中,仍存在一些未解决的问题,主要体现在:混沌虽然具有非线性的特点,但在用于s盒的构造算法时,由于s盒大小本身的限制,静态s盒在图像加密中的性能不能达到实际应用的要求;得到较高非线性度的s盒,利用更复杂的迭代系统会导致加密算法效率降低。



技术实现要素:

本发明的目的在于提供一种基于混沌映射的动态s盒构造与图像加密方法,能够对图像进行加密,确保图像安全,且计算简单,安全高效。

为实现上述目的,本发明采用如下技术方案:

一种基于混沌映射构造动态s盒的图像加密方法,依次包括以下步骤:

(1)输入原始图片p(m,n),m和n分别表示原始图片的像素的高度和宽度;

(2)将原始图片p带入迭代公式,得到密钥keyi(i=1,2,…,8);

其中,pj表示原始图片p中的第j个像素,ki(i=1,2,…,8)的值在(0,1)中选取,为用户选定的8个不同的初始值;

(3)将密钥keyi作为初始值输入混沌系统,生成动态s盒s-boxi(i=1,2,…,8);

(4)将原始图片p(m,n)分块为bi(i=1,2,…,8),每块大小为

(5)构造每块明文的s盒,并利用每块明文所对应的s盒对原始图片p进行替换,得到替换后的图像p1;

(6)对替换后的图像p1进行置乱,得到置乱后的图像p2;

(7)将置乱后的图像p2带入扩散公式,得到扩散后的图像p3;

(9)重复5次步骤(7),得到加密后的图像c。

优选地,所述步骤(3)中,利用一维logistic映射作为混沌系统,一维logistic映射的数学表达式为xn+1=λxn(1-xn),其中,0<λ≤4,xn∈(0,1),当3.5699456...<λ<4时,logistic映射工作处于混沌状态,利用上述公式作为混沌方程生成s盒。

优选地,所述步骤(5)中,利用明文bi(i=1,2,…,8)所对应的s盒s-boxi(i=1,2,…,8)对图像的像素值进行替换,每一像素值在s盒中都有与其对应的一组替换关系,遍历m×n个像素,最终得到替换后的图像p1。

优选地,所述步骤(6)中,利用猫映射对替换后的图像p1进行置乱,其中,m和n分别表示加密图像矩阵的坐标。

优选地,所述步骤(7)中,扩散公式为:其中,cl表示置乱后的图像p2的第l个值,sl表示由密钥产生的用于加密il的随机数,il表示原始图片p的第个值。

本发明借助一维混沌映射生成动态s盒,结合替换、置乱和扩散三种技术对图像进行加密,从而提高算法的加密性能,降低加密算法的复杂度,具有安全、高效的优点。

附图说明

图1为本发明的流程图;

图2为原始图片和利用本发明所述方案加密后的图片及其各自的直方图。

具体实施方式

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

如图1所示,本发明所述的一种基于混沌映射构造动态s盒的图像加密方法,依次包括以下步骤:

(1)输入原始图片p(m,n),m和n分别表示原始图片的像素的高度和宽度;

(2)将原始图片p带入迭代公式,得到密钥keyi(i=1,2,…,8);

其中,pj表示原始图片p中的第j个像素,ki(i=1,2,…,8)的值在(0,1)中选取,为用户选定的8个不同的初始值;

(3)将密钥keyi作为初始值输入混沌系统,生成动态s盒s-boxi(i=1,2,…,8);

利用一维logistic映射作为混沌系统,一维logistic映射的数学表达式为xn+1=λxn(1-xn),其中,0<λ≤4,xn∈(0,1),当3.5699456...<λ<4时,logistic映射工作处于混沌状态,利用上述公式作为混沌方程生成s盒。

(4)将原始图片p(m,n)分块为bi(i=1,2,…,8),每块大小为

(5)构造每块明文的s盒,并利用每块明文所对应的s盒对原始图片p进行替换,得到替换后的图像p1;

利用明文bi(i=1,2,…,8)所对应的s盒s-boxi(i=1,2,…,8)对图像的像素值进行替换,每一像素值在s盒中都有与其对应的一组替换关系,遍历m×n个像素,最终得到替换后的图像p1。

(6)对替换后的图像p1进行置乱,得到置乱后的图像p2;

利用猫映射对替换后的图像p1进行置乱,其中,m和n分别表示加密图像矩阵的坐标。

(7)将置乱后的图像p2带入扩散公式,得到扩散后的图像p3;

扩散公式为:其中,cl表示置乱后的图像p2的第l个值,sl表示由密钥产生的用于加密il的随机数,il表示原始图片p的第l个值。

(8)重复5次步骤(7),得到加密后的图像c。

以下从七个方面对本发明的技术方案进行验证。

以下表格中,newscheme为本文方案,传统加密方案的分别为,scheme1:引用论文《一种新的基于混沌的彩色图像加密算法》中同时加密彩色图像的r、g、b分量方案(x.wang,l.teng,x.qin,anovelcolourimageencryptionalgorithmbasedonchaos,signalprocess.92(4)(2012)1101–1108.);scheme2:引用论文《一种新的基于动态随机增长技术混沌块图像加密算法》中基于混合混沌映射和动态随机增长技术的块图像加密方案(x.wang,l.liu,y.zhang,anovelchaoticblockimageencryptionalgorithmbasedondynamicrandomgrowthtechnique,opt.laserseng.66(2015)10–18);scheme3:引用论文《2d正弦逻辑调制映射图像加密算法》中结合二维正弦logistic调制映射(2d-slmm)和混沌魔术变换(cmt)的加密方案(z.hua,y.zhou,c.m.pun,c.l.philipchen,2dsinelogisticmodulationmapforimageencryption,inf.sci.297(2015)80–94);scheme4:引用论文《一种基于感知器模型的混沌图像加密算法》中基于神经网络中的高维lorenz混沌系统加密方案(x.y.wang,l.yang,r.liu,a.kadir,achaoticimageencryptionalgorithmbasedonperceptronmodel,nonlineardyn.62(3)(2010)615–621.)。

1、直方图分析

直方图是一个非常重要的分析方法,它表示了图像中的灰度值的频率分布,一个安全的加密方案应该通过产生一个直方图来提高抵抗统计分析。图2分析了几个平面图像的灰度直方图和图像加密后的直方图,其中,第一行是原始图片,第二行是原始图片的像素的直方图,第三行是加密后的图像,第四行是加密后的图像的像素的直方图,由图2可看出,加密图像的直方图是均匀的并且完全不同于明文各自的直方图。因此,该算法可以抵抗任何统计攻击。

2、相关分析

计算和比较普通图像和密文图像中邻域像素的相关性。从原图像和加密后的图像的每个方向中随机选择多对相邻像素,每对之间的相关系数的计算方法如式(1)所示:

其中,m表示边长,x和y分别表示图中水平、垂直以及对角线的相邻的像素值,在原平面及其与相应的加密图像相邻像素的方向可以看出水平、垂直和对角方向的相关系数,利用本发明加密方法加密后的密文与原始明文之间的分析结果如表1所示。

表1明文与密文的相关分析

由表1可以看出,原图像像素的相关系数接近于1,而利用该加密算法得到的加密图像的平均相关性系数近似等于0,由此,本发明对统计理论的攻击是安全的。

3、密钥敏感度分析

密钥敏感度分析满足了用户不受网络袭击的需求,利用不同的尺寸加密不同尺寸大小的灰度图像,得到的不同像素的百分比如表2所示:

表2明文与密文像素差别

从表2中,可以看出,在密钥keyi(i=1,2,…,8)中细小的差别就可以导致加密图像有大的改变。因此,本发明的加密方法具有较高的敏感度。

4、信息熵分析

信息熵是数学上一种统计的无序量度,可以理解成某种特定信息的出现频率(即离散随机事件的出现概率)。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高,信息熵可以说是系统有序化程度的一个度量。从信息理论上来说,“信息数值”越集中的地方,熵值越小,“信息数据”越分散的地方,熵值越大。

信息熵可以通过式(2)来测定,即测定加密后图像“信息数据”的密集程度:

其中,p(xi)表示像素xi的位置,k表示加密图像中的像素总数。将像素的位置数据带入上式,所得到的信息熵如表3所示。

表3加密后图像的信息熵

对于灰度图像有取值范围(0,255),理论熵值等于8时,像素出现同一概率性。

由表3可以看出,所有的加密图像信息熵平均为7.9977接近于8。因此得出结论,加密后的图像“信息数据”非常分散,该加密方案具有强大的抗熵攻击。

5、敏感度分析

敏感度分析又名差分分析,是指测定变动一个因素对全体数据或者方案最终造成的影响。本分析是测定改变一个像素在普通图像加密后的影响。目前有两种方法可以进行测定:一种是像素变化率(npcr),一种是统一平均变化强度(uaci),前者是用来测量两个图像之间的不同像素的数目,而后者则用于测量平均强度差。利用公式(3)可计算出像素变化率(npcr),利用公式(4)可计算出统一平均变化强度(uaci)。

其中,n表示图像中的像素总数,k表示灰度像素值的位数。将本文的算法与其他的算法相比较,结果显示在表4中。

表4npcr、uaci与其他算法的比较

从表4得出,本算法的npcr平均在99.6%左右,证明本发明的加密方案很敏感;本算法的uaci在所有的测试比例中为30%,表明普通图像单像素变化影响率很高。因此,本发明的加密算法不容易受到差分攻击。

6、加密质量

图像加密后质量的判断可以通过许多方法进行检测。视觉检测是判断加密算法有效性的重要指标之一。如果一个加密算法能够隐藏大部分的明文图像的特征,那么该加密算法被认为是强大的加密算法。

6.1不规则的偏差

不规则偏差可以用来检查密文的质量,不规则偏差可被定义为

其中,hi表示在指数i时直方图的幅度,ah是直方图值的平均总和。当id值较低时,表示像素分布均匀,加密图像质量高,本发明的算法与其他算法的不规则的偏差值如表5所示。由表5可以看出,本发明的算法的不规则偏差值更低。

表5方法间不规则偏差比较

6.2均匀直方图偏差

对于一个理想的加密算法,密文图像必须有均匀的直方图分布,这意味着,密文图像中每一个像素的概率必须是一致的。在数学上,一个理想的直方图的密文图像可以用公式(6)计算:

其中,是理想直方图的一个指数i,hc是实际的密文图像的直方图,m×n是密文图像的大小。dh较低代表一个更好的加密质量,表6描述均匀直方图的偏差的结果。从表9中可以看出,在scheme(1,3)中所提出的方案研究和在scheme(2,4)均匀直方图的算法比有较低的偏差。因此,上文dh的值作为均匀直方图偏差的判定的结果是成立的。

表6方法间均匀直方图偏差比较

7、对比分析

图像的对比度可以被看作是图像中光和暗部之间的亮度的差。事实上,这种对比显示了图像中的光分布。从视觉上看,这种对比被解释为图像亮度直方图的扩展。在此意义上,分析了该算法与相关工作的对比,这个对比是由eq给出的。

表7方法间对比分析比较

从上表中,可以清晰的看出,在密钥keyi(i=1,2,...,8)中细小的差别就可以导致加密图像的不同。

p(i,j)是灰度共生矩阵的数量。实验结果对于一些加密的图像提出的方案和其他算法的对比,见表7。基于这些结果,可以得出结论,该方法下的所有加密图像高对比,证实了该算法的有效性,产生高随机性加密图像。

本发明能够对图像进行加密,提高算法的加密性能,降低加密算法的复杂度,具有安全、高效的优点。

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