review of AES

 · 2019-10-4 · 次阅读


AES

AES(Advanced Encryption Standard)
对称加密算法也就是加密和解密用相同的密钥。
AES是一种分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。再AES标准规范中,分组长度只能是128位,也就是说,每个分组为16个字节(每个字节8位)。密钥的长度可以使用128位、192位、256位。密钥长度不同,推荐加密轮数也不同。
AES 密钥长度 分组长度 加密轮数
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
AES的处理单位是字节,一般地,明文分组用字节单位的正方形矩阵描述,称为状态矩阵。在算法的每一轮,状态矩阵的内容不断发生变化,最后的结果作为密文输出。
AES-192解决办法
首先采用自己设计的扩展方法扩展随机生成的明文与密钥。然后在类之中写入方法,分别是密钥扩展,轮密钥加,字节替代,行移位(这里解密就不说了类似的)。然后用明文所存储的变量调用这些方法,并采用循环,最后达到12轮的加密。