En este artculo se presenta la criptografa con curvas elpticas. Para ello empezaremos con la denicin de curva elptica, veremos que son conjuntos de puntos en los que se puede denir una operacin denominada suma, a partir de esta suma quedar denido, de forma natural, el mltiplo de un punto como suma del punto consigo mismo un nmero determinado de veces. A continuacin veremos cmo usar esta estructura en criptografa, concretamente veremos la utilidad del clculo de mltiplos de un punto de una curva elptica, como funcin unidireccional. Se mostrar una aplicacin al intercambio de claves, as como una aplicacin al cifrado de mensajes. Acabamos mostrando ejemplos de uso actual de curvas elpticas en aplicaciones cotidianas y algunas de sus ventajas frente a otras alternativas.
2. Curvas elpticas
Es bien conocido que gran parte de la investigacin criptogrca actual se centra en el uso de las curvas elpticas. Lo que seguramente no es tan popular es qu son las curvas elpticas y cmo se utilizan. Este artculo trata de responder a esas preguntas.
2.1. Qu son las curvas elpticas?
Una curva elptica sobre un cuerpo K se dene como el conjunto de puntos (x, y) de K K que son solucin de la siguiente ecuacin: y 2 = x 3 + x + (1) Donde y son dos parmetros que denen la curva y deben cumplir la relacin 4 3 + 27 2 = 0. Es necesario, as mismo, aadir un punto ms que llamaremos O y que se llamar punto del innito.
Podemos dibujar con facilidad una curva elptica sobre R siguiendo los siguientes pasos: 1. Dibujamos la cbica y = x 3 + x + 2. Eliminamos los puntos con ordenada negativa
3. Aplicamos la transformacin (x, y) (x, y) 4. Reejamos la grca resultante respecto el eje de abscisas
La condicin 4 3 + 27 2 0 garantiza que la curva elptica sea regular, es decir, sin vrtices ni autointersecciones. Si 4 3 + 27 2 > 0 la curva tiene una unica componente conexa mientras que si 4 3 +27 2 < 0 tendr dos, esto puede observarse en la Figura 1.
2.2. Cmo se usan las curvas elpticas?
La principal propiedad de las curvas elpticas que explota la criptografa es su capacidad para denir, de manera natural, un grupo abeliano sobre el conjunto de sus puntos. Efectivamente, existe una operacin binaria interna que es asociativa. Su elemento neutro es el punto del innito O y si P =(x, y) es un punto de la curva entonces su inverso ser P =(x, y).
Es comn referirse al grupo denido por la curva elptica E como (E(K), +). Dados dos puntos P y Q de E(K), el punto P + Q se obtiene trazando la recta que pasa por P y Q para encontrar un tercer punto de interseccin que llamaremos R y posteriormente reejando este tercer punto respecto el eje de abscisas, as P + Q = R. Dicho de otra manera, si una recta corta E(K) en 3 puntos P , Q y R, entonces P + Q + R = O (ver Figura 2).
En algunos casos concretos la recta cortar E(K) en dos puntos. Si se trata de dos puntos que se hayan sobre la misma vertical tenemos la relacin P + Q = O
Figura 1: Familia y 2 = x 3 10x + t con t =0, 5, 10, 15, 20
Figura 2: Suma grca de dos puntos
(i.e. Q = P ) ya que toda recta vertical corta el punto del innito O (ver Figura 3).
Si por el contrario la recta es tangente a la curva en P y secante en Q lo que sucede es que estamos sumando dos veces el primer punto. Es decir P +P = Q (ver Figura 4).
Figura 3: Suma grca de dos puntos
Figura 4: Suma grca de dos puntos
Sea como fuere la suma de puntos est bien denida en E(K) y podemos operar en este grupo con nes criptogrcos.
3. Criptografa de clave pblica En criptografa de clave pblica se hace uso de las funciones unidireccionales (o one-way functions). Se trata de funciones matemticas que resultan sencillas de calcular pero difciles de invertir. As, si f(x) es una funcin unidireccional ser rpido calcular la imagen, f(x)= y, pero computacionalmente intratable calcular su inversa, f 1 (y)= x. Una de las funciones unidireccionales ms usadas y estudiadas es la exponencial discreta. Dado un grupo cclico G de orden p y uno de sus elementos, g, podemos denir la operacin exponencial f g (x)= g x para todo x =0 ...p 1. Existen algoritmos de exponenciacin rpida que pueden hacer este clculo (dados g y x) en tiempos aceptables para grupos de orden p muy grande. Sin embargo, si disponemos del resultado h = g x y la base g los clculos necesarios para obtener x requieren un tiempo exponencial para ejecutarse y resultan intratables en grupos de orden sucientemente grande. Esta operacin, f g 1 (h)= x se llama, por motivos obvios, logaritmo discreto en base g de h. Su dicultad radica en la naturaleza cclica de la operacin denida en G y es la base de muchos algoritmos criptogrcos que se usan hoy en da. 3.1. El problema del logaritmo elptico Ahora que ya sabemos que las curvas elpticas denen un grupo abeliano sobre sus puntos y que dado un grupo podemos obtener una funcin unidireccional con utilidad criptogrca es hora de que veamos un ejemplo de ambas cosas juntas. En la siguiente imagen se pueden apreciar los 17 puntos de la curva elptica y 2 = x 3 10x +1 en Z 19 Z 19 .
Figura 5: Puntos de y 2 = x 3 10x +1 en Z 19 Z 19
De nuevo, la suma de puntos se dene grcamente. Pero en este caso existen casos en los que la naturaleza cclica de Z 19 Z 19 hace que la recta que ha de unir P y Q con R desaparezca por un lateral y aparezca por el opuesto como si nos encontrsemos en un toro.
Figura 6: Suma de puntos: P + Q = R As, dados P y Q resulta sencillo y relativamente rpido (con los algoritmos adecuados) encontrar el punto R. De manera que podemos calcular x P 1 con x =0 ... 16 ecientemente. Sin embargo, dados dos puntos P y Q de la curva resulta muy difcil saber para qu valor de x se cumple x P = Q. Esta operacin se conoce como el logaritmo elptico en base P de Q y los mejores algoritmos conocidos a tal efecto resultan tan inecientes como probar uno a uno todos los posibles valores de x hasta dar con el que cumple la relacin. 3.2. Aplicaciones del Logaritmo Elptico Desde el punto de vista criptogrco el logaritmo elptico tiene muchas aplicaciones. Podemos usarlo, por ejemplo, para intercambiar claves de forma segura, siguiendo el protocolo de Diffie y Hellman: Ana y Beln necesitan compartir una clave comn para cifrar sus comunicaciones. Sospechan que Eva ha pinchado su linea telefnica y escuchar todo lo que enven a travs de ella. As pues deciden usar criptografa con curvas elpticas. Para empezar eligen una curva elptica que genere un grupo de orden muy grande y acto seguido eligen un punto P de dicha curva. Una vez hecho esto cada una, de manera secreta, elige un nmero que llamaremos a en el caso de Ana y b en el caso de Beln. Ana calcular a P y se lo enviar a Beln. Beln calcularb P y se lo enviar a Ana. En este punto Eva, que ha estado escuchando todo el rato, conoce los puntos P , a P y b P pero es incapaz de calcular a o b porque el logaritmo elptico es computacionalmente intratable. Ana y Beln tampoco pueden calcular b y a (respectivamente) pero no es necesario. Ana conoce a y b P as que puede calcular a (b P ) y Beln conoce b y a P as que puede calcular b (a P ). Es decir, han obtenido una clave comn (a b) P que Eva no puede calcular con la informacin que tiene (P , a P y b P ). Gracias al problema del logaritmo elptico tambin podemos trabajar con esquemas de cifrado con clave pblica como el del siguiente ejemplo, basado en el protocolo de ElGamal: Para comenzar se supone elegida una curva elptica en la que el problema del logaritmo sea difcil. Alberto publica en su web la siguiente informacin de contacto: P y x P . Es lo que llamamos la clave pblica de Alberto. Su clave privada ser x. Ahora supongamos que Benito le quiere enviar un mensaje, m, cifrado de manera que nadie ms lo pueda leer. El mensaje m ha sido previamente codicado de manera que pueda suponerse que es un punto de la curva considerada. Benito elegir un nmero k aleatorio y calcular: k P y m + k (x P ). Cuando Alberto reciba el mensaje cifrado (k P , m+k (x P )) podr calcular x (k P ) porque conoce x y k P . Acto seguido encontrar xk P y sumndolo a m + k (x P ) obtendr el mensaje m. Si en vez de Alberto es Ernesto el que recibe el mensaje secreto no podr calcular x k P ya que, si bien conoce P , x P y k P , la intractabilidad del logaritmo elptico le impide obtener x o k. En consecuencia no le ser posible leer un mensaje que no va dirigido a l. Pero es que si por casualidad Benito pierde el mensaje original m y conserva tan slo su versin cifrada (k P , m + k (x P )) tampoco l podra recuperar el texto llano sin la ayuda de Alberto. De una manera similar podemos generar un par de claves pblica-privada que nos permita rmar digitalmente documentos importantes. En resumen, usando criptografa con curvas elpticas podemos asegurar cuatro propiedades bsicas de nuestras comunicaciones: Condencialidad: Nadie ms puede leer los mensajes dirigidos a m. Integridad: El texto no ha sido modicado desde que lo rm. Autenticidad: El destinatario puede estar seguro de que soy quien digo ser. No Repudio: No puedo negar que dije lo que dije.
Juntas, esas cuatro propiedades nos permiten trabajar con nuestra cuenta corriente desde casa sin miedo a que... Otros sepan el estado de mis cuentas (Condencialidad). Otros modiquen mis rdenes antes de que el banco las reciba (Integridad). Otros enven rdenes en mi nombre (Autenticidad).
Por su parte el banco tambin agradece que la criptografa le asegure que... No me retractar de ninguna de mis rdenes alegando que fue otro quien las envi (No Repudio). Pero nuestro banco no es el nico que puede beneciarse de los usos criptogrcos de las curvas elpticas. Existen un buen nmero de organizaciones y empresas que ya las usan. Programas tan cootidianos como el Windows Media Player hacen uso de la criptografa con curvas elpticas para proteger las claves de las licencias que nos autorizan a reproducir contenidos con DRM 2 . Los reproductores de Blu-Ray y la consola Play Station 3 implementan una tecnologa similar para evitar la copia de contenidos mientras que la consola Wii necesita curvas elpticas para asegurar que nadie hace trampa cuando guardamos una partida on-line. Productos con menos potencia que un ordenador medio tambin pueden acceder a altos niveles de seguridad criptogrca gracias a las curvas elpticas. Es el caso de los famosos smart-phones de la marca Blackberry, que cifran as la informacin que transmiten. Incluso los nuevos pasaportes alemanes usan las curvas elpticas para proteger los datos biomdicos 3 que almacenan. Aunque quiz el ejemplo ms inuyente y esclarecedor de uso criptografa con curvas elpticas es la Suite B del gobierno de los Estados Unidos. Dicha suite es un estndar federal de proteccin de documentos que actualmente usa algoritmos basados exclusivamente 4 en curvas elpticas para cifrar documentos clasicados como crticos o condenciales. 3.3. Las ventajas del Logaritmo elptico Pero todos estos algoritmos y propiedades funcionan tambin en otros grupos ms sencillos, como por ejemplo en los enteros modulares y existen algoritmos similares con otras funciones unidireccionales, como la exponenciacin modular, entonces... por qu usar curvas elpticas? Hay 3 motivos fundamentales para usar curvas elpticas en vez de otros sistemas que han sido tiles hasta ahora (como el RSA 5 ). Longitud de las claves: Para conseguir un mismo nivel de seguridad usando RSA en vez de curvas elpticas necesitamos claves mucho ms largas. As, una clave RSA de 1024 bits equivale a una clave de 160 bits cuando usamos curvas elpticas. Una clave RSA mucho ms segura requerira el doble de bits, 2048, mientras que una clave equivalente para curvas elpticas tiene 210 bits, que es tan slo un 31,25 % ms larga que la anterior. Clculos sencillos: Trabajar con nmeros y claves de menor tamao y la aritmtica propia de las curvas elpticas es ms sencillo que manejar el gran nmero de reducciones modulares que requiere el RSA. Esta propiedad hace de la criptografa con curvas elpticas la candidata ideal para ser implementada en dispositivos con poca capacidad de clculo: tarjetas inteligentes, telfonos mviles, sistemas integrados en dispositivos de pequeo tamao o de bajo consumo... Operaciones exclusivas: La investigacin en el campo de las curvas elpticas est oreciendo ms que otras ramas de la criptografa de clave pblica gracias al descubrimiento de diversos pairings 6 interesantes denidos sobre los puntos de dichas curvas. Por todos estos motivos las curvas elpticas son un fecundo e interesante campo de estudio en la actualidad y cobrarn cada vez ms importancia en los prximos aos.
Notas: 1 Ntese que en los grupos denidos por curvas elpticas usamos la notacin aditiva y no la multiplicativa. En este caso la operacin exponencial es x P y no P x . 2 Digital Rights Management; Gestor Digital de Derechos. 3 Como por ejemplo la huella dactilar del dueo del pasaporte. 4 En realidad tambin usa AES para cifrado simtrico y SHA como funcin de hash. 5 El famoso criptosistema de Rivest, Shamir y Adleman basado en la exponenciacin modular. 6 Un pairing es una operacin f : G G G bilineal y no degenerada (donde G es un grupo de orden p) que, en particular, puede ser explotada con nes criptogrcos.