You are on page 1of 10

CURVAS EL IPTICAS Y CRIPTOGRAF IA

ADRIAN BARQUERO SANCHEZ

Resumen. En este trabajo hacemos un repaso por la teor bsica de curvas a a el pticas, mencionado de paso algunos de los teoremas ms importantes de la a teor Luego damos una descripcin de algunas de las aplicaciones criptogra. o a cas de las curvas el pticas.

1.

Introduccion

Las curvas el pticas constituyen unos de los objetos ms bellos e interesantes a de toda la matemtica. Como bien expresan Joseph Silverman y John Tate en su a excelente libro Rational Points on Elliptic Curves [4]: The theory of elliptic curves involves a pleasing blend of algebra, geometry, analysis and number theory. Es precisamente esta mezcla de diferentes ramas de la matemtica la que hace a que un estudio profundo de la teor resulte una tarea para nada fcil para un a a principiante, ya que este debe aprender varios temas que ya por s solos son compli cados, como lo son Teor Algebraica de Nmeros, Geometr Algebraica, Variable a u a Compleja, etc. Esto solo para tener los requisitos necesarios para poder empezar un estudio de los tratados ms avanzados como [5]. Sin embargo hay abundantes refera encias en la bibliograf existente, que son accesibles a un estudiante principiante, a entre las cuales podemos citar [1], [7] y [4].

Date: 25 de noviembre, 2009.


1

ADRIAN BARQUERO SANCHEZ

2.

Introduccion a las curvas El pticas

Vamos a empezar por jar algunas notaciones. Durante lo que sigue K denotar un cuerpo arbitrario. a Resulta que uno de los efectos de la mezcla de distintas reas de la matemtica a a que conuyen en el estudio de las curvas el pticas, hace posible que estas se puedan denir de varias maneras equivalentes. Por lo tanto aqu empezaremos por dar una denicin algebraica general y despus comentaremos como se pueden usar o e resultados bsicos de geometr algebraica para probar que en esencia, las curvas a a el pticas no son nada ms ni nada menos que las curvas algebraicas denidas por a polinomios de grado 3 en dos variables, o sea que son conjuntos de soluciones (x, y) a polinomios de grado 3 f (x, y) en dos variables. En lo que sigue nos basamos en [5]. Denicin 1. Una curva el o ptica es un par ordenado (E, O), donde E es una curva suave de gnero 1 y O E. La curva el e ptica E es denida sobre K, y escribimos E/K, si E es denida sobre K como una curva y adems O E(K). a Ahora, en esta denicin encontramos conceptos conocidos como el de una curva o suave (a pesar de que talvez no conozcamos una denicin rigurosa, estilo geometr o a algebraica), pero tambin est presente el concepto del gnero de una curva (en e a e ingls genus). Hay varias formas de denir el gnero de una curva, sin embargo e e su denicin requiere desarrollar una cierta cantidad de teor previa, que para los o a efectos de este trabajo resulta innecesaria, as que no optamos por dar la denicin o y referimos al lector a libros como [5], [3] o [2]. Aun as vamos a mencionar que , con esa teor y mediante el uso del teorema de Riemann-Roch ( ver [5], [3]) que a, sitamos a continuacin, se puede probar la siguiente proposicin. o o Teorema 1 (Riemann-Roch). Sea C una curva suave y KC un divisor cannico o sobre C. Entonces existe un entero g 0, llamado el gnero de C, tal que para e todo divisor cannico D Div(C), o l(D) l(KC D) = grado(D) g + 1 Proposicin 1 ((ver [5] cap o tulo III, proposicin 3.1)). Sea E una curva el o ptica denida sobre K. (a) Existen funciones x, y K[E] tales que el mapeo : E P2 = [x, y, 1] es un isomorsmo de E/K sobre una curva dada por una ecuacin de Weierstrass o C : Y 2 + a1 XY + a3 Y = X 3 + a2 X 2 + a4 X + a6 con coecientes a1 , . . . , a6 K y tal que (O) = [0, 1, 0]. Llamamos a x, y funciones de coordenadas de Weierstrass sobre E. (b) Cualesquiera dos ecuaciones de Weierstrass para E como en (a) se relacionan por un cambio de variables lineal de la forma

CURVAS EL IPTICAS Y CRIPTOGRAF IA

X = u2 X + r Y = u3 Y + su2 X + t con u, r, s, t K y con u = 0. (c) Inversamente, toda curva cbica suave C dada por una ecuacin de Weierstrass u o como en (a) es una curva el ptica denida sobre K con origen O = [0, 1, 0]. Esta proposicin es de vital importancia en la teor pues nos dice que para o a, estudiar curvas el pticas basta con que nos concentremos en las curvas dadas por ecuaciones de Weierstrass. Debemos aclarar que existe un algoritmo para convertir una ecuacin cbica cualquiera de la forma general o u ax3 + bx2 y + cxy 2 + dy 3 + ex2 + f xy + gy 2 + hx + iy + j = 0 en una ecuacin en forma normal de Weierstrass. Este algoritmo es sencillo y o consiste bsicamente en escoger los ejes X, Y, Z de manera adecuada, por ejemplo, a el lector interesado puede consultar la excelente exposicin en [4], seccin 3 del o o cap tulo I. Ah se da el siguiente ejemplo. Ejemplo 1. La ecuacin cbica dada por u3 + v 3 = , donde Q se transforma o u en la siguiente ecuacin de Weierstrass o y 2 = x3 4322 mediante el cambio de variables (obtenido de aplicar el algoritmo) uv 12 y = 36 u+v u+v Ahora veamos un par de ejemplos de como se ven los grcos de las curvas a descritas por ecuaciones de Weierstrass. x= Ejemplo 2. La curva el ptica con ecuacin y 2 = x3 x tiene un grco que se o a divide en dos componentes debido a que el polinomio cbico en x tiene tres ra u ces reales.

ADRIAN BARQUERO SANCHEZ

2 1.5 1 0.5 -2 -1.5 -1 -0.5 -0.5 -1 -1.5 -2


Ejemplo 3. La curva el ptica con ecuacin de Weierstrass y 2 = x3 + x 1 tiene o solo un componente, y esto corresponde al hecho de que el polinomio cbico en x u solo tiene una ra real. z

0.5

1.5

4 3 2 1 0 -1 -2 -3 -4

1.5

2.5

Estos dos ejemplos muestran los dos tipos de grcos que pueden ocurrir para a una ecuacin de Weierstrass. o

CURVAS EL IPTICAS Y CRIPTOGRAF IA

Ahora vamos a denir la ley de grupo en el conjunto de puntos de una curva el ptica. Solo daremos la denicin formal indicando cuales son las formulas expl o citas en trminos de las coordenadas de los puntos y referimos al lector a cualquiera de e los libros bsicos para una explicacin ms exhaustiva del origen de esta ley. En a o a particular, sugerimos ver el cap tulo I de [4]. Algoritmo 1 (Ley de grupo en una curva el ptica). Sea E una curva el ptica dada por una ecuacin de Weierstrass o E : Y 2 + a1 XY + a3 Y = X 3 + a2 X 2 + a4 X + a6 (a) Sea P0 = (x0 , y0 ) E. Luego P0 = (x0 , y0 a1 x0 a3 ). Ahora sea P1 + P2 = P3 con Pi = (xi , yi ) E.

(b) Si x1 = x2 y y1 + y2 + a1 x2 + a3 = 0, entonces P1 + P2 = O. De otro modo, sean = y2 y1 , x2 x1 = y1 x2 y2 x1 x2 x1 si x1 = x2 ;

3x2 + 2a2 x1 + a4 a1 y1 1 2y1 + a1 x1 + a3

x3 + a4 x1 + 2a6 a3 y1 1 2y1 + a1 x1 + a3

si x1 = x2 .

Luego y = x + es la ecuacin de la l o nea recta que pasa por P1 y P2 , o la ecuacin de la tangente a E si P1 = P2 . o (c) P3 = P1 + P2 es dado por las frmulas o x3 = 2 + a1 a2 x1 x2 , y3 = ( + a1 )x3 a3 . Con estas deniciones se puede probar (ver [5] cap tulo III o [4] cap tulo I) que el conjunto de puntos con coordenadas en K de E, junto con la suma de puntos denida en el algoritmo anterior forman un grupo abeliano con elemento neutro O = [0, 1, 0]. La parte ms complicada de la demostracin es probar la asociatividad a o de la ley. Uno de los teoremas ms importantes en la teor aritmtica de las curvas el a a e pticas es el siguiente teorema, demostrado originalmente por Mordell en 1922 para el caso K = Q y extendido en 1928 por Andr Weil para el caso en que K es un e cuerpo de nmeros arbitrario. u Teorema 2 (Teorema de Mordell-Weil). Sea K un cuerpo de nmeros (o sea que u [K : Q] es nito) y sea E/K una curva el ptica. Entonces el grupo E(K) es nitamente generado.

ADRIAN BARQUERO SANCHEZ

Ntese que en particular el teorema de Mordell-Weil implica que el subgrupo de o torsin de una curva el o ptica es nito. Acerca del subgrupo de torsin de una curva el o ptica denida sobre Q existen varios resultados realmente hermosos, como los son los siguientes dos teoremas. Teorema 3 (Teorema de Lutz-Nagell). Sea E/Q una curva el ptica con ecuacin o de Weierstrass y 2 = x3 + Ax + B, A, B Z. Suponga que P E(Q) es un punto de torsin distinto de O. Entonces o (a) x(P ), y(P ) Z. (b) O se tiene que 2P = O o si no y(P )2 divide a 4A3 + 27B 2 . En particular, este resultado brinda una manera efectiva de calcular el subgrupo de torsin de una curva el o ptica sobre Q. En 1977 Barry Mazur prob que el subo grupo de torsin solo puede tener 15 formas distintas, resultado que hab sido o a conjeturado por Ogg 1976 y tambin hab sido conjeturado por Beppo Levi en e a 1906 durante el congreso internacional de matemticos, aunque su conjetura fue a olvidada posteriormente, hasta ser redescubierta por Ogg. Teorema 4 (Mazur). Sea E/Q una curva el ptica. Entonces el subgrupo de torsin o Etors (Q) es isomorfo a uno de los siguientes 15 grupos: Z/N Z 1 N 10, Z/2Z Z/N Z o N = 12;

1 N 4.

Finalmente, enunciamos el importante teorema de Hasse (1930), que dice que sobre un cuerpo nito de q elementos, una curva el ptica posee aproximadamente q + 1 puntos, con un error de no ms que 2 q. a Teorema 5 (Hasse). Sea E/Fq una curva el ptica. Entonces |#E(Fq ) q 1| 2 q. El lector interasado puede ver estos teoremas en [5], [4], o [7]. Ahora podemos pasar a describir algunas de las aplicaciones criptogrcas de las curvas el a pticas.

CURVAS EL IPTICAS Y CRIPTOGRAF IA

3.

Aplicaciones en la criptograf a

3.1. El algoritmo de factorizacin de Lenstra. A nales de los aos 80 o n Hendrik Lenstra descubri un algoritmo basado en la teor de curvas el o a pticas para factorizar enteros. La idea de Lenstra se basa en un algoritmo previamente existente, conocido como el algoritmo p 1 de Pollard (ver [4]). A continuacin o resumimos el algoritmo. Este se basa en calcular kP para distintos enteros k y para un punto P E(Fp ) donde E es una curva el ptica. Algoritmo 2 (Algoritmo de Curvas El pticas de Lenstra). Sea n 2 un entero compuesto, el cual queremos factorizar. Paso 1 Vericar si mcd(n, 6) = 1 y que n no tiene la forma mr para algn r 2. u Paso 2 Escoger enteros aleatorios b, x1 , y1 entre 1 y n. 2 Paso 3 Sea c = y1 x3 bx1 (md n), sea C la curva cbica dada por la o u 1 ecuacin de Weierstrass o C : y 2 = x3 + bx + c y sea P = (x1 , y1 ) C. Paso 4 Vericar que mcd(4b3 + 27c2 , n) = 1. Si es igual a n, volver al paso 2 y escoger un nuevo b. Si est estrictamente entre 1 y n, entonces es un factor no a trivial de n y hemos terminado. Paso 5 Escoger un nmero N y sea u k = mcm(1, 2, 3, . . . , N ). Paso 6 Calcular kP = ak bk , d2 d3 k k .

Paso 7 Calcular D = mcd(dk , n). Si 1 < D < n, entonces D es un factor no trivial de n y hemos terminado. Si D = 1, volver al paso 5 e incrementar el valor de N o volver al paso 2 y escoger una nueva curva. Si D = n, entonces volver al paso 5 y disminuir el valor de N . Hay algunas cosas que debemos observar. Primero, en el algoritmo se debe calcular kP , este calculo se puede hacer de manera eciente doblando el punto de manera sucesiva, justo como se hace en la exponenciacin rpida. Segundo, la foro a ma particular del punto P dada por ak bk , d2 d3 k k se obtiene de las frmulas expl o citas para la suma de puntos. Recuerde que las frmulas (adaptadas al tipo particula de curva que estamos considerando) son dadas o por kP = x3 = 2 x1 x2 , y3 = x3 . donde en particular es dado por una fraccin y entonces es claro que al escribir o todo sobre el mismo denominador, se obtiene la forma particula del punto kP .

ADRIAN BARQUERO SANCHEZ

Finalizamos esta breve descripcin del algoritmo de Lenstra reriendo al lector a o [4] para un ejemplo detallado de su uso. Por ultimo, segn [6] el tiempo de ejecucin u o del algoritmo de Lenstra es de aproximadamente exp c (log p)(log log p) pasos.

3.2. Cmo representar un mensaje como un punto sobre una curva o el ptica? Resulta que varios de los mtodos para encriptar mensajes de uso ms e a comn tienen su versin anloga para curvas el u o a pticas. En este caso lo que cambia es bsicamente que ahora la seguridad de estos algoritmos se basa la dicultad a del problema del logaritmo discreto para curvas el pticas. Este es simplemente el problema de que dados dos puntos A, B sobre una curva el ptica E, hallar un entero k tal que kA = B. Neal Koblitz propuso el siguiente mtodo (ver [7] pgina 174) e a para representar un mensaje como un punto sobre una curva el ptica. Sea E una curva el ptica sobre Fp dada por y 2 = x3 + Ax + B. Sea m un mensaje, expresado p . Sea xj = 100m + j para 0 j 99. Calculamos como un nmero 0 m u 100 3 sj = xj + Axj + B. Ahora vericamos si sj es un cuadrado mdulo p observando si o
p1

sj 2 1

(md p) o

En caso de que sj sea un cuadrado, no debemos probar ms valores de j y nos a detenemos, si no, cambiamos el valor de j. La idea es ir variando j entre 0 y 99 hasta hallar un valor que haga que sj sea cuadrado perfecto pues lo que queremos es un punto en la curva el ptica. Cuando obtenemos un sj que sea cuadrado perfecto, le calculamos una ra cuadrada por uno de los mtodos conocidos y tomamos yj como z e una de estas ra cuadradas. Esto nos da un punto (xj , yj ) en la curva el ces ptica E. Ahora note que para recuperar el mensaje m de este punto simplemente se calcula xj 100 No es garantizado que este mtodo nos dar un punto para la eleccin de curva e a o el ptica del inicio, sin embargo, la probabilidad de que no funcione para la curva el ptica escogida es de aproximadamente 2100 . Ahora veamos como se adapta esto a un protocolo ya conocido. 3.3. ElGamal con curvas el pticas. Alicia quiere mandarle un mensaje a Beto. Primero, Beto establece su clave pblica de la siguiente manera. Escoge una curva u el ptica sobre un cuerpo nito Fp . Tambin escoge un punto P sobre E. Despus e e escoge un entero s que mantiene secreto y calcula B = sP . Entonces la clave pblica u de Beto la conforman la curva el ptica E, el cuerpo nito Fp , y los puntos P y B sobre E. La clave privada de Beto es el entero s. Para mandarle un mensaje a Beto, Alicia debe hacer lo siguiente: Paso 1 Obtiene la clave pblica de Beto. u Paso 2 Expresa su mensaje como un punto M E(Fp ). Paso 3 Escoge un entero aleatorio k, que mantiene secreto, y calcula el punto M1 = kP . Paso 4 Calcula M2 = M + kB. Paso 5 Le env M1 y M2 a Beto. a

CURVAS EL IPTICAS Y CRIPTOGRAF IA

Luego, Beto puede recuperar el mensaje de Alicia calculando M = M2 sM1 . Note que este calculo precisamente nos da M pues M2 sM1 = (M + kB) s(kP ) = M + k(sP ) s(kP ) = M + skP skP = M. Este es solo uno de los varios ejemplos existentes de los usos que en la actualidad se le da a las curvas el pticas en aplicaciones a la criptograf El lector encona. trar que hay muchos libros que tratan el tema desde diversos puntos de vista, sin a embargo un buen punto de partida es [7].

10

ADRIAN BARQUERO SANCHEZ

Referencias
[1] John William Scott Cassels, Lectures on Elliptic Curves, London Mathematical Society Student Texts 24, 1991. [2] Frances Kirwan, Complex Algebraic Curves, London Mathematical Society Student Texts 23 , 1992. [3] Robin Hartshorne, Algebraic Geometry, Springer Graduate Texts in Mathematics, 1977. [4] Joseph Silverman, John Tate, Rational Points on Elliptic Curves, Springer Undergraduate Series in Mathematics, 1992. [5] Joseph Silverman, The Arithmetic of Elliptic Curves, Springer Graduate Texts in Mathematics, 1986. [6] Joseph Silverman, The Arithmetic of Elliptic Curves, Springer Graduate Texts in Mathematics, Second Edition, 2009. [7] Lawrence C. Washington, Elliptic Curves: Number Theory and Cryptography, CRC Press, 2008. [8] Annette Werner, Elliptische Kurven in der Kryptographie, Springer Lehrbuch, 2002.

You might also like