一、简述
DES的不安全性以及DESede算法的低效,催生了这个AES算法(advanced Encryption Standard)。这个算法比DES要快,安全性高。密钥建立时间段、灵敏性好、内存需求低。在各个领域应用广泛。目前,AES通常用于移动通信系统以及一些软件的安全外壳。还有一些无线路由器中也是用AES算法构建加密协议
二、AES算法的概要说明
算法 | 密钥长度 | 密钥长度默认值 | 工作模式 | 填充方式 | 备注 |
AES | 128/192/256 | 128 | ECB/CBC/PCBC/CTR/CTS/CFB/CFB8至CFB128/OFB/OFB8至OFB128 | NoPadding/PKCS5Padding/ISO10126Padding | java6实现。如果使用256位的密钥,需要无政策限制文件(Unlimited Strength Jurisdiction Policy Files) |
AES | 128/192/256 | 128 | ECB/CBC/PCBC/CTR/CTS/CFB/CFB8至CFB128/OFB/OFB8至OFB128 | PKCS7Padding/ZeroBytePadding | Bouncy Castle实现 |
三、AES算法的java6实现代码
四、AES算法总结
1、看了半天,结合上次的DES以及DESede算法其实都是可以使用上述算法实现的,只不过我们换个算法的名称就行了。同时注意区分支持的工作模式和填充模式
2、我们可以参考AES算法的实现,完成RC2、RC4和Blowfish等算法的实现
3、那个无政策限制权限文件记得从以前的博文中找下,就是到美国的官方网站下载文件覆盖到本地的jdk对应文件夹就行了。算法涉及出口也得做限制,地方保护主义的国际体现。
注: 转载自http://blog.csdn.net/kongqz/article/details/6287257