比较完整构造
| 模式 | 本工具 IV / nonce | 填充 | 认证 |
|---|---|---|---|
| GCM | 12 字节 nonce | 无 | 128 位 tag |
| CBC | 16 字节 IV | PKCS7 | 无 |
| CTR | 16 字节计数器,低 64 位计数 | 无 | 无 |
密码模式固定使用 GCM。CBC 与 CTR 仅作原始密钥兼容,并显示警告;这不是让你用裸模式替换已有安全协议。
GCM 为什么可能拒绝解密
GCM 验证密文和 AAD 的 tag。密钥、nonce、密文、tag 或 AAD 任一变化都可能认证失败,此时不返回部分明文。工具输出末尾带 16 字节 tag;目标系统分离存储时,要正确拆分或合并,不能重复追加。
同一密钥不可复用 nonce。工具默认每次生成新值,手动输入只适合明确的互操作或标准向量实验;不要把一次随机值复制成永久默认 IV。
CBC、CTR 的失败含义不同
CBC 需要不可预测 IV 和一致的填充方式。错误密钥可能触发填充失败,但偶然通过填充不等于通过认证。CTR 没有填充,用错误密钥也可能直接返回字节,不能证明内容完整。
CTR 还需匹配计数器推进方式。本工具固定低 64 位计数,并在输入导致溢出前拒绝操作。对方即使给出同样 16 字节初值,若计数字段布局不同,仍可能无法互操作。
兼容前逐项记录
记录模式、密钥字节、IV/nonce、编码、tag 位置、AAD,以及填充或计数长度,先使用公开数据测试。本版不提供 ECB、CFB、OFB。新任务应使用有认证的密码 GCM 或经过审查的应用协议,不要自行设计 CBC 加校验码方案。
相关工具与阅读
技术参考
更新于 2026 年 10 月 16 日