Tema 12
La criptografía de curva elíptica, o ECC, representa una de las evoluciones más importantes de la criptografía de clave pública. Su gran ventaja práctica es que ofrece niveles altos de seguridad con claves mucho más pequeñas que RSA o Diffie-Hellman clásico, lo que la vuelve especialmente atractiva en protocolos modernos, dispositivos móviles y sistemas con restricciones de rendimiento.
Después de estudiar RSA y Diffie-Hellman clásico, aparece una pregunta natural: ¿existen esquemas de clave pública que ofrezcan seguridad comparable con menos costo y menor tamaño de clave? La respuesta es sí, y una de las más importantes es la criptografía de curva elíptica.
ECC no reemplaza la lógica general de la criptografía asimétrica, pero sí propone una base matemática diferente. Esa base permite construir intercambio de claves, firmas y otros mecanismos con parámetros más compactos y eficientes.
La criptografía de curva elíptica es una familia de esquemas de clave pública basada en operaciones sobre puntos definidos en curvas elípticas sobre cuerpos finitos. Aunque la frase suene abstracta, la idea práctica es que existe una estructura matemática donde ciertas operaciones son fáciles de realizar, pero muy difíciles de invertir.
Ese comportamiento asimétrico permite construir sistemas seguros del mismo modo que RSA se apoya en la factorización difícil o Diffie-Hellman clásico en el logaritmo discreto modular.
En criptografía, una curva elíptica no debe imaginarse como una elipse común de geometría escolar. Se trata de una ecuación algebraica con forma general similar a:
y2 = x3 + ax + b
Cuando esta ecuación se considera sobre un cuerpo finito, los puntos válidos forman una estructura sobre la que se pueden definir operaciones útiles para criptografía.
Lo importante no es memorizar la ecuación, sino entender que sobre ese conjunto de puntos existe una operación análoga a "sumar puntos" con propiedades matemáticas aprovechables.
Uno de los conceptos más llamativos de ECC es que los puntos de la curva pueden combinarse mediante una operación definida como suma. A partir de esa suma, también puede definirse la multiplicación escalar, que consiste en sumar un mismo punto consigo mismo muchas veces.
Por ejemplo, si P es un punto de la curva, entonces kP significa sumar P consigo mismo k veces. Esta operación es fácil de calcular. Lo difícil es el problema inverso: dado P y Q = kP, recuperar k.
La seguridad de ECC se relaciona con el problema del logaritmo discreto en curvas elípticas. En términos simples, si conocemos un punto base P y otro punto Q = kP, calcular Q a partir de P y k es sencillo. En cambio, deducir k a partir de P y Q se considera muy difícil.
Esa dificultad es la fuente principal de seguridad del paradigma.
La gran ventaja práctica de ECC es que logra niveles de seguridad altos con tamaños de clave bastante menores que los requeridos por RSA o Diffie-Hellman clásico. Esto se traduce en:
RSA y ECC resuelven problemas similares en muchos contextos, pero su base matemática es distinta. RSA se apoya en factorización, mientras que ECC se apoya en el logaritmo discreto sobre curvas elípticas.
| Aspecto | RSA | ECC |
|---|---|---|
| Base matemática | Factorización de enteros | Logaritmo discreto en curvas elípticas |
| Tamaño de clave para seguridad comparable | Más grande | Más pequeño |
| Eficiencia en entornos limitados | Menor | Mayor en muchos casos |
| Uso moderno | Aún importante | Muy extendido y creciente |
En ECC, la clave privada suele ser un número entero secreto d. La clave pública se obtiene calculando un punto Q = dP, donde P es un punto base acordado para la curva utilizada.
La idea es parecida a otros esquemas de clave pública: la clave pública puede compartirse libremente, mientras que la privada debe protegerse. Lo que cambia es la naturaleza matemática de la operación.
Una de las aplicaciones más importantes de ECC es ECDH, Elliptic Curve Diffie-Hellman. Toma la misma idea general de Diffie-Hellman, pero la implementa sobre curvas elípticas en lugar de grupos modulares clásicos.
Cada parte genera una clave privada y una clave pública derivada. Al combinar la propia clave privada con la clave pública del otro, ambas llegan al mismo secreto compartido.
La gran ventaja es que se obtiene seguridad fuerte con claves más pequeñas y operaciones muy eficientes.
Otra aplicación central es ECDSA, Elliptic Curve Digital Signature Algorithm. Su propósito es permitir firmas digitales verificables con el paradigma de curva elíptica.
Al igual que en otros esquemas de firma, el firmante usa su clave privada para producir una firma sobre el hash del mensaje, y el verificador usa la clave pública para comprobarla.
ECDSA fue durante años uno de los mecanismos más usados en certificados, software firmado y múltiples protocolos seguros.
Además de ECDSA, en años recientes se popularizaron esquemas como EdDSA, por ejemplo Ed25519, que buscan mejorar simplicidad, seguridad de implementación y robustez práctica. Estos diseños modernos muestran que ECC no es un bloque monolítico, sino una familia viva de construcciones y curvas.
No todas las curvas elípticas son iguales ni ofrecen las mismas garantías. La elección de la curva impacta directamente en seguridad, confianza y facilidad de implementación. Por eso en práctica se usan curvas estandarizadas, ampliamente analizadas y adoptadas.
Usar una curva extraña, casera o mal parametrizada puede introducir debilidades graves.
ECC ofrece muchas ventajas, pero su implementación exige cuidado. Los errores pueden aparecer en:
Como siempre en criptografía, el algoritmo correcto no basta si la integración es defectuosa.
En esquemas como ECDSA, el nonce efímero usado al firmar es crítico. Si ese valor se reutiliza o se genera de forma defectuosa, la clave privada puede quedar comprometida. Esta es una de las fallas más peligrosas y conocidas en implementaciones reales.
Por eso la calidad de la aleatoriedad, tema que ya estudiamos, vuelve a ser central aquí.
La criptografía de curva elíptica está muy presente en sistemas modernos:
Una de las razones por las que ECC ganó tanta relevancia es su adecuación a dispositivos donde CPU, memoria, batería o ancho de banda son recursos escasos. En esos contextos, reducir el tamaño de claves y firmas puede marcar una diferencia operativa importante.
Esto explica su fuerte presencia en teléfonos, tarjetas, dispositivos embebidos y sistemas de gran escala que buscan eficiencia.
ECC no elimina la idea de Diffie-Hellman, sino que la reformula de manera más eficiente. ECDH cumple el mismo propósito conceptual que DH clásico: establecer un secreto compartido. La diferencia es que lo hace sobre otra estructura matemática y con claves más pequeñas.
En términos prácticos, esto hace que ECDH sea muy atractivo para protocolos modernos donde eficiencia y seguridad deben convivir.
La criptografía de curva elíptica representa una de las mejoras más importantes en la práctica de la clave pública moderna. Conserva los objetivos esenciales de autenticación, firma e intercambio de secretos, pero lo hace con mayor eficiencia y menores tamaños de clave.
En el próximo tema entraremos en las funciones hash criptográficas, que cumplen un rol distinto al cifrado pero son igual de fundamentales para integridad, firmas, autenticación y protección de contraseñas.