Ed25519 vs ECDSA — qué algoritmo elegir
Para firmas digitales modernas, hay dos familias principales de algoritmos: Ed25519 (basado en curvas Edwards) y ECDSA (basado en curvas Weierstrass como P-256). Ambos son curvas elípticas, ambos son criptográficamente sólidos, pero tienen diferencias prácticas que importan al diseñar un sistema SSI.
La comparación rápida
| Característica | Ed25519 | ECDSA (P-256) |
|---|---|---|
| Velocidad firma | ~80 µs | ~150 µs |
| Velocidad verificación | ~150 µs | ~250 µs |
| Tamaño firma | 64 bytes | 64-72 bytes |
| Tamaño clave pública | 32 bytes | 65 bytes (compresible a 33) |
| Seguridad teórica | 128 bits | 128 bits |
| Resistencia side-channel | Mejor | Más vulnerable |
| Adopción gov | Creciente | Histórica (legacy) |
| Soporte hardware | Limitado | Amplio (TPM, HSM, smartcards) |
Cuándo usar cada uno
La regla simple:
- Default: Ed25519. Para sistemas SSI nuevos, gov modernos, casos donde el control del stack es propio.
- Excepción: ECDSA P-256. Para integración con sistemas legacy, hardware específico, o regulaciones que la requieren.
Por qué Ed25519 es el default moderno
Cinco razones técnicas:
Velocidad
~2x más rápido en firma y verificación. Importante en wallets móviles.
Tamaño compacto
Clave pública de 32 bytes (vs 65 de ECDSA). Importante para QRs y deep links.
Implementación determinística
Ed25519 produce la misma firma para los mismos inputs. ECDSA depende de un nonce random — si falla, expone la clave privada.
Resistencia a side-channel
Ed25519 fue diseñado para ser resistente a ataques de medición de tiempo. ECDSA requiere implementaciones cuidadosas.
Estandarización moderna
RFC 8032 estable desde 2017. Adoptado en SSH, TLS 1.3, gobiernos modernos.
Por qué ECDSA P-256 sigue vigente
A pesar de las desventajas técnicas, ECDSA P-256 sigue siendo relevante:
Hardware existente
TPMs, HSMs, smartcards tradicionales soportan ECDSA antes que Ed25519.
Regulaciones legacy
Algunas regulaciones gov (NIST, FIPS 186-4) listan ECDSA como aceptable y no han actualizado para incluir Ed25519.
TLS / SSL
Aunque TLS 1.3 soporta Ed25519, mucha infraestructura web sigue prefiriendo ECDSA por compatibilidad.
Las curvas dentro de cada familia
Cada familia tiene varias curvas con propiedades distintas:
Ed25519 family:
Ed25519(default, 128 bits seguridad)Ed448(mayor seguridad, ~225 bits, pero más lento)
ECDSA family:
P-256/secp256r1/prime256v1(default, 128 bits)P-384/secp384r1(192 bits, más lento)P-521/secp521r1(260 bits, mucho más lento)secp256k1(Bitcoin, Ethereum — no NIST estándar pero ubicuo)
Para gov, las curvas NIST (P-256, P-384, P-521) son las únicas reconocidas oficialmente. Para crypto, secp256k1 domina.
En SSI específicamente
| Componente | Algoritmo común |
|---|---|
| Issuer (gov) | Ed25519 o ECDSA P-256 |
| Holder (wallet) | Ed25519 |
| Verifier | Acepta ambos |
| DID Document | Lista clave pública con su algoritmo |
| Credencial firmada | Usa el algoritmo del header (alg) |
Para wallets ciudadanas modernas, Ed25519 es siempre la elección correcta. Es más rápido, más compacto, y la implementación es más segura por defecto.
La discusión post-quantum
Tanto Ed25519 como ECDSA son vulnerables a computación cuántica futura. Si y cuando aparezcan computadoras cuánticas de gran escala (estimado 2030-2040), todas las firmas hechas con estos algoritmos serán falsificables retroactivamente.
NIST está estandarizando algoritmos post-quantum (ML-DSA, Falcon, SLH-DSA) que resisten ataques cuánticos. Sistemas críticos a largo plazo deben planificar migración.
Para SSI gob hoy, la recomendación: usar Ed25519 como default + diseñar el sistema para permitir agregar algoritmos post-quantum cuando estandaricen.
Implementación práctica
// Ed25519 con jose
import { generateKeyPair, SignJWT, jwtVerify } from "jose";
const { privateKey, publicKey } = await generateKeyPair("EdDSA", {
crv: "Ed25519",
});
// ECDSA con jose
const { privateKey: ecdsaPriv, publicKey: ecdsaPub } = await generateKeyPair("ES256");
Ambos algoritmos se manejan con la misma API. La diferencia es solo qué pasar como parámetro.
Referencias
Relacionados
- Firmas digitales en 5 minutos — el contexto
- JWS y JWT — formato estándar de firmas — el formato común
- Post-Quantum — qué tener en cuenta hacia 2030 — el horizonte futuro

