CurvasElipticas Articulo
CurvasElipticas Articulo
CurvasElipticas Articulo
Resumen
El uso de técnicas criptográficas tiene como propósito prevenir algunas fallas de seguridad en un
sistema automatizado. La seguridad en general debe ser considerada como un aspecto de gran
importancia en cualquier corporación que trabaje con sistemas computarizados. El hecho que gran
parte de actividades humanas sea cada vez más dependiente de los sistemas computarizados hace que la
seguridad juegue un papel importante, al punto en que se han creado políticas de aseguramiento de la
información tanto a nivel físico, en donde el acceso a los equipamientos computacionales es
resguardado, como a nivel lógico donde entra en juego el ámbito de la criptografía. Dentro de los
métodos criptográficos de cifrado encontramos los sistemas simétricos y los sistemas asimétricos, los
cuales difieren en el manejo de las claves que hacen posible sus respectivos procesos de cifrado y
descifrado. Ambos tipos criptográficos logran satisfacer algunos de los principios básicos de la
seguridad informática como la confidencialidad e integridad, sin embargo, para el caso de los sistemas
asimétricos también se logra satisfacer el principio básico de la irrefutabilidad o no repudio de la
información. Los métodos de clave pública más utilizados son el RSA, para encriptado y firma digital, el
Dffie-Hellman para acuerdo de claves y el DSA para firmas digitales. Sin embargo, con el incremento
de la capacidad de cómputo actual existen algoritmos matemáticos que resuelven estos métodos y por
lo tanto es necesario aumentar el tamaño de las claves, lo que implica un mayor costo de
procesamiento. En 1985, Neil Koblitz y Victor Miller, de forma independiente, propusieron el
criptosistema de curva elíptica (ECC: Elliptic Curve Cryptosystem), cuya seguridad computacional se
basa en el Problema del Logaritmo Discreto, lo cual permite utilizar claves de tamaño más pequeñas
que otros algoritmos de clave pública, permitiendo su implementación en aplicaciones donde los
recursos de computación son limitados tales como smart cards y teléfonos celulares.
En este trabajo conoceremos qué son las curvas elípticas y como pueden ser usadas para construir
criptosistemas de clave pública. Primero se presenta un marco teórico donde se detallan las nociones
matemáticas que dan origen a las curvas elípticas y el problema del Logaritmo Discreto y su análogo
sobre curvas elípticas. A continuación se describen la teoría de criptografía de clave pública, se detalla la
criptografía ECC y se realiza una comparación con el sistema de clave pública RSA. Luego se
especifican los estándares de los criptosistemas ECC incluidos en NIST y ANSI, incuyendo el IEEE
P1363. Posteriormente se realiza una descripción de algunos algoritmos basados en ECC como
ElGamal y un ejemplo de esquema de firma digital. El uso de las curvas elípticas actualmente está
adquiriendo una gran difusión de su uso, es por ello que describiremos las ventajas y desventajas de su
implementación tanto en la parte de seguridad como en el campo económico. A continuación se
describen algunas implementaciones de ECC en la industria del hardware y del software que dan una
visión de su importancia y posteriormente se habla de la empresas públicas y privadas que actualmente
desarrollan productos con ECC, en el caso de empresas privadas Certicom y a nivel de gobiernos la
NSA de EEUU con su Suite B que es un estándar federal para la seguridad en las comunicaciones
clasificadas y no clasificadas basada en ECC. Para finalizar se presentan algunos desafíos resueltos y
otros por resolver relacionados con la criptografía de curvas elípticas.
1
Introducción
La criptografía de clave pública se ideo con el objetivo de solucionar dos de los grandes problemas
asociados a la criptografía pública: La distribución y gestión de claves y la firma digital [1].
El primer sistema de clave pública fue el Diffie Hellman, publicado en mayo de 1976 [2], basado en el
problema de logaritmo discreto (DLP) y el objetivo es el acuerdo de clave entre dos usuarios. En 1978
aparece el RSA, creado por Rivest, Shamir y Adleman y utiliza el problema de la factorización de
enteros (IFP) como la base matemática [3].
Como una opción, en 1985, Neil Koblitz y Victor Miller (independientemente) propusieron el Elliptic
Curve Cryptosystem (ECC)[4], o Criptosistema de Curva Elíptica, cuya seguridad descansa en el mismo
problema que los métodos de Diffie-Hellman y DSA la base matemática del problema del logaritmo
discreto adaptado a las curvas elípticas llamado ECDLP, pero en vez de usar números enteros como los
símbolos del alfabeto del mensaje a encriptar (o firmar), usa puntos en un objeto matemático llamado
Curva Elíptica. ECC puede ser usado tanto para encriptar como para firmar digitalmente.
La criptografía de curvas elípticas (ECC) son los criptosistemas más recientes dentro del campo de los
sistemas de clave pública y representan sólo otra forma de implementar métodos de logaritmo discreto.
Las curvas elípticas en criptografía son básicamente un conjunto de puntos que cumplen la y2 = x3 + ax
+ b siempre que sean considerados en un cuerpo finito de característica p (con p > 3). Para
características del cuerpo p = 2 y p = 3 se requiere una ecuación ligeramente diferente.
Los puntos de una curva elíptica forman una estructura llamada grupo (concretamente son un grupo
abeliano). Esto significa que podemos realizar las operaciones aritméticas de suma y resta con ellos del
mismo modo que lo hacemos con los enteros.
Además de presentar algunas ventajas teóricas son muy prácticas. No existe ningún algoritmo rápido de
cálculo de un logaritmo, lo cual supone que el tamaño de la clave, así como las firmas digitales y
mensajes cifrados obtenidos son pequeños. De hecho, los criptosistemas basados en curvas elípticas
proporcionan la misma seguridad que los basados en factorización o logaritmo discreto reduciendo
considerablemente el número de dígitos.
Las curvas elípticas pueden ser implementadas con gran eficiencia en hardware y software, y son
capaces de competir en velocidad con sistemas como RSA y DSS. En general se cree que son bastante
seguros, pero no ha sido demostrado. Sí se sabe que existe un tipo de curvas que recientemente se ha
revelado extremadamente vulnerable, por lo que éstas no deben usarse en criptografía. Y de entre los
demás tipos de curvas se deberá examinar cuidadosamente antes de elegir uno concreto para
comprobar su idoneidad como base para un código de cifrado de datos.
Marco Teórico
Una curva elíptica es una ecuación de la forma
donde x e y son las indeterminadas y a1, a2, a3, …, a5, son elementos constantes de un campo.
Aunque esta ecuación puede ser estudiada sobre varias estructuras algebraicas, como un anillo o campo;
para nuestros propósitos, consideraremos solamente las curvas elípticas sobre un campo. En este caso,
los coeficientes ai son elementos del campo, y nuestra tarea es encontrar pares (x; y) con x e y en el
campo, que satisfagan la ecuación.
Para entender de que estamos hablando, consideremos el campo de los números reales R. Podemos
obtener un gráfico de la curva elíptica fiando un x y resolviendo la ecuación cuadrática en y. Veamos
como quedará el gráfico de la siguiente curva:
2
donde a1= a2 = a3 = 0, a4=-4 y a5=0,67
En la Figura 1 se muestra el gráfico resultante
El grafico consiste de dos partes separadas, aunque podrán estar pegadas por un solo punto, o bien
consistir solamente de una parte, en forma de “campana”. Veremos que el conjunto de soluciones de
una curva elíptica tiene propiedades interesantes. En particular, se puede hacer del conjunto un grupo,
es decir proveer al conjunto de una operación binaria y un elemento identidad, lo cual nos habilita para
hacer criptografía.
Yendo al caso de los números reales, se podrá probar que si x3 +ax+b no tiene factores repetidos, o
equivalentemente 4a3 +27b2 6 ≠ 0, entonces las curvas elípticas de la forma y2 = x3 + ax + b forman un
grupo.
Entonces, pasemos a definir la operación, siguiendo la Figura 2. Tome dos puntos P y Q de la curva, y
trace la línea que pasa por ambos puntos. En el caso general esta línea siempre tiene un punto de
intersección con la curva. Ahora tome este tercer punto en la intersección de la línea con la curva y
trace una línea vertical. El otro punto R de intersección con la curva de esta línea vertical se define
como la suma de P y Q, en símbolos, R = P + Q.
La Figura 2 también nos muestra como definimos el elemento opuesto -R a un punto R de la curva:
simplemente, el punto opuesto a R = (x; y) es el punto -R = (x;-y)
Si P1 = P2, es decir que queremos obtener R = P + P (vea Figura 3), entonces la línea a ser construida
en el primer paso es la tangente a la curva, el cual otra vez tiene otro punto de intersección con la curva.
Note que el grupo es conmutativo.
3
Una parte compleja es definir el elemento identidad del grupo. La pregunta a responder es: ¿Qué punto
de la curva sumado a un punto P cualquiera resulta en el punto P? Solamente podemos encontrar una
respuesta a esta pregunta si un punto extra es agregado a la curva. Este punto extra se llama punto en el
infinito, y se lo designa con O.
El punto O está en un lugar infinitamente lejos sobre el eje vertical, y es la identidad del grupo de la
curva elíptica. Por ejemplo, observe el punto P en Figura 4. Dada la definición del elemento identidad
(o elemento nulo), P + (-P) = O. Observe también (ver Figura 5) el caso especial en el que queremos
obtener el punto P +P = 2P, donde la recta tangente a la curva en el punto P es la recta vertical (lo cual
sucede solo cuando P = (x; y) con y = 0); en este caso también obtenemos 2P = O.
Figura 4. Suma del punto P con su opuesto Figura 5. Suma del punto P=(x,y) con si
mismo, y = 0
Puede demostrarse que la operación de suma es una operación binaria de grupo bien definida, aunque
algunos de los requerimientos (por ejemplo asociatividad) no son nada fáciles de probar. Aunque
anteriormente dimos una definición general de las curvas elípticas, no se considera práctico utilizarlas
en forma general, ni tampoco utilizarla en el campo de los R, debido a los errores de redondeo y
truncamiento de los valores. Por eso, aquí se consideran las curvas elípticas definidas sobre Zp donde p
es un número primo impar y sobre los campos finitos de la forma F2m; m≥1, ya que estos conjuntos
producen las implementaciones más eficientes de la aritmética de curva elíptica [9].
Curvas Elípticas sobre Zp. Una curva elíptica E sobre Zp, denotada E(Zp) es definida por la ecuación de
la forma
y2 ≡ x3 + ax + b (mod p)
donde a; b Zp, y 4a3 + 27b2 0 (mod p), junto con el punto en el infinito O. El conjunto E(Zp) consiste
de todos los puntos (x; y); x Zp; y Zp, los cuales satisfacen la Ecuación.
Veamos un ejemplo: Si p = 23, y consideramos la curva elíptica E : y2 = x3 + x + 1 definida sobre Z23
donde las constantes usadas fueron a = b = 1. Note que 4a3 + 27b2 = 4 + 4 = 8 ≠ 0 (mod 23), de
manera que en realidad es una curva elíptica.
Curvas Elípticas sobre F2m. Los campos finitos de la forma F2m con m≥1 son convenientes de usar,
puesto que sus elementos encajan a la perfección en una palabra de datos de longitud m bits. Esto es
porque los elementos de F2m son representados por el conjunto de polinomios binarios de grado ≤ m-1:
4
donde estos polinomios se representan en la computadora por la palabra de datos de m bits (am-1 am-2 am-
3 … a1 a0).
Parámetros de dominio para curvas sobre Fp. Los parámetros que definen el dominio de las curvas elípticas
sobre Fp son una séxtupla:
T = (p; a; b; G; n; h)
consistiendo de un número entero primo p que especifica el campo finito Fp, dos elementos a; b Fp
especificando una curva elíptica E(Fp) definida por la ecuación
E : y2 ≡ x3 + ax + b (mod p);
un punto base G = (xG; yG) E(Fp), un número primo n el cual es el orden de G, y un número entero h
que es el cofactor h = #E(Fp)/n. La función que cumplen p; a; b son las constantes que definen el
tamaño en bits de los puntos y la forma de la curva.
El punto base G es un punto de referencia que se proporciona para poder hacer criptografía. Es el
análogo del generador en el DLP. El número n es el orden de G, o sea n es tal que nG = O. Note que
n es un número primo grande. Algo muy importante que no siempre se dice es que el orden de G debe
ser lo suficientemente grande como para que sea impráctico buscar todos los múltiplos G; 2G;… ; (n-1)
G de G. De hecho, el GDLP depende, además de otros factores, de que el orden n de G sea grande (en
el DLP,el orden del elemento generador queda implícitamente definido por el tamaño de p.)
Dependiendo del nivel de seguridad que se intenta conseguir, el número primo p de Zp se suele elegir
de manera que:
Esto representa el tamaño en bits de p. Note la aparición del número 521, en vez de 512; esto es un
requerimiento que aparece en parámetros estándares de seguridad del gobierno de U.S.
Las Primitivas Diffie-Hellman de Curvas Elípticas son la base para operación del ECAES (Elliptic
Curve Augmented Encryption Scheme), y el Esquema Diffie-Hellman de curvas elípticas. Se
especifican dos primitivas: la primitiva Diffie-Hellman de curva elíptica y la primitiva Diffie-Hellman de
cofactor de curva elíptica. La idea básica de ambos esquemas es la misma -generar un valor secreto
compartido a partir de una clave privada adueñada por una entidad U y una clave pública adueñada por
otra entidad V de manera que si ambas entidades ejecutan la primitiva simultáneamente con las claves
correspondientes, podrán recuperar el mismo valor secreto compartido. Sin embargo, las dos primitivas
son sutilmente diferentes: la primitiva Diffie-Hellman de curva elíptica es el análogo directo del bien
conocido protocolo de acuerdo de claves Dffie-Hellman, mientras que la primitiva Diffie-Hellman de
cofactor de curva elíptica incorpora el cofactor h en el cálculo del valor secreto compartido para
proveer una resistencia eficiente contra ataques de subgrupo pequeño. A partir de estas definiciones,
podemos ver que la construcción de un protocolo de acuerdo de claves Diffie-Hellman basado en ECC
es directa.
5
Esquemas de Firma Digital.
Dada la aceptación de los sistemas basados en curvas elípticas, recientemente el gobierno de U.S., bajo
recomendaciones del NIST (National Institute of Standards and Technology) estandarizó la segunda
versión de su estándar de DSS (Digital Signature Standard) [10], que describe ahora tanto el algoritmo
de firma digital DSA como también el ECDSA. El algoritmo DSA es una variante del esquema de
firmas de ElGamal. Este explota pequeños subgrupos en Z*p de manera de reducir el tamaño de las
firmas producidas.
Elliptic Curve DSA (ECDSA). ECDSA es el análogo sobre curvas elípticas al DSA. Esto es, en vez de
trabajar sobre el subgrupo de orden q en Z*p, se trabaja en un grupo de curva elíptica E(Zp). Como
dijimos anteriormente, el ECDSA fue estandarizado por el NIST, pero también estén en este proceso
los comités de estándares ANSI X9F1 e IEEE P1363. En concreto, el ECDSA es un esquema de firma
con apéndice basado en ECC. Está diseñado para ser existencialmente infalsificable, aún ante la
presencia de un adversario capaz de lanzar ataques de mensajes elegidos por él.
No se conocen algoritmos sub-exponenciales generales (es decir, que no exploten ninguna propiedad
de las puntos sobre curvas elípticas) para resolver el ECDLP. Más específicamente, no se conoce un
algoritmo index-calculus para el ECDLP, puesto que no se conoce el concepto de smoothness de un
punto sobre una curva elíptica . Por esta razón, se cree que el ECDLP es mucho más difícil de resolver
que el IFP o el DLP, en el sentido que no se conocen algoritmos de propósito general y tiempo sub-
exponencial para resolverlo. Los mejores algoritmos generales conocidos a la fecha están basados en el
Pollard-ρ y el Pollard-λ. El Pollard-ρ toma alrededor de /2 pasos (cada paso representa la suma de
dos puntos en una curva elíptica), y el Pollard-λ toma alrededor de 2√ pasos. Ambos métodos
pueden ser paralelizados.
Recientemente se mostró que el método Pollard-ρ puede ser acelerado por un factor de √2 . Entonces
el tiempo esperado de ejecución del método Pollard-ρ conesta mejora es de /4 pasos [6].
6
método os. La concluusión que sacaamos de esta tabla es que para sistemas de clave púública, esquem mas
basadoos en ECC briindan la mismma seguridad queq los ya traddicionales, perro con un costo más reduciido
en su empleo,
e debidoo al tamaño reeducido de loss parámetros que
q utiliza.
Tabla 1.
1 Tamaños dee claves comp
parables en bits.
Tab
bla 2. Relación
n entre RSA y ECC.
7
Nivel de Seguridad Relación de Costos
(Bits) Diffie-Helman Vs Cirvas Elípticas
80 3:1
112 6:1
128 10:1
192 32:1
256 64:1
Tabla 3. Costos relativos al computo de Diffie-Helman vs Curvas Elípticas
Legislación
En cuanto a la regulación que permite el uso adecuado y optimo de los ECC se encuentran varios
estándares creados por los diferentes organismos:
La National Institute of Standards and Technology (NIST) usa los estándares que indicant cuales
algoritmos de criptografia pueden usar las agencias Federal de Gobierno tales como:
Federal Information Processing Standards (FIPS) 186-2: El estándar de firmas digitales (DSS).
Estandariza el algoritmo de firmas digitales con curvas elípticas (ECDSA) y recomienda 15
conjuntos de parámetros para los dominios de curvas elípticas.
Publicación Especial 800-56: Recomienda sobre esquemas de establecimiento de claves las
cuales incluyen ECC, ECDH
Publicación Especial 800-57: Guia para la administración de claves . Guia para el manejo
simétrico de claves,con claves públicas tales como claves ECC. Menciona los tamaños optimos
de claves para ECC.
La Suite B: es el nuevo conjunto de algoritmos criptográficos aprobados por la NSA como parte de su
Programa de Modernización Criptográfica. El continuo incremento de la potencia de cálculo de los
computadores amenaza las bases de los sistemas criptográficos actuales. La NIST recomienda
abandonar la criptografía de 80 bits para este año y la de 112 bits para el 2030. La progresión de uso de
los algoritmos de RSA con claves cada vez mayores, no parece sostenible. El tiempo y potencia de
cálculo requeridos a medida que crecen la longitud de las claves crece vertiginosamente. El tiempo
requerido para firmar es proporcional a la longitud de la clave elevada al cubo. Se han definido 3 curvas
y tamaños de claves: P-256, P-384 y P-521 con longitudes de claves de 256, 384 y 521 bits
respectivamente. Estas curvas equivalen a claves AES de 256, 192 y 512 respectivamente. Muchos de
los sistemas operativos actuales y restante software comercial ya incorporan estos algoritmos. Parece
probable que asistiremos en los próximos 2 o 3 años a una rápida migración de los algoritmos RSA a
esta nueva Suite-B, que realizarán operaciones criptográficas más robustas en un menor espacio de
tiempo.
International Standards Organization:
UN/EDIFACT
ISO/IEC 14888
ISO/IEC 9796-4
ISO/IEC 14946
8
Otros:
ATM Forum
WAP
El NESSIE Europeo.
El CryptRec de Japón.
Para muchos dispositivos móviles que requieren de algún nivel de seguridad, la implementación de un
proceso de cifrado usando RSA se hace casi impracticable, la cantidad de memoria adicional que se
requiere y los tiempos de cpu que se deben dedicar al proceso son altísimos. Si se implementa un
sistema como este, el valor del dispositivo subiría considerablemente simplemente por el hecho de
poseer un procesador más potente y memoria dedicada para este proceso para no interferir con la que
memoria que usa para desarrollar su propio desempeño funcional. Cabe recordar que la aplicación de
un proceso de cifrado de información dentro de un dispositivo móvil es una función de soporte la cual
no debe interferir con las funciones principales de cada dispositivo, no se puede pensar que el proceso
de cifrado use una mayor porción de procesamiento de datos que la función primaria de un dispositivo.
9
En la determinación de las operaciones potenciales de cualquier dispositivo, la selección de chips es una
de las consideraciones más importantes: un procesador más caro permite a un dispositivo hacer más,
además al usar métodos eficientes se le permite a un procesador más barato realizar las mismas
funciones que uno más caro. Es aquí donde las características de la criptografía de curvas elípticas se
presentan como un método de eficiencia que permite el ahorro de dinero ante el uso de RSA.
Por ejemplo, una smart card para una transacción financiera se debe autenticar a un lector. Realizando
esta transacción usando curvas elípticas requerirá menos procesamiento e incluirá dos posibles
beneficios:
La transacción ocurrirá más rápido significando que el sistema puede procesar mayor cantidad
de transacciones y generar mayores ingresos.
Un procesador más barato (y más lento) puede ser usado en la smart card para realizar la
misma transacción en el mismo tiempo que lo haría un procesador más rápido implementando
AES o RSA por ejemplo.
Otros dispositivos móviles como PDAs o smartphones muestran resultados similares. Un procesador
típico para este tipo de dispositivos es el ARM SA1110, 206MHZ. Al mismo nivel de seguridad de 128
bit de AES, ECC-256 provee de excelentes tiempos de respuesta, RSA-3072 ofrece buena respuesta
solamente en verificaciones de firmas; los tiempos para generar claves y firmas que presenta son
inaceptables.
Como conclusión se puede afirmar que para obtener un buen resultado usando RSA se requiere del uso
de un procesador más caro que el usado por curvas elípticas para obtener resultados similares.
Compuertas lógicas
Como ya ha sido dicho, la criptografía de curvas elípticas ofrece mejoras en software, sin embargo,
también puede ser muy eficiente en hardware. Los beneficios de curvas elípticas pueden incrementar
dramáticamente su eficiencia en comparación a RSA en ambientes basados en hardware. Los diseños
optimizados basados en chips han demostrado que pueden ser hasta treinta y siete veces más rápidos
que el mismo diseño implementado en software.
Esta ventaja se ve reflejada en la cantidad de compuertas lógicas usadas en un diseño electrónico (lo que
indica el espacio usado en un chip) y en performance en relación a RSA. Como todo diseñador
electrónico sabe, más compuertas lógicas dentro del diseño electrónico significan más dinero.
Por estas razones, la criptografía de curvas elípticas es una opción clara y obvia al momento de
implementar este tipo de seguridad en hardware. Cualquier dispositivo que use RSA requerirá de mayor
poder de procesamiento para un microprocesador del que debería usar.
Desgaste de baterías
Como consecuencia de una implementación eficiente de seguridad en hardware según lo planteado en
el uso de compuertas lógicas, se requiere de menos ciclos de procesamiento y menos trabajo por parte
de los microprocesadores, lo que finalmente se traduce en el uso de menos energía y en una disipación
de calor menor. Esto es un punto crítico dentro de los dispositivos móviles, donde el factor limitante
para el uso en muchos casos es la duración de la batería.
Como el uso de ECC reduce los factores mencionados, se dice que el uso de ECC es parte de la
solución para aumentar la vida de los dispositivos móviles.
Reducción de gastos
Existen costos que se pueden reducir en diferentes etapas del desarrollo de las nuevas tecnologías, la
aplicación de hardware específico optimizado para utilizar la menor cantidad de compuertas lógicas o la
10
implementación de los algoritmos de cifrado por medio de software entre otras opciones. En ambas se
ha demostrado que el uso de la criptografía de curvas elípticas presenta los mejores resultados.
Un ejemplo donde la criptografía de curvas elípticas ofrecen beneficios claros es en la utilización de las
smart cards. Una de las principales funciones del uso de las smart cards es la criptografía. Son
generalmente usadas porque pueden ser usadas para accesos seguros, transacciones financieras,
identificación y todas aquellas actividades donde se requiera de seguridad.
Como en RSA los largos de claves se mueven después de los 1024 bits, es requerido un coprocesador
matemático para lograr una performance aceptable, lo que trae consigo una mayor complejidad y por
ende un valor comercial más elevado. Usando curvas elípticas por otro lado, no se requiere de un
coprocesador, a lo más un pequeño set de hardware reducido, pero aún así las transacciones con smart
cards se realizan mucho más rápido.
Actualmente Certicom, ofrece la cantidad de 20000 dólares por el reto de la clave de 131 bits que es
más fuerte que su sistema de ECCp-109. El reto es ECCp-131.
Existen otros retos propuestos, aún sin resolver:
ECCp-163.
ECCp-191.
ECCp-239.
ECC2k-130.
ECC2-131.
ECC2-163
Trabajos Relacionados.
En el campo de la investigación en claves públicas se encontraron diferentes trabajos que focalizan sus
puntos de vistas en una introducción a los sistemas de criptografía elíptica ECC, uno de ellos es Gabriel
Belingueres[11] donde define las curvas elípticas y como pueden ser usadas para construir
criptosistemas de clave pública. Se detallan nociones matemáticas, el problema del Logaritmo Discreto
11
sobre curvas elípticas, pero no detalla la legislación que sustenta esta teoría y es muy débil en cuanto a
las ataques a la ECC. Por otra parte Gomez, Carlos & Izava, Gustavo [12] explican algunos
fundamentos matemáticos de la criptografía de las curvas elípticas y describe las aplicaciones y su uso
en las tecnologías y arquitecturas de seguridad, sin embargo a pesar de su excelente descripción de las
aplicaciones de ECC no detalla los problemas que pueden surgir producto de los ataques en cada
implementación. También Annop MS [15] en su trabajo realiza una introducción teórica de la ECC y
como esta es usada en la implementación de las ECDSA, discute implementaciones de ECC en campos
finitos: campos de números primos y campos binarios, es una excelente guía para la definición teórica
de las ECC pero carece de las bases legales y las debilidades que se han conseguido de la ECC en la
actualidad producto de los grandes sistemas de cómputos y los programas paralelizables.
Conclusiones.
Una integral elíptica o curva elíptica es una función que expresa la longitud del arco de la elipse y que da
lugar a una función semi-cúbica. A pesar de que RSA sigue siendo el criptosistema público más
utilizado, los algoritmos de curvas elípticas están empezando a tener gran impacto en las tecnologías de
firmas digitales y transacciones Web seguras. Debido a que el mejor algoritmo actualmente conocido,
para la resolución del problema en el que basa su seguridad ECC es de orden completamente
exponencial, a diferencia de los métodos usados para romper criptosistemas como RSA cuyo orden es
subexponencial, se puede lograr el mismo nivel de seguridad que otros métodos con longitudes de
claves menores; esta disminución en la longitud de la clave que se gana al usar ECC produce como
resultado que los algoritmos de encriptamiento y desencriptamiento sean más rápidos, pero a costa de
una menor protección contra ataques de fuerza bruta.
Como con todos los criptosistemas, y especialmente con criptosistemas de clave pública, toma años de
evaluación pública antes de que un razonable nivel de confianza en un nuevo sistema sea establecido.
ECC parece haber alcanzado ese nivel ahora, y en los últimos años, las primeras implementaciones
comerciales fueron apareciendo, como bibliotecas de funciones, pero también en aplicaciones reales,
como seguridad en e-mail, smart cards, etc. Un factor que aún queda grandemente incierto es su
seguridad: como con todos los criptosistemas de clave pública usados en la práctica, su seguridad no ha
sido probada, sino que está basada en la incapacidad de encontrar ataques. Si existen ataques sobre
alguno de esos sistemas, podrán ser descubiertos tarde o temprano. En tal caso, se deberá cambiar a
alguna otra alternativa, como los ya tradicionales criptosistemas usados en la práctica basados en el IFP
y el DLP. No obstante, los ECC pueden ser implementados eficientemente, y tienen un número de
ventajas que pueden hacerlo la mejor elección en un rango de aplicaciones, como aquellas en las que los
recursos disponibles (memoria, procesamiento, energía, ancho de banda, etc.) son reducidos. Además,
con un número de estándares estando en preparación, la interoperabilidad entre los diferentes
productos será mucho más fácil de obtener.
12
Lo cierto es que la nueva tendencia es la utilización de dispositivos cada vez más pequeños para realizar
tareas que faciliten la vida laboral y cotidiana. Esto quiere decir que el acceso a Internet está
aumentando de manera exponencial, por lo que garantizar un servicio de calidad y seguro se convirtió
en una necesidad clara, y las empresas fabricantes de los dispositivos móviles se encuentra hoy en día
constantemente estudiando como mejorar el servicio debido a la gran competencia que existe. Nos
referimos a empresas como IBM, Sun Microsystems, Microsoft, Hewlett-Packard o Motorota entre
otras.
El cambio de sistema criptográfico es inminente, y si bien tomará algunos años en incorporarse de lleno
en el mercado, ya se logró un gran paso, que es la aprobación de la NSA para su uso en procesos
gubernamentales. Se espera que pronto, otras entidades empiecen a usar la nueva generación de
criptografía.
Referencias.
13