随着因特网的发展,信息传输及存储的安全问题成为影响因特网应用发展的重要因素。信息安全技术也就成为了人们研究因特网应用的新热点。 信息安全的研究包括密码理论与技术、安全协议与技术、安全体系结构理论、信息对抗理论与技术、网络安全与安全产品等领域,其中密码算法的理论与实现研究是信息安全研究的基础。
AES加密标准
1977年1月公布的数据加密标准DES(Data Encrption Standard)经过20年的实践应用后,现在已被认为是不可靠的。1997年1月美国国家标准和技术研究所(NIST)发布了高级加密标准(AES- FIPS)的研发计划,并于同年9月正式发布了征集候选算法公告,NIST希望确定一种保护敏感信息的公开、免费并且全球通用的算法作为AES,以代替DES。NIST对算法的基本要求是:算法必须是私钥体制的分组密码,支持128位分组长度和129、192、256bits密钥长度。
AES的研究现状
从1997年NIST发布了高级加密标准AES的研发计划到现在,对AES的研究大致可以分成三个阶段。第一阶段是从1997到2000年,研究的主要方向是提出候选算法并对各候选算法的性能进行分析。在此期间共提出了十五个候选算法,最终Rijndael算法胜出并用于AES中。Rijndael算法是一种可变分组长度和密钥长度的迭代型分组密码,它的分组长度和密钥长度均可独立地指定为128bits、192bits、256bits,它以其多方面的优良性能,成为AES的最佳选择。Rijndael算法能抵抗现在的所有己知密码攻击,它的密钥建立时间极短且灵活性强,它极低的内存要求使其非常适合在存储器受限的环境中使用,并且表现出很好的性能。第二阶段是从2000年Rijndael算法胜出后到2001年NIST发布FIPS PUBS 197文件前。在此阶段对AES的研究转到了对Rijndael算法的研究和分析、设计AES的工作模式上。第三阶段是从FIPS PUBS 197发布到现在。在此阶段,研究的方向可以分成两个主要方向:一个是继续研究Rijndael算法本身的性能,特别是其安全性分析;另一个就是AES的实现和应用的研究。
算法设计主要研究算法设计遵循的原则和整体结构,为性能分析提供了一条途径。从算法的结构上分析算法性能是简单有效的,研究算法整体结构上的缺陷为提出新的密码分析方法提供新的手段。另一方面,研究AES的算法设计对研发新的分组密码提供了设计原则和参考。目前分组数据加密算法的整体结构有两大类:Feistel网络、非平衡Feistel网络和SP网络。
性能分析主要研究算法的各项特性,性能分析主要可以分为实现分析和密码分析两类。实现分析主要研究AES算法可实现的能力。当前实现性分析主要集中在AES的硬、软件实现的难易度和实现算法的效率等领域中。密码分析则是在理论上对现有加密算法进行研究的主要方向。密码分析主要研究AES算法抵抗现有己知密码攻击的能力,即算法的安全性分析。当前主要攻击手段有:强力攻击、差分密码分析、 线性密码分析、Square攻击和插值攻击等。
但是随着密码分析技术的不断发展,积分分析、功耗分析和代数攻击等新的密码分析手段陆续出现。它们己成为密码分析新的研究方向。
AES的实现
对于AES实现的研究主要集中在软件实现和硬件实现两个领域中。AES标准所选择的Rijndael算法遵循了分组密码设计的实现性原则,十分方便在软、硬件上实现。从AES实现的角度上看,当前研究的主要方向在各个算法步骤的优化实现。算法步骤针对不同的实现环境进行优化后,在应用中能获取更好的实际数据加密效果。其主要的研究成果集中在S-盒的生成算法优化、轮变换过程优化和密钥扩展优化三个方面。下面就软件实现和硬件实现在这三个方面的研究现状做一个简单介绍:
(1) 在微机上通过软件实现。这是利用AES算法保障计算机信息安全,特别是网络中信息传输与存储安全的主要途径。在软件实现中,轮变换过程优化则是软件实现算法优化的主要研究方向。密钥扩展优化也是研究的重点之一。AES所提供的密钥扩展方案保证了密钥扩展过程中的雪崩效应,也保证了密钥扩展方案的易实现性。此外,将其他的理论研究应用到分组数据加密算法中,也是实现研究的一个重要方向。
(2) 通过硬件芯片实现。AES算法对于存储空间的要求较小,算法过程相对比较简单,特别是经过有针对性的实现算法优化和精简后很易于利用硬件电路实现,因此现在许多相关的商业产品都是基于密码芯片的。
AES研究意义
目前,DES加密标准正在逐渐淡出加密标准的舞台,新加密标准AES正在获得越来越多的重视及应用。面对未来的发展,对AES产品的需求是非常巨大的。因此,对AES实现的探讨和研究具有很大的理论意义和实践意义。