特点:
- 对称密钥: AES是一种对称密钥算法,即加密和解密使用相同的密钥。
- 块密码: AES将数据分为块,每个块的大小是128位。
- 密钥长度可选: AES支持128位、192位和256位三种密钥长度,提供了更高的安全性选项。
- 固定轮次: AES的轮次数取决于密钥长度,分别是10轮、12轮和14轮。
步骤:
- 密钥扩展(Key Expansion): 根据选择的密钥长度对输入密钥进行扩展,生成每一轮所需的子密钥。
- 初始轮(Initial Round): 将输入数据与第一轮子密钥进行异或。
- 多轮加密: 根据选择的轮次数进行多轮的加密操作,每轮包括以下步骤:
- 字节替代(SubBytes): 使用S-Box进行字节替代。
- 行移位(ShiftRows): 对每行进行循环左移。
- 列混淆(MixColumns): 对每列进行线性变换。
- 轮密钥加(AddRoundKey): 将轮密钥与当前状态进行异或。
- 最终轮(Final Round): 在最后一轮中,省略列混淆步骤。
- 输出: 最终加密后的数据即为输出。
安全性:
AES在实际应用中被广泛认可为安全可靠的加密算法。其安全性基于密钥长度和多轮的加密操作,提供了足够的强度,能够抵抗目前已知的攻击手段。