CoderTools

ECDSA 签名工具

椭圆曲线数字签名算法

🔒 100% 本地处理您输入的数据完全在浏览器中处理,不会上传到任何服务器。

生成 ECDSA 密钥对

为所选曲线生成新的随机 ECDSA 密钥对。私钥必须保密;公钥可以公开分享。

从私钥派生公钥

输入现有私钥以计算对应的公钥。

文档说明

ECDSA(椭圆曲线数字签名算法)是一种基于椭圆曲线密码学的广泛使用的数字签名方案。它以更小的密钥尺寸提供与 RSA 相同的安全级别,非常适合移动设备和区块链网络等资源受限的环境。

核心特性

  • 小密钥尺寸:256 位 ECDSA 提供与 3072 位 RSA 相当的安全性
  • 运算快速:签名和验证速度明显快于 RSA
  • 签名紧凑:ECDSA 签名比 RSA 签名小得多
  • 多曲线支持:支持 secp256k1、P-256、P-384 和 P-521 曲线
  • 行业标准:广泛应用于比特币、以太坊、TLS 等协议

支持的曲线

  • secp256k1:比特币和以太坊使用的曲线。256 位安全性,针对高效软件实现进行了优化。
  • P-256(secp256r1):NIST 标准曲线,广泛用于 TLS、政府应用和 WebCrypto API。
  • P-384(secp384r1):NIST 标准曲线,提供 192 位安全级别,用于高安全性应用。
  • P-521(secp521r1):NIST 标准曲线,提供 256 位安全级别,是最高安全级别的 ECDSA 曲线。

哈希算法

  • SHA-256:大多数应用的标准选择。与 P-256 和 secp256k1 曲线配合使用。
  • SHA-384:建议与 P-384 曲线配合使用以匹配安全级别。
  • SHA-512:建议与 P-521 曲线配合使用。提供 256 位安全性。
  • Keccak-256:以太坊用于交易签名的算法。注意:这不是 SHA-3,而是原始 Keccak 的 256 位输出版本。

常见应用场景

  • 比特币和区块链:secp256k1 配合 SHA-256 双重哈希用于交易签名。
  • 以太坊:secp256k1 配合 Keccak-256 用于交易和消息签名。
  • TLS/SSL 证书:P-256 曲线用于 HTTPS 证书签名。
  • 代码签名:签名软件发布版本以确保真实性和完整性。
  • API 认证:签名 API 请求以防止篡改并验证身份。

安全最佳实践

  • 保护私钥:永远不要暴露或分享您的私钥。关键应用请使用硬件安全模块(HSM)。
  • 使用安全随机数:ECDSA 需要密码学安全的随机数。本工具使用 Web Crypto API。
  • 验证公钥:在接受签名之前,始终通过可信渠道验证公钥。
  • 客户端处理:本工具完全在浏览器中运行,您的密钥永远不会离开您的设备。
  • 签名可延展性:ECDSA 签名可能具有可延展性。在需要时使用规范(低 S 值)签名。

ECDSA 与其他签名方案对比

特性 ECDSA (P-256) RSA-2048 Ed25519
私钥大小 32 字节 256 字节 32 字节
公钥大小 64 字节 256 字节 32 字节
签名大小 64 字节 256 字节 64 字节
签名速度 非常快
验证速度 中等 非常快
确定性签名 RFC 6979

相关工具

快捷菜单

暂无访问记录