加密和密码学的毕业论文AES加密算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
AES高级加密标准
随着Internet的迅猛发展,基于Internet的各种应用也日新月异,日益增长。但是,由于Int ernet是一个极度开放的环境,任何人都可以在任何时间、任何地点接入Internet获取所需的信息,这也使得在Internet上信息传输及存储的安全问题成为影响Internet应用发展的重要因素。正因为如此,信息安全技术也就成为了人们研究Internet应用的新热点。
信息安全的研究包括密码理论与技术、安全协议与技术、安全体系结构理论、信息对抗理论与技术、网络安全与安全产品等诸多领域。在其中,密码算法的理论与实现研究是信息安全研究的基础。而确保数据加密算法实现的可靠性和安全性对于算法理论应用到各种安全产品中起到了至关重要的作用。对各类电子信息进行加密,以保证在其存储,处理,传送以及交换过程中不会泄露,是对其实施保护,保证信息安全的有效措施。
1977年1月数据加密标准DES(Data Encryption Standard)正式向社会公布,它是世界上第一个公认的实用分组密码算法标准。但DES在经过20年的实践应用后,现在已被认为是不可靠的。
1997年1月2日NIST发布了高级加密标准(AES-FIPS)的研发计划,并于同年9月12日正式发布了征集候选算法公告,NIST希望确定一种保护敏感信息的公开、免费并且全球通用的算法作为AES,以代替DES,用以取代DES的商业应用。在征集公告中,NIST对算法的基本要求是:算法必须是私钥体制的分组密码,支持128bits分组长度和128,192,256bits密钥长度。经过三轮遴选,Rijndael最终胜出。2000年10月2日,NIST宣布采用Rijndael算法作为新一代高级加密标准。Rijndael的作者是比利时的密码专家Joan Daemon博士和Vincent Rijmen博士。
美国国家标准和技术研究所(NIST)在1999年发布了FIPS PUB 46-3,该标准指出DES只能用于遗留系统,同时3DES将取代DES。3DES密钥长度为168bits,可克服穷举攻击问题,3DES的底层加密算法对密码分析攻击有很强的免疫力,其根本缺点是用软件实现该算法的速度慢,由于此缺陷,3DES不能成为长期使用的加密算法标准。
虽然AES己经生效,但DES和3DES还大量地在各种信息安全产品中使用。市场上的AES的商用产品还很少,但AES产品取代DES产品已是必然。对AES的实现和应用进行探讨和研究就具有较大的理论和现实意义。
2001年11月26日联邦信息处理标准出版社发布了正式的AES标准即FIPS PUBS 197,其中制定的标准生效时间为2002年5月26日。AES最终会取代3DES,但过程可能需要几年时间。
Rijndael算法是一种可变分组长度和密钥长度的迭代型分组密码,它的分组长度和密钥长度均可独立地指定为128bits,192bits,256bits,它以其安全性和多方面的优良性能,成为AES的最佳选择(在高级加密标准规范中,密钥的长度可以是128,192,256bits三者中的任意一种,但分组长度只能是128bits)。Rijndael算法能抵抗现在的所有已知密码攻击,用S盒作为非线性组件,表现出足够的安全性能,其采用的实现方式非常利于防止能量攻击和计时攻击,算法利
用了掩码技术防止这些攻击,它在广泛的计算环境中的硬件和软件实现性能都表现得非常优秀,它固有的分布执行机制使得密钥建立时间极短且灵活性强,非常利于在各种平台上执行,它对R AM和ROM的要求低,使其非常适合在存储器受限的环境中使用,并且表现出很好的性能。其有很好的并行执行能力。
AES对所有已知的攻击具有免疫性,其设计简单,在各种平台上执行速度快而且代码紧凑。AES 不使用Feistel结构,而是每一轮都使用代换和混淆并行地处理整个数据分组。AES输入的密钥被扩展成扩展轮密钥。AES的结构包括四个不同阶段:字节代换,行移位,列混淆,轮密相加,它们提供了混淆,扩散以及非线性功能。AES算法结构简单,由10个加密轮次组成。AES应用了在有限域中的乘法和加法运算法则。AES每个阶段均可逆,解密算法中用相对应的逆函数即可。
从AES的应用看,目前AES算法主要用于基于私钥数据加密算法(对称密钥加密算法)的各种信息安全技术和安全产品中,AES通常被认为是DES算法的取代者,为原有的数据加密应用提供更强的数据安全保障。所以在原来DES标准应用的领域中,AES存在着巨大的应用价值。当前网络技术发展迅猛,所以对于基于网络的数据加密的要求也日益提高,AES的应用首先体现在了网络信息安全领域中。在AES标准公布前,IPSec协议中ESP(封装安全负载)所用的数据加密算法主要用的是DES和其代替者3DES,随着AES标准的公布,IETF的IPSec工作组下一步正试图使AES成为ESP使用的默认加密算法,要求所有IPSec实现必须兼容AES加密算法。现在大多数提供VPN设备和解决方案的公司都已经使用AES加密算法来代替原来产品中使用的DES加密算法,并将此作为宣传企业产品的重要砝码。
AES在网络技术中另一个主要应用是无线网络应用。由于无线网络的通信信道相对于有线网络来说是一个更为开放的环境,安全性的要求相对于有线网络来说将会更高。目前,无线网络的国际标准主要有两个:一个是用于WLAN的协议(Wi-Fi);另一个是用于WMAN的协议(WiMAX)。这两个协议在制定的初期所采用的安全机制中主要使用的分别是RC4和DES, 2004年后这两个协议也都将AES加入到协议的安全机制中。此外,其他的一些无线网络技术为了保障数据传输安全性也都使用了AES。ZigBee技术就是一个典型的代表,它作为新一代的无线传感器网络采用了 Zi gBee协议(一种低功率WPAN)。ZigBee技术是一种近距离,低复杂度,低功耗,低数据速率,低成本的双向无线通信技术,主要适合于自动控制和远程控制领域,可以嵌入各种设备中。Zig Bee的MAC层使用了AES算法进行加密,并且它基于AES算法生成一系列的安全机制,用来保证MAC帧的机密性,完整性,一致性和真实性。
除了保障网络应用的信息安全外,AES在其他的信息安全领域中也有着广泛的应用。从AES硬件实现的应用上看,主要研究的方向有射频IC(集成电路)卡中的数据安全,智能安全卡和对硬盘数据的加密等方面。目前射频IC卡在国内的应用范围很广泛,从市民乘车使用的公交IC卡、学校食堂使用的饭卡到新一代的居民身份证中都嵌入了IC芯片。在IC卡中所存储的数据通常都是含有持卡人的各人隐私信息的,这些信息如果不经过加密处理很容易在不经意间从各种渠道泄露出去。因此如何在射频IC卡中加入数据加密功能成为AES应用研究的方向。
从AES软件实现的应用上看,其应用领域也十分广泛,包含语音、视频信息的加密,数据库中的数据加密以及当前关注度很高的电子商务安全等。随着计算机性能的提高,尤其是对于多媒体信