资源描述
7th International Conference on Communication, Computing and Virtualization 2016
AES Based Text Encryption Using 12 Rounds with Dynamic Key selection
Nishtha Mathura, Rajesh Bansodeb*
摘要:
数据安全在信息交流系统中扮演一直扮演着重要的角色,我们知道,密码学中密钥的随机性越大,那么密码体系就越安全,同时密码学算法也就越复杂。近些年来,网络安全越来越受人们的重视。密码学在信息安全领域担当着抵挡各式各样攻击的一个重要的角色。高效且新式的密码学技术能够帮助我们减少这种安全威胁。众所周知AES是一款强大的对称加密的密码学算法,它使用查找表来增加它的性能。Cache计时攻击则是用一个已知的密钥来推算一个未知的密钥的计时细节。这篇论文提出了延伸一个公共密钥加密系统来支持一个私钥加密系统,这就是将AES与ECC相结合。之前的结果是在AES密钥长度为128bit并且迭代次数为10次基础下,计算出来的。为了增加竞争力和减少缺点提出了一种新的混合加密方案。主要的参数重点放在密钥的长度上。考虑到迭代数量与旁路攻击,我们将密钥长度增加到192bit,并且迭代次数增加到12次。
介绍:
保护信息安全的能力是电子商务与数据安全的核心。密码学大约是保护数据技术中最重要的了。AES,高级加密标准,是一款对称密钥加密标准,它被广泛的使用在保护机密数据这种情况下。对称密钥(AES)有很高的加解密效率,很适合被用来加密相对较长的明文,椭圆曲线(ECC)密钥管理很拿手,所以适合用来加密密钥和进行电子签名。这篇论文提出了一个将ECC与AES结合的加密方案,用ECC来加密和传递AES的密钥,而用AES来加解密交流用的数据。
1.1背景:
AES是一个对称的分组密码系统,他使用的是置换与交换网络。AES数据分组长度与密钥长度能够根据要求进行改变。三种密钥长度为别是:128bit,192bit,256bit。其对应的迭代次数则分别是10轮,12轮与14轮。AES算法主要分为三个方面:轮换,互换和密钥扩展
每一轮的变形分为非线性层,线性混合层和密钥扩展层。AES加密过程如下图1.1所示。
每一轮都是由下面四步组成:
SubBytes Transformation:在这一步操作中,一个置换盒子(S盒)用字节替换的方法替换了明文矩阵(state matrix)的每一个字节。对于如何生成S盒,在有限域GF256中,计算每一个字节的逆元素,然后通过一定的仿射变换得到S盒。
Shift Transformation:在这一步操作中,对于矩阵每一行的字节来说,没有变化。变化的方式为:第二行,第三行,第四行和第五行分别向左移动,一个,两个,三个,四个单位长度。
MixColumns Transformation:在这一步操作中,每一列中字节都与一个域元素做有限域中的运算,当然这些都是按一个固定的多项式矩阵进行的。这一步改变了密文的设定,尽管所有的字节表面看起来都差不多。而且不可能找到可逆的多项式矩阵来反向操作这一系列列变换。
AddRoundKey Transformation: 在这一变换中,有一步是将轮密钥与state做异或运算。这个操作是每次一列一列的进行的。同样相加的还有每一个轮密钥元素与列矩阵每一个元素。
旁道攻击是一种密码分析攻击,但是旁道攻击并不聚焦于可以得到的密文,更多的是去寻找密码程序在执行时候出现的缺陷。对手通过搜集计时消息,不同区域的辐射,电量消耗分析,电脑高速缓存存储器内容等等来发动旁道攻击。AES使用一系列的表查找来增加它的性能。但是因为这些表不能全部放入电脑高速缓存存储器中,所以电脑高速缓存存储器进行加密时候进行特定匹配操作十分的频繁,这样就产生了各式各样的查找时间,因此不同的加密时间对应了不同的明文与不同加密时所用的密钥。
因为旁道攻击依赖于的是从旁道泄漏的信息与机密数据之间的关系,所以对策主要分为两大主要的类型:
(1) 消除或者减少不必要的信息的泄漏。
(2) 消除泄漏信息与机密数据之间的关系,这可以通过如下方法来实现,主要思想是使得泄漏的信息与机密数据之间没有联系或者不相关,实现这一步可以向密文之中添加随机部分,这些随机成分直到我们完成解密之后再进行去除。
对称加密(AES)拥有很高的效率,这使得它很适合加密一段相对较长的明文。而椭圆曲线加密(ECC)的优势在于密钥管理,这使得其在密钥加密与电子签名方面很有优势。一个混合AES 与ECC的加密模式是这篇论文的主旨。使用ECC来加密与传输AES的密钥,而使用AES来加密用于交流的信息。
1.2 AES—ECC混合加密算法的优势
加密设备使用额外的输入输出信息,比如产生数据的时间,这些可能被用于旁道攻击,因此他们对于加密系统来时将会导致一个巨大的威胁。我们的目的就是生成一种有效减轻方法来解决数据安全问题,这种算法解决这种攻击通过运行这种混合加密算法.
(1)由于AES的密钥被ECC加密和传输。所以密钥不必要单独被传输。
(2)密钥的管理方法如ECC一样,公钥是公开的,唯一要保持机密是解密用的私钥。
这个工程的目的是运行一个混合的加密算法,这个算法是一个高级加密标准(AES)和椭圆曲线加密(ECC)的混合物,其中ECC保证AES的密钥传输安全。我们研究同时也关注变换计时器攻击和其他类似的攻击,这个模型的目的是生成一个安全的客户端数据交流环境。
该算法的时间消耗主要集中在AES加密数据,和ECC加密AES的密钥。这时候,计时器攻击这种旁道攻击会被采用,通过计算一个已知的的密钥的时间长度来推测一个位置密钥。
2计划工作
AES是一种对称加密算法,使用了一系列的表查找来增加其性能。因为这些表并不是完全合适计算机高速缓存存储器,所以计算机高速缓存存储器请求成功及失败在加密过程中十分常见。这会引起在表查找过程中加密时间因输入信息和加密密钥的不同而不同。而计算机高速缓存存储器计时攻击就是通过加密一个已知的的密钥来推测一个未知的密钥。
在这篇文章中,一种改进的AES算法将被用于加密明文,而ECC算法在这里则被用于加密AES密钥,进而全面的增加了这个系统的安全性,还能过阻止可能的通过计时器攻击等一系列旁道攻击。我们这里使用的是密钥长度为192bit,迭代次数为12轮的AES加密模型。
2.1程序框图
2.2改进算法
(a)用户要发送的数据块被加密为了安全起见。
(b)被用于加密明文数据块的是AES算法
(c)已经产生的AES密钥更进一步被ECC加密
(d)已经产生的AES密钥被提供给用户,用来解密AES密钥块当在解密的时候
(e)加密的数据块的时间被计算出来并储存
(f)在解密AES密钥之后,已经加密的信息再被AES的密钥解密成最原始的版本,然后用户开始使用它们。
(g)共计模型是计算从服务器加密输出的时间,用各种各样随机长度的有效密钥
(h)在相关的程序中,攻击者模型比较计时的详细信息,然后生成可能密钥空间,这将被用于推测出确切的密钥组合。
3希望的结果
(a) 工程的实现起始于设计一个框图来使得AES与ECC混合起来,来验证如何将两个算法联合起来在一个GUI程序中。
(b) 为了检验与分析框图,我们通过整合框图和比较研究混合AES与ECC的机制。这写将在AES密钥块加密完数据块之后开始。
(c) 实施ECC加密AES密钥,然后上传ECC加密密钥跟AES加密数据
(d) 解密AES密钥块,这要通过ECC的私钥来完成,然后使用AES的密钥来解密加密的数据。
(e) 来检查相应的加密解密数据之间的计算错误,下面的几项参数需要被检验:
密钥长度
轮数
算法
密钥的内容
攻击表现
(f)检验共计模型包括:攻击各个阶段的表现,和最终结果的表现,以及相应的对策的表现。
4结果
下面显示的结果包括有:一个text文件被AES算法使用192bit的密钥加密,同时加密的轮数为12轮。结果如下图所示:
在图4.1中,用户被要求输入一个动态的密钥,然后选择需要被AES加密的文件。当输入完成密钥与选择完成text文件之后,点击“encrypt”键,程序开始加密运行过程,加密的结果显示如下:
在图4.2.a中,text文件加密的输出从第一轮开始显示一直到第六轮,这张图显示了AES加密的两个操作过程即Subbyte操作与Shiftrow操作。
在图4.2.b中,text文件的输出也显示了第一轮到第六轮的结果,这张图显示了AES加密算法的另外两个操作过程,即Mixcolumns操作与AddRoundkey操作。
在图4.3.a中显示了,text文件被加密时第七轮到第十二轮的过程,这张图显示的AES算法加密时两个操作,即Subbyte操作跟Shiftrow操作。
在图4.3.b中,显示了text文件被加密时候第七轮到第十二轮的操作,这张图显示的AES加密算法加密时候两个操作过程,即Mixcolumns跟AddRoundkey操作。
图4.4显示的是动态密钥被AES加密算法使用的过程,密钥被称为动态的是因为,它是由用户产生的并且在代码中不是静态的,因此根据用户的要求,这个密钥是可以变化的。
总结:
AES是一种对称加密算法,使用一系列的表查找来增加其性能,因为这些表并不能完全输入到计算机高速缓存存储器中,所以计算机高速缓存存储器在运行时候会产生不同的查找时间与加密时间,并且这些时间随着所要加密的明文与加密时候使用的密钥的不同而不同。计算机高速缓存存储器计时攻击就是使用已知的密钥来推测未知的密钥。在本文中,一个改进的AES加密算法用来加密明文,它使用ECC加密算法来加密自己的密钥,这样可以实现通过软件程序来增加整个系统的整体安全性,而且还能够抵御可能的计时方式的旁道攻击。这里为了提高这个混合模型的性能,我们采用的AES加密算法,使用的密钥长度为192bit,迭代次数为12次。
参考文献:
[1] X Li, J Chen, D Qin and W Wan, “Research and Realization based on hybrid encryption algorithm of improved AES and ECC,” in IEEE International Conference on Audio Language and Image Processing (ICALIP2010), pp. 396-400, Nov. 2010.
[2] R Pahal and V kumar, “Efficient Implementation of AES ,” in International Journal of Advanced Research in Computer Science and Software Engineering , Vol. 3, Issue 7, July 2013,pp.290-295.
[3] D Jayasinghe, J Fernando, R Herath and R Ragel, “Remote Cache Timing Attack on Advanced Encryption Standard and Countermeasure,” in IEEE International Conference onInformation and Automation for Sustainability (ICIAFs),pp. 177-182, Dec. 2010.
[4] R Pahal and V kumar, “Efficient Implementation of AES ,” in International Journal of Advanced Research in Computer Science and Software Engineering , Vol. 3, Issue 7, July 2013,pp.290-295.
[5] C JunLi, Q Dinghu, Y Haifeng, Z Hao and M Nie,“Email encryption system based on hybrid AES and ECC,” in IET International Communication Conference on Wireless Mobile and Computing (CCWMC2011), pp. 347 - 350, Nov. 2011.
[6] V Patil, Prof.Dr.Uttam.L.Bombale ,P Dixit, “Implementation of AES algorithm on ARM processor for wireless network, ” in International Journal of Advanced Research in Computer and Communication Engineering ,Vol. 2, Issue 8, August 2013,pp.3204-3209.
[7] H. Tange and B. Andersen, “Attacks and Countermeasures on AES and ECC,” in IEEE International Symposium onWireless Personal Multimedia Communications (WPMC), pp. 1-5, Jun. 2013.
展开阅读全文