数据安全提示: 所有计算均在您的浏览器本地完成,密钥和消息不会上传到服务器。

ECDSA 数字签名工具

基于 elliptic 6.5.4
操作模式:
当前:密钥对生成

椭圆曲线

哈希算法

高级选项

密钥对

椭圆曲线示意 (点击生成更新)
私钥 (Private Key)
点击下方按钮生成
公钥 (Public Key)
点击下方按钮生成
显示格式:
密钥生成 -
签名耗时 -
验证耗时 -

ECDSA 算法原理

椭圆曲线数字签名算法 (ECDSA) 基于椭圆曲线离散对数问题 (ECDLP)。

1. 密钥生成

私钥 d ← 随机数,公钥 Q = d × G (G为基点)

2. 签名

选择随机k,计算 r = (k×G).x mod n,s = k⁻¹(e + d·r) mod n

3. 验证

计算 w = s⁻¹, u₁ = e·w, u₂ = r·w, 检查 u₁×G + u₂×Q 的x坐标是否等于 r

椭圆曲线标准

曲线安全等级密钥长度主要应用
P-256128位32字节TLS 1.3, 移动端
P-384192位48字节政府、金融
P-521260位66字节最高安全
secp256k1128位32字节比特币、以太坊

安全性说明

  • 基础安全:基于ECDLP,256位密钥等效于3072位RSA。
  • 已知风险:随机数k重用会导致私钥泄露(索尼PS3事件)。
  • 最佳实践:使用确定性ECDSA (RFC 6979) 避免随机数问题。
  • 量子威胁:Shor算法可破解,但需要大规模量子计算机。

快速示例

Node.js ECDSA 示例
Python ecdsa 库示例

快速提示

  • 私钥需严格保密
  • 公钥可公开用于验证
  • 随机数k切勿重用
  • 比特币使用secp256k1

技术信息

标准:ANSI X9.62, FIPS 186-5
算法库:elliptic.js
哈希支持:SHA-2系列

需要其他椭圆曲线工具?

免费为您开发定制化工具