Criptografía de Curva Elíptica (ECC)

Un sistema criptográfico de clave pública cuya seguridad se basa en la dificultad matemática del Problema del Logaritmo Discreto en Curva Elíptica (ECDLP), proporcionando seguridad equivalente a RSA con tamaños de clave mucho menores.

Migración post-cuántica: NIST ha estandarizado ML-KEM (Kyber) y ML-DSA (Dilithium) como sustitutos de ECDH y ECDSA. TLS 1.3 implementa intercambio de claves híbrido (X25519+Kyber).

        graph LR
  Center["Criptografía de Curva Elíptica (ECC)"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Pre_asymmetric_encryption["asymmetric-encryption"]:::pre --> Center
  click Pre_asymmetric_encryption "/terms/asymmetric-encryption"
  Rel_private_key["private-key"]:::related -.-> Center
  click Rel_private_key "/terms/private-key"
  Rel_public_key["public-key"]:::related -.-> Center
  click Rel_public_key "/terms/public-key"
  Rel_public_key_cryptography["public-key-cryptography"]:::related -.-> Center
  click Rel_public_key_cryptography "/terms/public-key-cryptography"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explícalo como si tuviera 5 años

Imagina una multiplicación mágica que es fácil en una dirección pero imposible de revertir. Multiplicas un punto especial en una curva por un número secreto (tu clave privada) para obtener un punto público (tu clave pública). Pero si alguien solo conoce el punto público y el punto original, reconstruir tu número secreto llevaría más tiempo que la edad del universo — incluso con un superordenador. Esta matemática de un solo sentido es lo que hace tan poderosa la ECC.

🤓 Expert Deep Dive

Estructura de grupo: y² ≡ x³ + ax + b (mod p). Parámetros secp256k1: a=0, b=7, p = 2²⁵⁶ - 2³² - 977. Equivalencias de tamaño de clave (NIST SP 800-57): 256 bits ECC = 3072 bits RSA (128 bits de seguridad). Curve25519: diseñada por Daniel Bernstein para implementación en tiempo constante, inherentemente resistente a ataques de canal lateral de temporización. X25519 es obligatoria en TLS 1.3. Backdoor Dual_EC_DRBG (2013): documentos Snowden revelaron un presunto backdoor NSA en el generador aleatorio NIST basado en ECC.

❓ Preguntas frecuentes

Why is ECC more efficient than RSA?

ECC achieves the same security level as RSA with much smaller key sizes (256-bit ECC ≈ 3072-bit RSA). Smaller keys mean faster signature generation/verification, less bandwidth for certificate transmission, and lower computational overhead — critical for constrained devices like hardware wallets and IoT sensors.

What is the difference between ECC and ECDSA?

ECC is the mathematical framework (the geometry of elliptic curves over finite fields). ECDSA is a specific digital signature algorithm that uses ECC mathematics. Similarly, ECDH is a key agreement protocol built on ECC. ECC is the foundation; ECDSA and ECDH are applications built on top of it.

Why do Bitcoin and Ethereum use secp256k1 instead of the more common P-256 (NIST) curve?

Satoshi Nakamoto chose secp256k1 — a less common curve at the time — partly because P-256 was designed with NSA-selected constants of unclear provenance. secp256k1 parameters are derived transparently from the simple equation y² = x³ + 7, with no arbitrary constants that could hide a backdoor.

🔗 Términos relacionados

Requisitos previos:

📚 Fuentes