ChaCha20加解密
ChaCha20 流密码(RFC 8439)加解密
密钥 Key(64 位十六进制 = 32 字节)
随机数 Nonce(24 位十六进制 = 12 字节)
输入
结果
这个工具能做什么
ChaCha20 加解密工具用现代高速的 ChaCha20 流密码对数据加密和解密,实现遵循 RFC 8439。你提供 256 位密钥、96 位随机数 nonce 和一个块计数器,把文本加密成十六进制密文,或用同样的参数把密文还原成明文。ChaCha20 被 TLS、WireGuard、OpenSSH 等广泛采用。
ChaCha20 用密钥、nonce 和计数器初始化一个 16 字的状态矩阵,经过 20 轮基于加法、异或、循环移位的运算生成 64 字节密钥流,再与数据逐字节异或。因为是流密码,加密和解密是同一套运算,参数相同即可互逆。相比 RC4,它没有已知的实用弱点,且在没有硬件加速的设备上比 AES 更快。
密钥要填 64 位十六进制(32 字节),nonce 填 24 位十六进制(12 字节),计数器一般从 0 或 1 开始。以 RFC 8439 的测试向量为例,用规定的密钥、nonce 和计数器 1 加密那段 "Ladies and Gentlemen..." 明文,得到的密文正是文档给出的结果,本工具与之完全一致。
安全使用有一条铁律:同一个密钥下 nonce 绝不能重复。一旦 nonce 复用,攻击者可以异或两条密文消去密钥流,从而破解。实际应用中通常每条消息用随机或递增的 nonce。此外 ChaCha20 本身只保证机密性,完整性一般配合 Poly1305 组成 ChaCha20-Poly1305 认证加密。
ChaCha20加解密是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“chacha20”、“chacha20加密”、“chacha20解密”,说的都是这个。
常见使用场景
- 学习现代流密码时对照 RFC 8439 测试向量
- 与使用 ChaCha20 的服务或库做加解密互通
- 在无 AES 加速的环境里做轻量加密实验
- 理解 nonce 复用风险时做对比演示
使用方法
- 把内容粘贴到输入框(生成类工具直接设置选项)。
- 按需要选择选项,点操作按钮。
- 结果出现在下方,点「复制结果」即可带走。
常见问题
ChaCha20 比 AES 好在哪?
ChaCha20 是软件实现友好的流密码,在没有 AES 硬件加速的设备(如很多手机、嵌入式)上更快、更省电,且不易受缓存时序侧信道攻击。安全性上两者都属现代主流。
密钥和 nonce 要多长?
密钥 256 位,即 64 位十六进制(32 字节);nonce 96 位,即 24 位十六进制(12 字节)。长度不对工具会提示。计数器通常从 0 或 1 开始。
为什么 nonce 不能重复?
相同密钥下 nonce 决定密钥流。若 nonce 复用,两条密文异或即可消去密钥流暴露明文关系。所以每条消息必须用不同的 nonce(随机或递增)。
这个实现符合标准吗?
符合 RFC 8439。用文档中的官方测试向量验证,密钥流和密文与标准完全一致,可放心用于学习和与标准实现互通。
ChaCha20 保证数据没被篡改吗?
不保证。ChaCha20 只提供机密性(加密),要防篡改需配合 Poly1305 组成 ChaCha20-Poly1305 这种认证加密(AEAD)方案。