#01
什么是 ChaCha20?
ChaCha20 是由 Daniel J. Bernstein 设计的高性能流加密算法。它作为 AES 的替代方案被广泛采用,特别是在缺乏 AES-NI 硬件加速的移动设备和嵌入式系统上,ChaCha20 的软件实现速度远超 AES。
ChaCha20 使用 256 位密钥和 96 位 Nonce(随机数),对明文按位异或生成密文,无需填充。它已被纳入 RFC 7539 和 RFC 8439 国际标准。
在实际应用中,ChaCha20 常与 Poly1305 消息认证码结合使用,形成 ChaCha20-Poly1305 AEAD(带关联数据的认证加密)方案,同时提供机密性与完整性保护。
#02
算法变体与核心特性
ChaCha20 家族包含以下主要变体,本工具均已支持:
- ChaCha20:基础版,使用 12 字节 (96 位) Nonce,适用于能安全管理计数器的场景。
- XChaCha20:扩展版,使用 24 字节 (192 位) Nonce,允许随机生成 Nonce 而无需担心重复,推荐优先使用。
- ChaCha20-Poly1305:AEAD 模式,添加 16 字节 Poly1305 认证标签,可附加 AAD(附加认证数据)。
- XChaCha20-Poly1305:最安全的组合,长 Nonce + AEAD,适用于对安全性有高要求的场景。
使用 ChaCha20 时最重要的一条原则是:相同的 (密钥, Nonce) 对绝不能重复使用,否则将导致密钥流泄露。使用本工具时,您可以通过"随机"按钮一键生成安全的密钥和 Nonce。
#03
数据安全与隐私说明
本工具的核心设计原则是"纯前端运行"。所有 ChaCha20 的加密、解密操作,密钥与 Nonce 的生成,以及 Hex/Base64 编码转换都在您的浏览器本地完成,不会向任何服务器发送您的输入数据,也不会在任何地方保存您的密钥或明文。
对于含有高度敏感信息的加密任务(如加密个人密钥、内部机密数据等),建议在离线环境中使用,或在复制到工具前先确认浏览器无恶意扩展。密钥建议通过本工具的随机生成功能获取,避免使用弱密码。