5.1 Ed25519ph, Ed25519ctx, and Ed25519 (Ed25519ph, Ed25519ctx ed Ed25519)
5.1 Ed25519ph, Ed25519ctx, and Ed25519 (Ed25519ph, Ed25519ctx ed Ed25519)
Ed25519 è EdDSA istanziato (instantiated) con:
| Parametro | Valore |
|---|---|
| p | p di edwards25519 in [RFC7748] (cioè 2^255 - 19) |
| b | 256 |
| codifica di GF(p) | codifica little-endian a 255 bit di {0, 1, ..., p-1} |
| H(x) | `SHA-512(dom2(phflag,context) |
| c | logaritmo in base 2 del cofattore di edwards25519 in [RFC7748] (cioè 3) |
| n | 254 |
| d | d di edwards25519 in [RFC7748] (cioè -121665/121666 = 37095705934669439343138083508754565189542113879843219016388785533085940283555) |
| a | -1 |
| B | (X(P),Y(P)) di edwards25519 in [RFC7748] (cioè (151122213495354007725011514095885315114540126930418572046113283949847762202, 4631683569492647816942839400347516314130799386625621565783033603165251855960)) |
| L | ordine di edwards25519 in [RFC7748] (cioè 2^252+27742317777372353535851937790883648493). |
| PH(x) | x (cioè la funzione identità) |
Tabella 1: Parametri di Ed25519
Per Ed25519, dom2(f,c) è la stringa vuota. Il valore di phflag è irrilevante. Il contesto (context), se presente, DEVE essere vuoto. Ciò fa sì che lo schema coincida con lo schema Ed25519 pubblicato in precedenza.
Per Ed25519ctx, phflag=0. L'input di contesto NON DOVREBBE essere vuoto.
Per Ed25519ph, phflag=1 e PH è invece SHA512. Cioè l'input viene sottoposto a hash con SHA-512 prima della firma con Ed25519.
Il valore del contesto è impostato da firmatario e verificatore (massimo 255 ottetti; il default è la stringa vuota, tranne per Ed25519, che non può avere contesto) e deve coincidere ottetto per ottetto affinché la verifica abbia successo.
La curva usata è equivalente a Curve25519 [CURVE25519] mediante un cambio di coordinate, quindi la difficoltà del problema del logaritmo discreto (discrete logarithm problem) è la stessa di Curve25519.