ECDSA 签名/验证

✅ 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 曲线。
结果将显示在这里...

📚 深度解析: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 被攻破正是因此)。必须使用符合规范的随机源。
⚠️ 使用说明与注意事项
📖关于「ECDSA 签名/验证」 ▼

📝工具简介

Sign and verify messages with ECDSA in your browser — elliptic-curve digital signatures (secp256k1 and more).