ECDSA 签名/验证
ECDSA 椭圆曲线数字签名工具,支持生成密钥对、对消息签名与验签,基于 secp256k1 等曲线,纯前端实现,适合理解数字签名机制与接口签名校验。
✅ ECDSA Signature / Verify
📐 工作原理与说明
基于椭圆曲线离散对数难题的数字签名算法。
- 签名:选取随机数 k,计算
r = (k·G).x mod n、s = k⁻¹(hash + r·d) mod n,输出 (r, s)。 - 验证:用公钥 Q 与 (r, s) 验证等式成立,成立即签名有效且消息未篡改。
- 关键:k 必须每次签名都不同且不可预测;k 复用会直接泄露私钥。
- 曲线:常用 P-256、secp256k1(比特币);Ed25519 属 EdDSA,算法结构不同。
ECDSA (Elliptic Curve Digital Signature Algorithm) 是基于椭圆曲线的数字签名算法。
相比RSA,ECDSA使用更短的密钥提供同等安全性(256位ECDSA ≈ 3072位RSA)。支持 P-256 (secp256r1) 和 P-384 曲线。
相比RSA,ECDSA使用更短的密钥提供同等安全性(256位ECDSA ≈ 3072位RSA)。支持 P-256 (secp256r1) 和 P-384 曲线。
结果将显示在这里...
📚 深度解析:ECDSA 椭圆曲线签名
💡 常见使用场景
- 比特币、TLS 证书用 ECDSA 做轻量高安全签名。
- 给内部服务签发 JWT 时用 ES256:验签一次确认公钥与私钥配对、签名算法与头部 alg 一致,避免上线后才发现密钥错配。
曲线示意
以 secp256k1 为例,私钥 d 生成公钥 Q=d·G;对消息哈希 e 用随机数 k 产出签名 (r,s),验证用公钥与 G。
❓ 常见问题(FAQ)
- ECDSA 为何比 RSA 短?
- 256 位椭圆曲线安全性≈3072 位 RSA,密钥更短。
- 为什么每次签名结果都不一样?
- ECDSA 签名依赖一个随机数 k,同一消息两次签名会得到不同但都有效的签名,这是正常且必要的设计——若 k 重复或可预测,攻击者可直接反推私钥(2010 年索尼 PS3 被攻破正是因此)。必须使用符合规范的随机源。
⚠️ 使用说明与注意事项
- 本工具纯前端运行,数据不会上传到服务器
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
- 计算结果仅供参考,请以实际应用场景为准
▼
工具简介
Sign and verify messages with ECDSA in your browser — elliptic-curve digital signatures (secp256k1 and more).