AES:Advanced Encryption Standard,高级加密标准,是最常的对称加密算法。(加密和解密用相同的密钥)
简单记忆:C = E(K,P):明文P,密钥K,AES加密函数组成E,密文C。
AES是分组密码,即将明文分成一组一组的,每组长度相等,每次加密一组数据,直到整个加密完成。
AES分组的长度只能是128位,即分组为16个字节(每个字节8位),简单的说:明文P必须是长度为16的整数倍,字符串或数字。
密钥的长度可以使用128位、192位或256位,简单的说:密钥K可以是长度为16,24,32的字符串或数字。分别对应的加密轮数为10,12,14。
至于为什么会是这样呢?AES规范是这么写的。详细的解释见如下链接:
https://blog.csdn.net/qq_28205153/article/details/55798628,有图,有原理解析,这里就不啰嗦了。
AES只是基本算法,实现AES有几个模式:ECB、CBC、CFB、OFB,详细说明见如下链接:
https://blog.csdn.net/aaaaatiger/article/details/2525561
测试环境