7.4 高级数据加密标准—AES

DES算法漏洞的发现加速了对称加密算法的改进,通过对DES算法的简单改造得到的DESede算法虽然在一定程度上提升了算法安全强度。但DESede算法低效的加密实现和较慢的处理速度仍不能满足我们对安全的要求。AES算法正是基于这些缘由而诞生。

7.4.1 简述

1997年,NIST发起了征集DES替代算法—AES(Advanced Encryption Standard,高级数据加密标准)算法的活动。1997年9月12日,NIST发布了征集算法的正式公告和具体细节,要求AES算法要比DESede算法快,至少与DESede算法一样安全,具有128位的分组长度,支持128位、192位和256位的密钥长度,同时要求AES要能够在世界范围内免费使用。

1998年8月20日,NIST在“第一次AES候选大会”上公布了满足条件的15个AES的候选算法,继而又从中筛选出5个候选算法,包括MARS、RC6、Rijndael、Serpent和Twofish。

2000年10月2日,由Daemen和Rijmen两位比利时人提出的Rijndael算法,以其密钥设置快、存储要求低,在硬件实现和限制存储的条件下性能优异当选AES算法。

经过验证,目前采用的AES算法能够有效抵御已知的针对DES算法的所有攻击方法,如部分差分攻击、相关密钥攻击等。至今,还没有AES破译的官方报道。

AES算法因密钥建立时间短、灵敏性好、内存需求低等优点,在各个领域得到广泛的研究与应用。

目前,AES常用于UMTS(Universal Mobile Telecommunications System,通用移动通信系统)。基于SSH(Secure Shell,安全外壳)协议的一些软件也使用了AES算法。图7-3展示了SecureCRT软件如何配置加密算法。

figure_0241_0055

图 7-3 SecureCRT配置界面中的加密算法

除了常用的SSH软件外,在一些无线路由器中也使用AES算法构建加密协议。