AES(高级加密标准)
AES 简介
高级加密标准(英语Advanced Encryption Standard,缩写AES)在密码学中又称 Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于 2001 年 11 月 26 日发布于 FIPS PUB 197,并在 2002 年 5 月 26 日成为有效的标准。2006 年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
该算法为比利时密码学家 Joan Daemen 和 Vincent Rijmen 所设计,结合两位作者的名字,以 Rijndael 为名投稿高级加密标准的甄选流程。(Rijndael 的发音近于 “Rhine doll”)
对称加密
AES 属于对称加密算法
简单的加密解密过程如下:
加密:明文 P —(使用 密钥 K,AES 加密函数处理)—> 密文 C
解密:密文 C —(使用 密钥 K,AES 解密函数处理)—> 明文 P
各部分介绍:
、
从上面过程简单理解对称加密,就是加密和解密过程都是用相同的密钥。
而非对称加密,则是加密和解密过程使用不同的密钥。
对比如下:
AES 特点
采用不同的工作模式(分组密码工作模式),可能会涉及到 初始化向量(IV) 和 填充模式 的选择。
在密码学中,一个密钥只能加密长度等于密钥长度的数据。
为了加密更多的数据,需要对数据进行合理的分组。
分组密码工作模式则是按照不同的密码规则进行分组(用于加密和认证)。
最后一块数据长度不足密钥长度时,则需要使用合适的 填充模式 进行填充,然后加入处理。
分组过程中通常还会加入初始化向量进行随机化,以保证安全。
参考资料
在线加密网址 http://www.seacha.com/tools/aes.html
在线加密网址(详细设置) http://tool.chacuo.net/cryptaes