Criptografía de Curva Elíptica
La criptografía de curva elíptica (ECC) implementa esquemas de clave pública sobre el grupo de puntos en una curva elíptica, logrando la misma seguridad que RSA o Diffie-Hellman de campo finito con claves mucho más pequeñas.
Definition
La criptografía de curva elíptica es una criptografía de clave pública cuyo grupo subyacente es el conjunto de puntos en una curva elíptica sobre un campo finito, con seguridad basada en la dificultad del problema del logaritmo discreto de curva elíptica.
Scope
Este tema cubre la ley de grupo de curva elíptica sobre campos finitos, el problema del logaritmo discreto de curva elíptica y los esquemas construidos sobre ellos: Diffie-Hellman de curva elíptica (ECDH), los esquemas de firma ECDSA y EdDSA, y curvas modernas como Curve25519. Aborda por qué los logaritmos discretos de curva elíptica son más difíciles que los de campo finito (no hay cálculo de índice subexponencial) y las preocupaciones de implementación como la reutilización de nonce en ECDSA. Excluye RSA y los esquemas de logaritmo discreto de campo finito cubiertos en temas relacionados.
Core questions
- ¿Cómo la adición geométrica de puntos en una curva elíptica forma un grupo criptográfico?
- ¿Por qué el logaritmo discreto de curva elíptica es más difícil que su análogo de campo finito, permitiendo claves más pequeñas?
- ¿Cómo se instancian Diffie-Hellman y las firmas digitales sobre curvas elípticas?
- ¿Qué hace que las curvas modernas como Curve25519 sean más seguras de implementar que las curvas NIST más antiguas?
- ¿Por qué la unicidad del nonce por firma es crítica en ECDSA?
Key concepts
- ley de grupo de curva elíptica
- multiplicación escalar
- problema del logaritmo discreto de curva elíptica
- ECDH
- ECDSA
- EdDSA y Ed25519
- Curve25519
- vulnerabilidad de reutilización de nonce
- tamaño de clave vs RSA
Key theories
- Problema del logaritmo discreto de curva elíptica
- Dados los puntos P y Q = kP en una curva, se cree que recuperar el escalar k requiere un esfuerzo totalmente exponencial para curvas bien elegidas, porque los ataques de cálculo de índice que debilitan los logaritmos discretos de campo finito no se aplican.
- Claves más pequeñas para igual seguridad
- Debido a que los mejores ataques a los logaritmos discretos de curva elíptica son algoritmos genéricos de raíz cuadrada, una curva elíptica de 256 bits proporciona aproximadamente 128 bits de seguridad, comparable a RSA de 3072 bits, lo que resulta en operaciones más rápidas y claves y firmas más pequeñas.
Mechanisms
Los puntos en una curva elíptica sobre un campo finito forman un grupo abeliano bajo una ley de adición geométrica; sumar repetidamente un punto base P a sí mismo k veces (multiplicación escalar, kP) es eficiente, pero recuperar k de kP es el problema difícil. ECDH realiza Diffie-Hellman intercambiando múltiplos escalares de un punto base; ECDSA y EdDSA producen firmas a partir de un escalar por mensaje (un nonce) —que, si se repite o es predecible, filtra la clave privada, como demostraron varias brechas reales.
Clinical relevance
ECC es la elección predeterminada de clave pública para nuevos sistemas: ECDHE proporciona intercambio de claves con secreto hacia adelante en TLS 1.3, Ed25519 firma claves SSH, actualizaciones de software y certificados, y Curve25519 asegura Signal, WireGuard y la mensajería moderna. Sus claves pequeñas y operaciones rápidas la hacen adecuada para dispositivos móviles, tarjetas inteligentes y hardware IoT restringido.
Evidence & guidelines
ECDSA está estandarizado en FIPS 186, ECDH en NIST SP 800-56A, y EdDSA/Ed25519 en RFC 8032; Curve25519/X25519 en RFC 7748. La práctica moderna favorece las curvas de Edwards y X25519 por su resistencia a los errores de implementación. La falla de ECDSA cuando se reutilizan los nonces (notablemente la extracción de claves de Sony PlayStation 3 en 2010) es un ejemplo estándar de advertencia.
History
Neal Koblitz y Victor Miller propusieron independientemente el uso de curvas elípticas para criptografía en 1985-1987. La adopción fue inicialmente lenta debido a preocupaciones de patentes y confianza y la complejidad de las curvas NIST, pero ECC se volvió dominante en la década de 2010 a medida que la eficiencia del tamaño de la clave importaba más y Curve25519 (2006) y Ed25519 de Bernstein ofrecieron diseños rápidos y resistentes al mal uso, ahora ampliamente implementados.
Key figures
- Neal Koblitz
- Victor Miller
- Daniel J. Bernstein
- Alfred Menezes
- Scott Vanstone
Related topics
Seminal works
- koblitz1987
- hankerson2004
- katz2020
Frequently asked questions
- ¿Por qué una clave de curva elíptica de 256 bits coincide con una clave RSA de 3072 bits?
- Los mejores ataques conocidos al logaritmo discreto de curva elíptica son genéricos y toman un tiempo aproximado a la raíz cuadrada del tamaño del grupo, mientras que la factorización y los logaritmos discretos de campo finito tienen algoritmos subexponenciales más rápidos. Por lo tanto, las curvas elípticas necesitan muchos menos bits para el mismo nivel de seguridad.
- ¿Son confiables las curvas elípticas del NIST?
- Las curvas P estándar del NIST son ampliamente utilizadas y no se sabe que estén comprometidas, pero sus elecciones constantes inexplicables y la dificultad de implementación llevaron a muchos a preferir Curve25519 y Ed25519, que tienen fundamentos de diseño transparentes y son más fáciles de implementar de forma segura en tiempo constante.