CyberGlossary

密码学

ECDSA

定义

DSA 在椭圆曲线上的变体,由 FIPS 186 标准化,生成紧凑签名,其安全性依赖于椭圆曲线离散对数问题。

椭圆曲线数字签名算法(ECDSA)是 DSA 的椭圆曲线版本,在 ANSI X9.62 和 FIPS 186 中标准化。签名时,签名者对消息计算哈希,为每次签名选择随机随机数 k,使用曲线基点与自身私钥得到 (r, s)。验证则使用公钥、哈希和 (r, s),无需泄露私钥。它的签名体积小——常用的 P-256 曲线约 64 字节——并广泛应用于 TLS、代码签名、JWT 以及大多数加密货币(比特币、以太坊使用 secp256k1)。最大风险是 k 的重复或随机性不足:重复的 k 会立即泄露私钥,Sony PS3 固件签名事件就是著名案例。如今往往优先选择 EdDSA(Ed25519),其确定性与对旁路攻击的抗性更佳。

示例

  • TLS 服务器证书越来越多地使用 ECDSA-P256 取代 RSA。
  • 比特币交易通过基于 secp256k1 的 ECDSA 签名进行授权。

相关术语