3.AES
高级加密标准( Advanced Encryption Standard,AES),在密码学中又称Rij nclael加密法j是美国联邦政府采用的一种加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
1) AES选定过程
1997年美国国家标准技术研究所( National Institute ofStandarcls ancl Technology,NIST)
发起征集高级加密标准(Advanced. EncryptionStanclard,简称AES)算法的活动,目的是为了确定一个非保密的、公开披露的、全球免费使用的分组密码算法,用于保护下一世纪政府的敏感信息。AES的基本要求是比三重DES快而且至少和三重DES-样安全,分组长度为128比特,密钥长度为128/192/256比特。
1998年8月20日NIST召开了第一次AES候选会议,并公布了满足候选要求的15个AES候选算法。1999年3月22日召开了第二次AES候选会议,公开了第一阶段的分析与测试结果,
从15个算法中选出了5个AES候选算法,它们是Mars、RC6、Rijndael、Serpent和Twofish。在2000年10月2日,NIST正式宣布Rijnclael将作为AES,理由是Rijnclael更为安全,其能抵抗当前已知的攻击,对其最有效的攻击是穷举攻击;易于软、硬件实现,速度快;密钥建立时间短,灵敏性良好;内存要求低。
Rijnclael是具有可变分组长度和可变密钥长度的迭代分组密码。其分组长度和密钥长度均可独立地设定为32比特的任意倍数,最小值为128比特,最大值为256比特。为满足AES的要求,限定分组长度128≥匕特,密钥长度为128/192/256比特,对应的轮数r分别为10/12/14。