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 | 是 | 是 |