首页ChaCha20在线加密/解密

ChaCha20在线加密/解密

ChaCha20、ChaCha20-Poly1305 和 XChaCha20 加密解密工具。支持 AEAD 认证加密、多种输入输出格式。安全快速,完全在浏览器中运行。

ChaCha20:256 位流密码,96 位 nonce。快速安全,无认证功能。

初始块计数器值(加密通常为 0,解密使用相同值)

格式选项

关于 ChaCha20

ChaCha20 是 Daniel J. Bernstein 于 2008 年设计的现代流密码,源自 Salsa20 密码。它使用 256 位密钥,在 512 位块上运行,生成与明文异或进行加密的密钥流。

该密码以其速度、安全性和抗时序攻击能力著称,是软件实现的绝佳选择。

算法对比

算法类型密钥长度Nonce 长度最佳用途
ChaCha20流密码256 bits96 bits (12 bytes)原始加密、自定义协议
ChaCha20-Poly1305AEAD256 bits96 bits (12 bytes)TLS 1.3、QUIC、安全消息
XChaCha20流密码256 bits192 bits (24 bytes)随机 nonce 场景
XChaCha20-Poly1305AEAD256 bits192 bits (24 bytes)大多数应用(推荐)

ChaCha20 工作原理

ChaCha20 执行 20 轮运算,对 4×4 的 32 位字矩阵应用四分之一轮函数。初始状态由常量、256 位密钥、32 位计数器和 96 位 nonce 组成。

每轮使用加法、异或和旋转(ARX)置换状态,在保持软件高速运行的同时提供出色的扩散性。

AEAD:认证加密

ChaCha20-Poly1305 是 RFC 8439 标准化的带关联数据的认证加密(AEAD)构造。它结合了 ChaCha20 加密和 Poly1305 MAC 认证。

这确保了机密性和完整性 - 对密文或 AAD 的任何篡改都会在解密时被检测到。128 位认证标签通过密文和 AAD 计算得出。

主要特性

  • 高性能:针对软件实现优化,在没有硬件加速的平台上比 AES 快 3 倍
  • 常量时间:抵抗缓存时序攻击,不像基于表的 AES 实现
  • 设计简洁:仅使用 ARX 运算(加法、旋转、异或),易于正确实现
  • 广泛采用:用于 TLS 1.3、OpenSSH、WireGuard、Signal 协议等
  • 扩展 Nonce:XChaCha20 变体允许安全的随机 nonce 生成,无碰撞风险

安全注意事项

  • 绝不要在相同密钥下重用 nonce - 这会完全破坏安全性
  • 大多数应用应使用 AEAD 变体(Poly1305)来检测篡改
  • 对于随机 nonce,使用 XChaCha20(192 位)以最小化碰撞概率
  • 使用正确的 KDF(HKDF、Argon2)从密码派生密钥

实际应用

  • TLS 1.3:默认密码套件(TLS_CHACHA20_POLY1305_SHA256)
  • WireGuard VPN:主要加密协议
  • Signal 协议:端到端加密消息
  • Cloudflare:移动客户端优先于 AES-GCM
  • Linux 内核:CSPRNG(/dev/urandom)

数据默认在您的本地浏览器上处理,不会上传至服务器。如需上传会明确提示。

© 2026 See-Tool. 保留所有权利。 | 联系站长