编码与安全指南

AES-GCM:唯一 IV、认证标签与解密失败

明确密钥、IV、密文和认证标签,验证篡改后的数据必须解密失败。

Nav Tools ·

保留完整组件

认证加密同时提供保密与篡改检测,解密需要正确密钥、IV 和包含标签的认证密文。

Base64 只是传输表示,丢失 IV 或标签不能靠更换文本解码器补救。

Key + unique IV + plaintext → ciphertext with authentication tag
Key + same IV + authenticated ciphertext → plaintext or failure

同一密钥下不能重复 IV

GCM 要求同一密钥每次加密使用唯一 IV,新的随机 96 位 IV 是常见实现方式。

IV 不要求保密,但唯一性至关重要;应随密文保存并使用安全随机源产生。

密码不是原始 AES 密钥

AES 密钥有明确字节长度,人类密码需要带盐和成本参数的恰当密钥派生过程。

本站通过 PBKDF2-SHA256、随机 16 字节盐和 210,000 次迭代,从口令派生 AES-256 密钥;解密必须保留完整 JSON 包装。

测试认证失败

对测试消息加密解密后,修改一个密文字节或换口令,认证应失败,不能返回被信任的明文。

跨库使用时还需约定标签长度和附加认证数据,本站包装不兼容 CryptoJS/OpenSSL 口令格式,密钥存储依然是应用的责任。

参考资料

← 编码与安全指南