La clave privada es una semilla (32 bytes en Ed25519, 57 en Ed448). Su hash da un escalar secreto s y un prefijo; para firmar se calculan el nonce r = H(prefix ‖ M), R = r·B, el desafío k = H(R ‖ A ‖ M) y S = (r + k·s) mod L, y la firma es R ‖ S (64 bytes en Ed25519, 114 en Ed448; RFC 8032 §5.1.6 y §5.2.6). El nonce es función de la clave y del mensaje, así que EdDSA no necesita aleatoriedad al firmar y no puede repetir un nonce para mensajes distintos.
PureEdDSA (Ed25519, Ed448) firma el propio mensaje y lo lee dos veces; HashEdDSA (Ed25519ph, Ed448ph) firma en su lugar un resumen SHA-512 o SHAKE256; Ed25519ctx y Ed448 aceptan una cadena de contexto de hasta 255 bytes para la separación de dominios. FIPS 186-5 §7 aprueba EdDSA y HashEdDSA (§7.8).
La verificación es menos uniforme que la firma. El RFC 8032 §5.1.7 exige que S sea menor que el orden del grupo L y permite tanto la ecuación con cofactor [8][S]B = [8]R + [8][k]A' como la ecuación sin cofactor, y las bibliotecas difieren en los puntos de orden pequeño y las codificaciones que no están en forma canónica. Por eso, los sistemas de consenso fijan un único conjunto de reglas, por ejemplo, el ZIP 215 de Zcash.
Identificadores: los OID de X.509 1.3.101.112 (Ed25519) y 1.3.101.113 (Ed448), del RFC 8410; los valores alg de JOSE Ed25519 y Ed448, del RFC 9864, que declara obsoleto el EdDSA polimórfico del RFC 8037; en COSE, −19 y −53 (y el antiguo −8); en TLS 1.3, ed25519 (0x0807) y ed448 (0x0808); en SSH, ssh-ed25519. NIST IR 8547 (borrador) propone prohibir EdDSA después de 2035.