AES
AES是密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
严格地说,AES和Rijndael加密法并不完全一样,Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128位,也就是说,每个分组为16个字节(每个字节8位)。密钥的长度可以使用128位、192位或256位。密钥的长度不同,推荐加密轮数也不同密钥长度可以是128,192或256位。密钥的长度不同,推荐加密轮数也不同;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256位为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。
大多数AES计算是在一个特别的有限域完成的。
AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。
加密时,密钥的长度不同,**AES的核心就是实现一轮中的所有操作。**推荐加密轮数也不同各轮AES加密循环(除最后一轮外)均包含4个步骤:
AddRoundKey(轮密加钥)