跳到主要内容

1. Introduction (简介)

1. Introduction (简介)

Edwards-curve Digital Signature Algorithm (爱德华兹曲线数字签名算法, EdDSA) 是 Schnorr 签名系统的一个变体, 使用 (可能扭曲的) Edwards 曲线。EdDSA 需要使用特定的参数进行实例化, 本文档描述了一些推荐的变体。

为了促进 EdDSA 在互联网社区中的采用, 本文档以面向实现的方式描述该签名方案, 并提供示例代码和测试向量。

EdDSA 的优势如下:

  1. EdDSA 在各种平台上提供高性能。

  2. 不需要为每个签名使用唯一的随机数。

  3. 它对侧信道攻击具有更强的弹性。

  4. EdDSA 使用小的公钥 (对于 Ed25519 和 Ed448 分别为 32 或 57 字节) 和签名 (对于 Ed25519 和 Ed448 分别为 64 或 114 字节)。

  5. 公式是"完备的" (complete), 即它们对曲线上的所有点都有效, 没有例外。这消除了 EdDSA 对不受信任的公共值执行昂贵的点验证的需要。

  6. EdDSA 提供碰撞弹性 (collision resilience), 意味着哈希函数碰撞不会破坏此系统 (仅适用于 PureEdDSA)。

原始的 EdDSA 论文 [EDDSA] 和 "EdDSA for more curves" [EDDSA2] 中描述的通用版本提供了进一步的背景。RFC 7748 [RFC7748] 讨论了特定的曲线, 包括 Curve25519 [CURVE25519] 和 Ed448-Goldilocks [ED448]。

Ed25519 旨在在 128 位安全级别附近运行, Ed448 在 224 位安全级别附近运行。足够大的量子计算机将能够破解两者。对经典计算机能力的合理预测得出结论, Ed25519 是完全安全的。Ed448 是为那些性能要求较宽松且希望对椭圆曲线的分析攻击进行对冲的应用而提供的。