数据安全提示: 所有计算均在您的浏览器本地完成,密钥和数据不会上传到服务器。
ChaCha20 加密解密计算器
基于 CryptoJS 简化实现(演示用)
操作:
输出格式:
当前操作:文本加密
密钥 (32字节)
长度: 0 字符
密钥应 32 字节
Nonce (12字节)
长度: 0 字符
Nonce 应 12 字节
输入文本(明文)
字符数: 33
字节数: 33
输入
明文
密钥流
待生成
输出
密文
加密结果
计算结果将显示在这里...
等待输入...
长度: 0
加密过程可视化(前32字节)
明文
密钥流
密文
性能统计
处理速度
高速
0 ms
0 字节
0 MB/s
ChaCha20 算法原理
ChaCha20 是 Daniel J. Bernstein 设计的流密码,基于 512 位状态(16×32 位字),每轮执行 Quarter Round 操作,共 20 轮。最终状态与初始状态相加生成密钥流,与明文异或得到密文。
0x61707865
0x3320646e
0x79622d32
0x6b206574
密钥[0]
密钥[1]
密钥[2]
密钥[3]
密钥[4]
密钥[5]
密钥[6]
密钥[7]
计数器
Nonce[0]
Nonce[1]
Nonce[2]
ChaCha20 初始状态(16 个 32 位字)
性能优势
3.2×
比 AES-CTR 快
64B
每轮密钥流
20
轮数
| 特性 | AES-CTR | ChaCha20 |
|---|---|---|
| 密钥长度 | 128/192/256 | 256 位 |
| 时序攻击 | 易受攻击 | 免疫 |
| ARM 性能 | 一般 | 优秀 |
| 侧信道 | 易受攻击 | 抵抗强 |
快速示例
"Hello World" 加密
中文加密示例