ChaCha20-Poly1305 是 IETF 标准化的 AEAD 认证加密算法,由 ChaCha20 流密码负责加密、Poly1305 负责生成认证标签。它在缺少 AES 硬件加速的设备上往往比 AES 更快,被广泛用于 TLS 1.3、移动应用与现代协议中。
密钥固定 32 字节,即 64 个十六进制字符;Nonce 固定 12 字节,即 24 个十六进制字符。认证标签 Tag 为 16 字节,以 Base64 表示,加密后自动生成,解密时必须填写。AAD 参与完整性校验但不参与加密,加解密两侧必须完全一致。密文以 Base64 输出。
同一把密钥下 Nonce 绝对不能重复使用,否则会造成密钥流复用,攻击者可能据此恢复明文或伪造密文。实际系统中通常采用随机生成或严格递增计数器的方式来保证唯一性,本工具默认为每次加密生成新的随机 Nonce。
浏览器原生的 WebCrypto 接口并不提供 ChaCha20-Poly1305,因此本工具的计算由服务端使用 libsodium 完成:明文或密文、密钥、Nonce 与 AAD 会发送到服务器用于本次计算,计算结果返回后不会被保存。页面对此有明确标注,请不要输入生产环境的真实密钥与敏感明文。如果服务器缺少 sodium 扩展,页面会直接提示暂时无法计算。
作为现代 AEAD 算法,ChaCha20-Poly1305 与 AES-GCM 处于同一安全水平,可按运行环境是否具备 AES 硬件加速来选择。若你需要完全不离开浏览器的加解密,请改用本站的 AES 工具。
评论 0