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 —(使用 密钥 KAES 加密函数处理)—> 密文 C

解密密文 C —(使用 密钥 KAES 解密函数处理)—> 明文 P

各部分介绍:

AES(高级加密标准)_初始化


从上面过程简单理解对称加密,就是加密和解密过程都是用相同的密钥。

而非对称加密,则是加密和解密过程使用不同的密钥。

对比如下:

AES(高级加密标准)_数据_02

AES 特点

AES(高级加密标准)_初始化_03

采用不同的工作模式(分组密码工作模式),可能会涉及到 初始化向量(IV) 和 填充模式 的选择。

在密码学中,一个密钥只能加密长度等于密钥长度的数据。

为了加密更多的数据,需要对数据进行合理的分组。

分组密码工作模式则是按照不同的密码规则进行分组(用于加密和认证)。

最后一块数据长度不足密钥长度时,则需要使用合适的 填充模式 进行填充,然后加入处理。

分组过程中通常还会加入初始化向量进行随机化,以保证安全。

 

 

参考资料
在线加密网址    http://www.seacha.com/tools/aes.html
在线加密网址(详细设置)    http://tool.chacuo.net/cryptaes