5.1 Ed25519ph, Ed25519ctx, and Ed25519 (Ed25519ph, Ed25519ctx und Ed25519)
5.1 Ed25519ph, Ed25519ctx, and Ed25519 (Ed25519ph, Ed25519ctx und Ed25519)
Ed25519 ist EdDSA mit folgenden Parametern instanziiert (instantiated):
| Parameter | Wert |
|---|---|
| p | p von edwards25519 in [RFC7748] (d.h. 2^255 - 19) |
| b | 256 |
| Kodierung von GF(p) | 255-Bit-Little-Endian-Kodierung von {0, 1, ..., p-1} |
| H(x) | `SHA-512(dom2(phflag,context) |
| c | Logarithmus zur Basis 2 des Cofaktors von edwards25519 in [RFC7748] (d.h. 3) |
| n | 254 |
| d | d von edwards25519 in [RFC7748] (d.h. -121665/121666 = 37095705934669439343138083508754565189542113879843219016388785533085940283555) |
| a | -1 |
| B | (X(P),Y(P)) von edwards25519 in [RFC7748] (d.h. (151122213495354007725011514095885315114540126930418572046113283949847762202, 4631683569492647816942839400347516314130799386625621565783033603165251855960)) |
| L | Ordnung von edwards25519 in [RFC7748] (d.h. 2^252+27742317777372353535851937790883648493). |
| PH(x) | x (d.h. die Identitätsfunktion) |
Tabelle 1: Parameter von Ed25519
Für Ed25519 ist dom2(f,c) die leere Zeichenkette. Der Wert von phflag ist irrelevant. Der Kontext (context), falls überhaupt vorhanden, MUSS leer sein. Dadurch ist das Verfahren identisch mit dem zuvor veröffentlichten Ed25519-Verfahren.
Für Ed25519ctx ist phflag=0. Die Kontexteingabe SOLL NICHT leer sein.
Für Ed25519ph ist phflag=1 und PH ist stattdessen SHA512. Das heißt, die Eingabe wird vor der Signatur mit Ed25519 mit SHA-512 gehasht.
Der Kontext wird von Signierer und Verifizierer festgelegt (höchstens 255 Oktette; Standard ist die leere Zeichenkette, außer bei Ed25519, das keinen Kontext haben kann) und muss oktettweise übereinstimmen, damit die Verifikation erfolgreich ist.
Die verwendete Kurve ist unter Koordinatenwechsel äquivalent zu Curve25519 [CURVE25519], sodass die Schwierigkeit des diskreten Logarithmusproblems (discrete logarithm problem) dieselbe wie bei Curve25519 ist.