AES(高级加密标准)是一种对称密钥加密算法,被广泛用于保护数据的机密性。
结构: AES算法使用替代(SubBytes)、置换(ShiftRows)、混淆(MixColumns)和轮密钥加(AddRoundKey)等四种基本操作来处理数据块。
密钥长度: AES支持128位、192位和256位三种密钥长度,分别称为AES-128、AES-192和AES-256。
轮数: 轮数取决于密钥长度,分别为10轮(128位密钥)、12轮(192位密钥)和14轮(256位密钥)。
ECB模式(电子密码本模式): 将明文分成块并分别加密,每个块独立处理。相同的明文块将加密成相同的密文块,可能存在安全性问题。
CBC模式(密码块链接模式): 使用前一个块的密文与当前块的明文进行异或操作,增强了安全性。需要一个初始化向量(IV)来加密第一个块。
CFB模式(密码反馈模式): 将前一个密文块与密钥流进行异或,再与明文进行异或。这种模式使得每个密文块的加密都依赖于前一个密文块。
OFB模式(输出反馈模式): 将前一个输出块与密钥流进行异或,再与明文进行异或。类似于CFB模式,但不同的是OFB不直接依赖前一个密文块。
CTR模式(计数器模式): 使用一个计数器和密钥流进行异或,得到密文。计数器的值会逐块增加,确保相同的明文块不会产生相同的密文块。
这些模式提供了不同的安全性和适用性,具体选择取决于应用的需求和安全性要求。