数据安全提示: 所有计算均在您的浏览器本地完成,私钥和共享密钥不会上传到服务器。
ECDH密钥交换计算器
基于 elliptic.js 6.5.4
椭圆曲线
secp256k1
P-256
P-384
P-521
密钥派生
原始共享密钥
SHA256导出
输出格式
十六进制
Base64
1. 生成密钥对
Alice 私钥
未生成
长度: 0 位
Alice 公钥
未生成
长度: 0 位
Bob 私钥
未生成
长度: 0 位
Bob 公钥
未生成
长度: 0 位
共享密钥 (会话密钥)
长度: 位
私钥生成中...
公钥生成中...
公钥生成中...
私钥生成中...
ECDH原理
椭圆曲线迪菲-赫尔曼密钥交换 (Elliptic Curve Diffie–Hellman) 允许双方在不安全信道上建立共享密钥。
1. 生成密钥对
Alice: 私钥 a, 公钥 A = a×G
Bob: 私钥 b, 公钥 B = b×G
2. 交换公钥
Alice → Bob: A
Bob → Alice: B
3. 计算共享密钥
Alice: S = a×B = ab×G
Bob: S = b×A = ab×G
安全性分析
- 前向安全性:临时ECDH (ECDHE) 提供完美前向安全性,每次会话使用不同密钥。
- 密钥长度:256位ECDH ≈ 3072位RSA,性能更高,密钥更短。
- 已知攻击:需防范中间人攻击(需结合签名)、无效曲线攻击、侧信道攻击。
- 量子威胁:Shor算法可破解,长期机密需考虑后量子迁移。
算法比较
| 算法 | 密钥长度 | 安全强度 | 前向安全 |
|---|---|---|---|
| RSA | 2048-4096 | 中 | 不支持 |
| DH | 2048-4096 | 中 | 临时DH支持 |
| ECDH | 256-521 | 高 | ECDHE支持 |