1 / 9
文档名称:

基于选择空间的AES密钥扩展算法.doc

格式:doc   大小:68KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于选择空间的AES密钥扩展算法.doc

上传人:sssmppp 2020/9/30 文件大小:68 KB

下载得到文件列表

基于选择空间的AES密钥扩展算法.doc

相关文档

文档介绍

文档介绍:基于选择空间的AES密钥扩展算法摘要:传统AES密钥扩展算法在已知某轮子密钥的情况下容易遭受攻击,为了避免这种情况的发生,通过采用单向性思路,使用轮密钥常驻内存的工作方式以提高数据吞吐率,并提出基于选择空间的AES密钥扩展算法,对原有算法的加密强度进行了改善。通过FPGA仿真实现,实验结果表明,该方法既能保证密钥扩展算法的安全性,亦能充分结合FPGA设计高效并行的特点,提高其运行效率。关键词:AES;密钥扩展算法;选择空间;FPGA中图分类号:TN911?34; TP309文献标识码:A文章编号:10047373X(2013)20?0027?040引言AES算法由于自身结构简单并能够允许128位、192位、256位可变密钥长度,且能够在不同的硬件上高效工作,目前已得到广泛的应用。目前对于AES算法的研究主要集中于其自身安全性的分析[1?2],以及对于专用硬件实现方案的改进及分析[3?4]。传统的AES算法实现方案在设计初期即确定了固定的密钥扩展算法,特别是专用的硬件加密模块[5],为了获得更高的数据加密吞叶•能力,一般采用扩展密钥常驻工作内存的方式,一方血减少了密钥编排方案的计算代价,另一方面单一的加密方式避免了出错的概率。但如果加密模块中的密钥扩展算法已被攻击方获取,或者本身结构较为简单,一旦一轮子密钥被攻击方获知,那么对方只需要通过有限的运算即可获取全部密钥,继而知悉所有明文详情。在这种情况下为保证加密通信的安全性,传统的方法是必须通过更换密钥以达到通信的再次安全,但在密钥扩展算法已被敌方获取的情况下,密钥更换的信道只有在被确保绝对安全的情况下才是有效的。本文在研究AES算法加密过程以及密钥扩展算法特征的基础上,提出了利用原有子密钥空间的基于选择空间的密钥扩展算法,通过这种方式间接的达到了更换密钥的效果。针对子密钥被敌方获取的情况,这种设计方式可以有效的保证整个加解密过程的安全性,同时也充分的利用到了传统设计方式中扩展密钥常驻工作内存的特点,直接对扩展密钥加工以产生新的轮密钥,并通过FPGA进行仿真验证。该算法充分利用FPGA并行高效的特点,与传统单一FPGA7AES加密算法相比具有更高的安全性和实用性。1传统AES的密钥扩展算法分析AES的密钥扩展算法又称密钥编排方案,由密钥的扩展和轮密钥选取组成。而密钥的扩展指的是如何由现有密码密钥产生新一轮Expand?Key的过程,同时它必须根据以下准则[5]进行设计。(1) 效率工作内存:应当能用少量的工作内存来执行密钥编排方案。性能:在多种处理器上均应具有高性能。(2) 对称消除:应半使用轮常量来消除对称性。(3) 扩散:应当将密码密钥的羌分有效地扩散到扩展密钥中。(4) 非线性:应该具有足够的非线性,以便有效的抵御差分和线性密码分析。针对AES的密钥扩展算法[6],以10轮128位初始密钥长度为例,由于加密的过程要求一个轮密钥用于初始密钥加法,而且每轮都需要一个轮密钥,因此Expanded?Key(扩展密钥)屮的全部比特数等于分组长度乘以轮数加1,即总共需要11轮密钥。将128位初始密钥排成一个4X4的字节矩阵,因此在这个矩阵附加40列后产生扩展密钥空间。将第i列定义为W(i),那么前4个列即为W(0),W(1),W(2),W(3)。依据初始密钥循环产生下一轮子密钥,密钥扩展规则如式(1)所示[7]