
Las curvas elípticas son objetos geométricos con sabor aritmético e increíblemente interesantes por sus diversas aplicaciones y conexiones con problemas teóricos y la criptografía. Si buscas en Google o le preguntas a una IA por cómo se ven, probablemente verás una imagen como esta:

La criptografía de clave pública está basada en problemas matemáticos de difícil solución y las curvas elípticas nos otorgan una de ellas.
Cuerpo de definición
Lo primero es que debemos fijar un espacio donde observarlas. Este espacio vendrá de una estructura algebraica llamada cuerpo, al que denotaremos por . Los ejemplos de cuerpos más conocidos son los números reales , los complejos y los racionales Algo que caracteriza a los ejemplos anteriores es que si sumamos las veces que queramos, este resultado jamás será . Estos cuerpos son llamados cuerpos de característica .
Existen otras familias de cuerpos de naturaleza diferente. Cuando cambiamos la aritmética usual por la aritmética modular, obtenemos el conjunto de los enteros módulo al que denotamos como
Cuando es un número primo (en tal caso mejor escribimos en vez de ) , el conjunto es un cuerpo y tiene elementos. En este caso, cuando calculamos veces, el resultado será 0. Este cuerpo es llamado cuerpo de característica y lo denotamos como . También existen cuerpos finitos de elementos, cuya construcción se explica en este post
Definiendo una curva elíptica
Una curva elíptica sobre un cuerpo está definida por una curva no singular de la forma:
donde . A esta expresión se le llama ecuación de Weierstrass generalizada.
¿Qué significa que la curva sea no singular? La ecuación anterior determina un polinomio
luego la curva (o su gráfica) está dada por los puntos
Diremos que una solución es singular si
Por lo tanto, que la curva sea no singular quiere decir que la condición anterior no se cumple para ninguno de sus puntos. Geométricamente, significa que la curva no se cruza a sí misma ni tiene puntas. Es decir, es suave.
Si es un cuerpo de característica distinta de 2 y 3, es posible transformar la ecuación anterior en la Ecuación corta de Weierstrass:
La transformación corresponde a cambios de variables en los cuales se dividen por 2 y 3. Esto no se podría hacer si la curva estuviera definida en un cuerpo del tipo o pues 2 y 3 serían iguales a 0!
Con todo lo anterior, definimos
Ese punto extra llamado punto en el infinito, tiene su origen en la geometría proyectiva y tiene un rol fundamental cuando veamos la aritmética de la curva.
La geometría
En este post, nos quedaremos con esta definición para una curva elíptica:
donde están en y verifican que . Esto último asegura que la curva es no singular.
Si la curva está definida sobre , podría tener una gráfica como las siguientes:

Sin embargo esto cambia cuando la curva está definida sobre un cuerpo finito:

La aritmética
Podemos definir en estas curvas una ley de suma. Así como escuchaste. Más aún, la fórmula para sumar es completamente geométrica.
Supongamos que queremos sumar los puntos y en la curva, de manera de obtener un tercer punto denotado que también pertenece a la curva.

Comenzamos construyendo la recta que pasa por los puntos y :

Esta recta siempre intersecta la curva debido al Teorema de Bézout.
Finalmente, tomamos la recta vertical1 que pasa por el punto en el eje , intersectamos la curva y obtenemos :

Si queremos duplicar un punto, es decir, calcular , consideramos la recta tangente a la curva en el punto , intersectamos la recta con la curva y el punto obtenido nuevamente se refleja en el eje :

Lo más interesante es que esta operación suma se comporta bien, es decir, es un grupo abeliano y el punto en el infinito juega el rol de elemento neutro o cero de la suma.2 Este es el sabor aritmético.
Si bien hemos descrito lo anterior en una curva definida en , el método también vale cuando se trabaja en cuerpos finitos.
Algorítmica de la adición
La base de la definición anterior es el método de la cuerda y la tangente. Pareciera que no es explícito, pero sí lo es. Si consideramos una curva en su ecuación corta de Weierstrass , se tiene lo siguiente:
- Inverso: Dado en la curva , su inverso aditivo es .
- Fórmula de suma: Dado y en la curva, donde ,
la suma es calculada como: - Fórmula de duplicación: Dado , su duplicación es calculada como:
Las fórmulas anteriores se obtienen calculando la intersección de la recta que pasa por los puntos y la curva.
Espacio Proyectivo
En las fórmulas anteriores se requiere calcular inversos multiplicativos para obtener el valor de . Esta operación es computacionalmente costosa en el caso de cuerpos finitos; por lo tanto, si queremos, por ejemplo, calcular , esto crecerá según el tamaño del escalar k. Una forma de evadir estos inversos es regresando al corazón de una de las definiciones de una curva elíptica.
Se define en la relación de equivalencia
Una clase de equivalencia es denotada por . 3El espacio proyectivo está definido como el conjunto de las clases de equivalencia con esta relación:
Dada podemos obtener la versión proyectiva4 de la curva elíptica con el cambio de variables y :
Así, un punto es representado por una tupla en la clase de equivalencia:
y la función inversa está dada por
¿Por qué movernos al espacio proyectivo nos salva de los inversos multiplicativos?
Si tenemos un punto en la curva proyectiva con denominadores en sus coordenadas, podemos multiplicar ese punto por un escalar conveniente y eliminarlos. En el espacio proyectivo, ambos puntos pertenecerán a la misma clase de equivalencia y, por ende, serán iguales. 5
Este espacio incluye el punto al infinito del que hablamos antes. Cuando , entonces al reemplazar en la curva tendríamos , con lo que obtendríamos el punto
Otros modelos de curvas elípticas de interés en criptografía se pueden encontrar aquí: https://hyperelliptic.org/EFD/.
En el siguiente post, se viene un gran tema: curvas elípticas y criptografía.
- Más general, diríamos la recta que pasa por el punto en el infinito y por ↩︎
- Washington, L. C. (2008). Elliptic Curves: Number Theory and Cryptography (2a ed.). Chapman and Hall/CRC. ↩︎
- Existen otras formas de representar los puntos para trabajar en un espacio proyectivo, de manera de aleatorizar las coordenadas y proteger la operación suma de ataques de tipo side channel. Ver, por ejemplo, la sección 3.2.1 del texto de Hankerson,Menezes y Vanstone. ↩︎
- Otra definición más abstracta: una curva elíptica definida sobre un cuerpo es una curva de género 1, proyectiva y no singular con un punto distinguido -racional (el punto en el infinito). ↩︎
- Hankerson, D., Menezes, A. J., & Vanstone, S. (2004). Guide to Elliptic Curve Cryptography. Springer Science & Business Media. ↩︎







Deja un comentario