Вы находитесь на странице: 1из 15

Escrito por Carlos Luna y Paz Morillo

Martes 12 de Mayo de 2009


1. Introduccin

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.

Вам также может понравиться