AES加密算法在图像加密上的应用及MATLAB实现
作者:高瑞 杨立波
来源:《科技创新导报》 2014年第14期
高瑞 杨立波
(长春理工大学 电子信息工程学院 吉林长春 130022)
摘要:当今社会,数字图像加密技术的发展备受关注,该文提出了一种结合Logistic混沌映射理论的AES图像加密算法,使得数字图像在传输过程中得到有效的保护。
关键词:图像加密 AES Logistic 混沌映射 MATLAB
中图分类号:TP309 文献标识码:A 文章编号:1674-098X(2014)05(b)-0048-02
随着互联网的发展,数字图像通信成为了信息传输的重要途径。与此同时,数字图像通信的安全引起了人们的广泛重视。将AES算法和混沌序列相结合来实现数字图像加密的方法,既保证了加密的安全性,也缩短了加密的时间。
1 AES介绍
AES是Advanced Encryption Standard(高级加密标准)的简称,是美国联邦政府采用的一种区块加密标准。AES具有可变的分组长度和密钥长度,而且分组长度和密钥长度是不相关的。分组长度有三种情况:128位、192位和256位。AES加密过程包含4个步骤:(1)轮密匙加变换(2)字节替换(3)行移位(4)列混合。
2 Logistic映射
Logistic映射有两种定义形式:第一种形式如式(1)所示。
长春分类信息
已有研究证明当时,映射为混沌。此时的迭代的序列是具有对初值敏感、非周期、扩散的特性。
第二种形式如式(2)所示:
其中,为分岔参数,从开始,混沌系统进入分岔倍周期,当参数逐渐增大到时,系统呈现混沌特性,上述过程就是倍周期通向混沌。由于Logistic映射产生的混沌序列对初值的敏感性等特点,这些特性被广泛应用于很多混沌图像加密的算法中。
3 基于AES的图像加密算法
在利用AES算法对图像进行加密的过程中,第一步即将灰度图像进行轮密匙加变换,就是将轮密匙与原图像矩阵中相对应的字节作异或运算,以得到初步密文。为了增强轮密匙的随机性以提高加密算法的安全性,该文利用Logistic算法来获得轮密匙加变换中需要的所有轮密匙,并将待加密图像的矩阵
中的各个元素与利用Logistic算法获得的轮密匙进行异或运算,接着则继续进行AES算法的其余步骤,以完成对于该图像的加密工作。这种利用Logistic算法代替AES原有的密匙生成方法的做法充分的利用了Logistic算法的有界性、内随机性和普适性,增强了AES算法在图像加密过程中的随机性和不可预测性,提高了加密的安全性能。利用Logistic算法与AES算法相结合的新的图像加密算法的流程图如图1所示。
另外,该文除了将Logistic算法与AES算法相结合,以提高加密算法的随机性之外,还对Logistic算法进行了相应的改进,将加密算法与待加密的图像本身相联系,使得对于不同的待加密图像,Logistic算法的各个参数取值也各不相同,提高了Logistic算法的随机性,增强了整个加密过程的安全性。如式(1)所示为Logistic算法中混沌序列的产生公式。
其中,为分岔参数,从开始,混沌系统进入分岔倍周期,当参数逐渐增大到时,系统呈现混沌特性。目前为止,绝大多数对于Logistic算法的使用都是将混沌序列产生公式中的和在规定的范围内设置为一个常数,这种做法虽然简单,但是并不具备随机性,安全性不高,容易为加密过程带来隐患,因此,本文将和的取值取决于待加密图像本身,使得不同的待加密图像的和的值不同,增强了加密算法的随机性,使得加密过程更加安全可靠。
在这里,假设待加密图像为图像,即共含有个像素,且每个像素的像素值一定在[0,256]的范围内,由于需要满足条件,我们对于的选择如式(4)所示。
其中,表示待加密图像中的一个像素的像素值,由此可见,实质上就是待加密图像中所有像素值的平均数再除以1000,此时的取值范围为[0,0.256],满足条件。而且的取值与待加密图像的像素值有关,对于不同的待加密图像,其像素的平均值在绝大多数情况下是不相同的,从而导致的取值不再是固定常量,而是随着待加密图像的不同,的值也不相同,增大了取值的随机性。
另外,对于μ的选择我们进行了相似的改进,同样使得μ变成一个与像素值有关的变量,而不是一个不变的常量。首先,将待加密图像中的每个像素的像素值对4取余,所得余数有四种情况:0,1,2,3。再将所得余数除以10,再将除后的结果与3.6相加,即为最终的值,这样的取值同样为四种情况:3.6,3.7,3.8,3.9。具体的取值方式如式(5)所示。
其中,表示待加密图像中的任意像素值。这种取值的方法与原来不变的μ值相比,增强了μ值的随机性和多样性,即增强了随机序列的随机性。
这样,我们就得到了一个完整的随机序列,但是并不能直接将随机序列直接用作轮密匙,因为轮密匙中每项的取值范围要求为[0,255],显然随机序列并不符合要求,因此我们将随机序列作如下变换,使之满足轮密匙对于取值范围的要求,变换如式(6)所示。
(6)
经过这样的变换,我们得到的的值均在[0,255]内,因此就得到了AES算法第一步中与待加密图像各像素进行异或运算的轮密匙,与原来的轮密匙相比,经过我们改进过得轮密匙具有更强的随机性,因此使得整个加密过程更为安全、可靠。
4 仿真结果
对于在上面的章节中提出的改进的AES图像加密算法,我们在MATLAB软件的环境下对其进行了仿真实验,仿真结果如图2所示。
如图2(a)所示为待加密图像,图2(b)为利用改进的AES算法对图2(a)中的待加密图像进行加密之后得到的加密图像,从图中可以看出,加密后的图像已经完全掩盖了待加密图像原有的一切图像信息,图2(c)为利用解密算法解密后得到的图像,与原待加密图像相比完全相同,证明解密成功。
5 结语
在该文中,我们提出了一种结合logistic算法的改进的AES加密算法,这种算法将AES算法中轮密匙的选取与待加密图像的像素灰度值相联系,从而使得不同图像在加密过程中的轮密匙都不相同,增强了加密密钥的随机性,从而也增强了加密过程的安全性。另外,利用MATLAB软件将改进后的算法进行了仿真,取得了令人满意的仿真效果。
参考文献
[1]Joan Daemen,Vincent Rijmen著.高级加密标准(AES)算法—Rijndael的设计[M].谷大武,徐胜波译.北京:清华大学出版社,2003.
[2]陈珂.基于Rijndael和混沌序列算法的图像加密系统的研究和设计——硕士学位论文[D].苏州:苏州大学,2006:15.
[3]陈小英,华英.基于AES的医学图像加密算法[J].开发应用,2009(5).
[4]李昌刚,韩正之.图像加密技术新进展[J].信息与控制,2003(8).
[5]陈舒.图像加密算法的发展现状[J].信息科技,2012(1).
[6]吴琼.图像加密算法的性能评价研究[J].长春理工大学硕士学位论文,2012(3).
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论