1. Introduction (はじめに)
1. Introduction (はじめに)
Edwards-curve Digital Signature Algorithm (エドワーズ曲線デジタル署名アルゴリズム, EdDSA) は, (場合によってはツイストされた) Edwards 曲線を使用した Schnorr 署名システムの変種です。EdDSA は特定のパラメータでインスタンス化される必要があり, この文書ではいくつかの推奨される変種を説明します。
インターネットコミュニティにおける EdDSA の採用を促進するため, この文書は実装指向の方法で署名方式を説明し, サンプルコードとテストベクトルを提供します。
EdDSA の利点は以下の通りです:
-
EdDSA は様々なプラットフォームで高いパフォーマンスを提供します。
-
各署名に対して一意の乱数を使用する必要がありません。
-
サイドチャネル攻撃に対してより強い耐性があります。
-
EdDSA は, Ed25519 と Ed448 に対してそれぞれ小さな公開鍵 (32 または 57 バイト) と署名 (64 または 114 バイト) を使用します。
-
公式は「完全」(complete) です。つまり, 曲線上のすべての点に対して有効であり, 例外はありません。これにより, EdDSA が信頼されていない公開値に対して高価な点検証を実行する必要がなくなります。
-
EdDSA は衝突耐性を提供します。つまり, ハッシュ関数の衝突がこのシステムを破壊しないことを意味します (PureEdDSA にのみ適用されます)。
元の EdDSA 論文 [EDDSA] と "EdDSA for more curves" [EDDSA2] で説明されている一般化されたバージョンは, さらなる背景を提供します。RFC 7748 [RFC7748] は, Curve25519 [CURVE25519] と Ed448-Goldilocks [ED448] を含む特定の曲線について議論します。
Ed25519 は 128 ビットのセキュリティレベル付近で動作することを意図しており, Ed448 は 224 ビットのセキュリティレベル付近で動作します。十分に大きな量子コンピュータは両方を破ることができるでしょう。古典的コンピュータの能力の合理的な予測は, Ed25519 が完全に安全であると結論付けています。Ed448 は, パフォーマンス要件が緩和されたアプリケーションや, 楕円曲線に対する解析攻撃に対してヘッジしたい場合に提供されます。