说明
AES加密解密-工具简介

在线AES加密解密工具,提供在线AES加密解密测试,加密解密支持 CBC、CFB、OFB、CTR、GCM、ECB 六种加密模式,输入输出支持 hex、string、base64 三种格式。

AES加密解密-使用说明

对称加密是一种广泛使用的数据加密算法,它使用相同的密钥进行加密和解密。AES(Advanced Encryption Standard)加密算法就是一种广泛使用的对称加密算法。

AES 加密算法的一个数据区块长度为 128 位(16 字节)。如果待加密数据长度不是区块的倍数,一般需要指定填充方式(指明不需要填充的除外)对待加密数据进行对齐。

AES 加密密钥长度支持 128 位(16 字节)、192 位(24 字节)、256 位(32 字节)三种模式,密钥长度必须是这三个长度之一。

加密模式
  1. ECB: 电码本模式(Electronic Codebook Book)。将整个明文分成若干小段后分别加密,需要填充数据进行对齐,安全性较弱,不推荐使用;该模式不支持偏移量 IV。
  2. CBC: 密码分组链接模式(Cipher Block Chaining)。使用初始化向量(IV)增强安全性,每个密文块会影响下一个块;加密不能并行化,解密可以并行化,需要填充数据进行对齐。
  3. CTR: 计算器模式(Counter)。将计数器值作为 IV,和 OFB 相似但每次使用递增计数器;支持并行加解密,一个块中的噪声不会影响其他块,不需要填充。
  4. OFB: 输出反馈模式(Output FeedBack)。可视作流式加密,先对 IV 加密,再与明文异或得到密文;不需要填充,也不会受到噪声块影响。
  5. CFB: 密码反馈模式(Cipher FeedBack)。可视作流式加密,先对 IV 加密,再与明文异或得到密文;需要 IV,解密可以并行化,但加密不能并行化。
  6. GCM: 伽罗瓦/计数器模式(Galois/Counter Mode)。它是 CTR 的扩展,效率高且被 NIST 推荐;该模式需要 IV、Tag Len 和可选的 AAD,输出密文末尾会附带认证标签,并且只能使用 nopadding。
字段说明
  1. 填充方式: 选择是否填充,以及使用何种填充方式进行数据块对齐。不同加密模式可用的填充方式不完全相同,GCM 模式只能使用 nopadding。
  2. 密码: AES 加密解密使用的密码,会使用选定字符集将输入密码转换为字节数组,长度限定为 16、24 或 32 字节。
  3. 偏移量: 初始化向量 IV。ECB 模式不支持该字段,IV 长度为 128 位(16 字节)。
  4. 输入格式: 输入内容格式可选择 string、hex、base64。对于 AES 解密,输入格式不支持 string。
  5. 输出格式: 加密结果或者解密后的原始内容输出格式。对于 AES 加密,输出格式不支持 string。
  6. 字符集: 使用所选字符集将密码和初始化向量转换为字节数组,并用于输入输出格式中的 string 与 byte 互转。
  7. Tag Len: 认证标签(Authentication Tag)长度,单位为比特,只有 GCM 模式支持。加密生成的认证标签会附加在密文末尾,例如 Tag Len 为 128 时,hex 输出的最后 32 个字符即为认证标签。
  8. AAD: 附加认证数据(Additional Authenticated Data),可为空。该数据参与认证验证,但不会被加密,只有 GCM 模式支持。
  9. AAD 格式: 输入的 AAD 数据格式,支持 string、hex、base64,只有 GCM 模式支持。