メインコンテンツまでスキップ

4. PureEdDSA, HashEdDSA, and Naming (PureEdDSA, HashEdDSA および命名)

4. PureEdDSA, HashEdDSA, and Naming (PureEdDSA, HashEdDSA および命名)

EdDSA アルゴリズムのパラメータの 1 つは「事前ハッシュ」(prehash) 関数です。これは恒等関数である場合があり, その場合は PureEdDSA と呼ばれるアルゴリズムになります。または SHA-512 のような衝突耐性のあるハッシュ関数である場合があり, その場合は HashEdDSA と呼ばれるアルゴリズムになります。

どちらの変種を使用するかの選択は, 1) 衝突耐性と 2) 署名を作成するためのシングルパスインターフェースの間で, どちらの特性がより重要であると見なされるかによって決まります。衝突耐性特性は, ハッシュ関数の衝突を計算することが可能であっても EdDSA が安全であることを意味します。シングルパスインターフェース特性は, 署名を作成するために入力メッセージに対して 1 回のパスのみが必要であることを意味します。PureEdDSA は入力に対して 2 回のパスを必要とします。多くの既存の API, プロトコル, および環境は, デジタル署名アルゴリズムが入力に対して 1 回のパスのみを必要とすることを前提としており, 他のものをサポートする API または帯域幅の懸念がある場合があります。

シングルパス検証は, どの署名アルゴリズムが選択されても, 署名のほとんどの使用では不可能であることに注意してください。これは, ほとんどの場合, 署名が検証されるまでメッセージを処理できず, メッセージ全体に対するパスが必要であるためです。

この文書は, HashEdDSA 変種 Ed25519ph および Ed448ph と PureEdDSA 変種 Ed25519 および Ed448 をもたらすパラメータを指定します。