一种基于混沌S盒的图像加密算法的解密方法技术

技术编号:19487434 阅读:19 留言:0更新日期:2018-11-17 11:39
本发明专利技术公开了一种基于混沌S盒的图像加密算法的解密方法,首先选取像素值为全0、全1、全2……全255的256个灰度图像,将这256个灰度图像通过原加密算法进行加密,得到256个明文像素值矩阵;然后获取对加密后的密文图像的像素值矩阵;接着将256个明文像素值矩阵上每个位置的像素值,与密文图像的像素值矩阵的对应位置上的像素值进行遍历比较,找出密文图像每个位置的像素值所对应的每个原像素值,从而得到加密后的密文图像所对应的原始图像。本发明专利技术能够在不获取密钥的情况下成功破解出加密后的图像,不仅图像恢复率高,而且简化了计算过程;本发明专利技术不仅适用于原加密算法,而且适用于任何基于S盒的加密系统,具有图像恢复率高、适用范围广的优点。

【技术实现步骤摘要】
一种基于混沌S盒的图像加密算法的解密方法
本专利技术涉及密码分析
,尤其涉及一种基于混沌S盒的图像加密算法的解密方法。
技术介绍
随着网络技术的快速发展,在为人们生活带来各种便利生活的同时,网络信息安全也愈发引起人们的重视。人们通过各种传输媒介进行沟通交流,如视频、音频、文件、图像等,在传输媒介的传输过程中,不可避免的会产生一些信息安全问题。对于信息安全,需要保证信息的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。网络安全下的信息安全体制是我们保证信息安全的关键,从而进行消息认证、数据加密、图像加密来保证安全机制的完善、安全系统的健全是我们所关注的重点。数字图像是一种以二维数字组形式表示的图像,具有直观性的特点,是一种广泛应用的数字信息。由于数字图像处理信息量大,占用频带宽,数据冗余度大,相邻像素间的相似度高的特点,采用传统的加密技术会产生效率低、浪费计算资源的缺点。混沌系统具有内在随机性、敏感性、遍历性、不收敛性、伪随机性等特点,能够克服传统加密算法的缺点,因此被广泛应用于图像加密领域,因此混沌密码成为新型密码学中研究的热点之一。在密码技术发展的同时,密码分析技术也得到了空前的发展。为提升密码系统的安全性,很多新的密码破解方案基于密码分析技术被提出来。S盒替换是加密系统设计中常用的一种经典技术,S盒作为高级加密标准中唯一的非线性部件,是影响算法性能的重要因素之一,使用强大的S盒结构有助于进行安全加密,抵御差分密码分析。等人于2017年设计了一种具有高初值敏感性和宽密钥空间的混沌系统,使得生成的随机序列在NIST测试中表现出极好的随机性,并使用混沌系统设计简单的计算复杂度低的算法步骤生成S盒,实验证明生成的S盒具有很好的性能,能有效地提高加密算法的安全性。在基于混沌的S盒图像加密算法中,加密算法的解密过程必须仅依赖于密钥,解密者在不知道加密系统的密钥时,无法对加密后的图像进行解密;S盒替换的方法只改变了矩阵的数值,并未改变每个像素的位置,从S盒替换入手可以很容易地对加密后的图像进行解密。
技术实现思路
本专利技术的目的在于提供一种基于混沌S盒的图像加密算法的解密方法,能够在无法得知密钥的情况下对加密后的图像进行解密,具有计算过程简单,图像还原度高的优点。为实现上述目的,本专利技术采用如下技术方案:一种基于混沌S盒的图像加密算法的解密方法,依次包括以下步骤:(1)选取像素值为全0、全1、全2……全255的256个灰度图像,将这256个灰度图像通过原加密算法进行加密,得到256个明文像素值矩阵;(2)获取加密后的密文图像的像素值矩阵;(3)将步骤(1)得到的256个明文像素值矩阵上每个位置的像素值,与密文图像的像素值矩阵的对应位置上的像素值进行遍历比较,找出密文图像每个位置的像素值所对应的每个原像素值;对像素进行遍历的过程如下:设256个明文像素值矩阵为M_j(M_j是由全为j(j=1,2,……,256)的灰度图像加密而得到),密文像素值矩阵为C,图像大小为M*N,依次比较明文像素矩阵M_j和密文像素矩阵C的每个位置的像素值,若相同,则将此值M_j(m,n)记录下来,(m,n)为当前像素的位置,那么此相同的值M_j(m,n)所对应的原像素值j就记为密文图像在该位置上的像素值所对应的原像素值;(4)根据密文图像每个位置的每个像素值所对应的原像素值,即可得到加密后的密文图像所对应的原始图像。优选地,所述步骤(1)中,利用原加密算法对256个灰度图像进行加密的过程如下:①将系统参数值、初始条件值代入混沌系统方程,并选取步长Δh=0.0001;②迭代混沌系统方程,得到浮点值序列,利用RK4算法分析此浮点值序列;③将浮点值序列中的浮点值转换成二进制值(32位),并从32位中选取适当的位;④转到步骤②,直到生成100万位大小的比特序列;⑤用NIST测试测试步骤④生成的比特序列,如果通过测试,则此比特序列可以用于加密,并可生成用于加密的S盒,密钥也得以确定;否则调整Δh,或调整步骤③中选取的位数,然后转到步骤①继续生成比特序列;⑥将密钥用RSA算法传给用户;⑦将256*256大小的图像经过比特转换处理;⑧将经过比特转换处理后的图像比特序列和通过NIST测试的可用于加密的比特相序列按位异或;⑨将异或后的比特序列根据所生成的S盒进行S盒替换,最终得到加密后的图像。本专利技术通过S盒替换,能够在不获取密钥的情况下成功破解出加密后的图像,不仅图像恢复率高,而且简化了计算过程;本专利技术不仅适用于原加密算法,而且适用于任何基于S盒的加密系统,具有图像恢复率高、适用范围广的优点。附图说明图1为本专利技术所述原加密算法的流程图;图2为本专利技术的流程图;图3为原始图片、加密后的图片和利用本专利技术所述方案解密后的图片。具体实施方式以下结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其他所有实施例,都属于本专利技术的保护范围。在原加密算法中,首先设计了一个新的混沌系统,基于这个新的混沌系统通过迭代和选择生成满足NIST测试的随机比特序列,然后通过设计生成基于混沌的S盒使加密算法能够更有效的防御攻击,使其更加的安全。如图1所示,原加密过程具体如下:①系统参数值、初始条件值代入混沌系统方程,并选取步长Δh=0.0001;将混沌系统具有高动态特征的事实用于产生数量的随机性,设计出用于RNG技术的新混沌系统,方程式可表示为式(1):其中a、b、c和d均为系统参数,且a=1,b=1,c=2,d=-3;初设条件的值:x0=1,y0=-1,z0=0.01;②迭代混沌系统方程,得到浮点值序列,利用RK4算法分析从混沌系统中得到的浮点值序列;③将浮点值序列中的浮点值转换成二进制值(32位),并从32位中选取适当的位;④转到步骤②,直到生成100万位大小的比特序列;⑤用NIST测试测试步骤④生成的比特序列,如果通过测试,则此比特序列可以用于加密,并可生成用于加密的S盒,密钥也得以确定;否则调整Δh,或调整步骤③中选取的位数,然后转到步骤①继续生成比特序列;在加密算法中引入混沌系统,并添加初始条件和系统参数,在此之后,基于伪随机数生成器生成通过NIST测试的3个阶段的随机比特序列,利用混沌系统的初始条件和系统参数作为密钥进行加密,被用作加密的关键。要加密的大小为256×256的图像经历比特变换处理,最初已经经过比特变换的图像被置于混沌PRNG的y阶段的随机比特处理过程中,异或值被转换为十进制值,并进行了子字节处理。通过使用S-box生成算法生成子字节所需的16×16大小的S盒,然后使用PRNG生成的x和z相进行输出,在子字节过程中的字节转换是通过将它们替换为矩阵上行和列的等同字符来实现的。⑥将密钥用RSA算法传给用户;⑦将256*256大小的图像经过比特转换处理;⑧将经过比特转换处理后的图像比特序列和通过NIST测试的可用于加密的比特相序列按位异或;⑨将异或后的比特序列根据所生成的S盒进行S盒替换,最终得到加密后的图像。S盒生成如下步骤:a:将初始条件和系统参数输入到混沌系统,迭代得到混沌序列(包含x、y和x三个相位的序列);本文档来自技高网
...

【技术保护点】
1.一种基于混沌S盒的图像加密算法的解密方法,其特征在于,依次包括以下步骤:(1)选取像素值为全0、全1、全2……全255的256个灰度图像,将这256个灰度图像通过原加密算法进行加密,得到256个明文像素值矩阵;(2)获取加密后的密文图像的像素值矩阵;(3)将步骤(1)得到的256个明文像素值矩阵上每个位置的像素值,与密文图像的像素值矩阵的对应位置上的像素值进行遍历比较,找出密文图像每个位置的像素值所对应的每个原像素值;对像素进行遍历的过程如下:设256个明文像素值矩阵为M_j(M_j是由全为j(j=1,2,……,256)的灰度图像加密而得到),密文像素值矩阵为C,图像大小为M*N,依次比较明文像素矩阵M_j和密文像素矩阵C的每个位置的像素值,若相同,则将此值M_j(m,n)记录下来,(m,n)为当前像素的位置,那么此相同的值M_j(m,n)所对应的原像素值j就记为密文图像在该位置上的像素值所对应的原像素值;(4)根据密文图像每个位置的每个像素值所对应的原像素值,即可得到加密后的密文图像所对应的原始图像。

【技术特征摘要】
1.一种基于混沌S盒的图像加密算法的解密方法,其特征在于,依次包括以下步骤:(1)选取像素值为全0、全1、全2……全255的256个灰度图像,将这256个灰度图像通过原加密算法进行加密,得到256个明文像素值矩阵;(2)获取加密后的密文图像的像素值矩阵;(3)将步骤(1)得到的256个明文像素值矩阵上每个位置的像素值,与密文图像的像素值矩阵的对应位置上的像素值进行遍历比较,找出密文图像每个位置的像素值所对应的每个原像素值;对像素进行遍历的过程如下:设256个明文像素值矩阵为M_j(M_j是由全为j(j=1,2,……,256)的灰度图像加密而得到),密文像素值矩阵为C,图像大小为M*N,依次比较明文像素矩阵M_j和密文像素矩阵C的每个位置的像素值,若相同,则将此值M_j(m,n)记录下来,(m,n)为当前像素的位置,那么此相同的值M_j(m,n)所对应的原像素值j就记为密文图像在该位置上的像素值所对应的原像素值;(4)根据密文图像每个位置的每个像素值所对应的原像素值,即...

【专利技术属性】
技术研发人员:李名黄蓉李玲玲徐亚楠杨俊雪郝远静
申请(专利权)人:河南师范大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1