miércoles, 17 de octubre de 2012

“Mini Flame”, el hermano pequeño pero peligroso del virus Flame

Los investigadores de Kaspersky llevan bastante tiempo haciendo excavaciones en torno a Flame, un sorprendente virus desarrollado para el ciberespionaje, aparentemente creado por Estados Unidos e Israel. Junto con Flame, los investigadores detectaron a Gauss, que permitía vigilar cuentas bancarias de personas espiadas, y “miniFlame”, descubierto hace pocos días.

MiniFlame es una herramienta de ataque de gran precisión. Lo más probable es que sea una ciberarma dirigida a lo que podría llamarse una ola secundaria de ciberataque. Se instala para una investigación y ciberespionaje en profundidad”, dijo el experto de Kaspersky, Alexander Gostev.

Tal parece que es utilizado para obtener control y acceso para espiar a determinados computadores ya infectados con Flame o Gauss. De la misma forma como ocurrió con Flame y Gauss, miniFlame parece haber sido creado por los mismos autores de Stuxnet, la primera “arma de ciberguerra”, diseñada para sabotear el programa nuclear iraní. Y esto podría ser sólo una pequeña parte del arsenal de ciberarmas, que todavía no conocemos.



MiniFlame sería un módulo que puede operar de forma independiente, o puede ser parte de otras herramientas de espionaje más grandes, como Flame o Gauss. El módulo está diseñado para robar datos y abrir una puerta trasera en las máquinas infectadas, entregando a los atacantes control sobre las máquinas. Una vez establecida esta puerta trasera, los atacantes pueden enviar comandos para realizar diferentes tareas (como tomar pantallazos, robar datos o descargar archivos, por ejemplo) en la máquina.

Flame y Gauss no permiten este control directo de los dispositivos infectados, como sí lo hace miniFlame. Los investigadores creen que se diseñó para víctimas muy específicas – apenas habría unos 50 casos infectados -, y que se usó en conjunto con los virus antes mencionados.

“En principio, Flame o Gauss se utilizan para infectar al mayor número posible de equipos y recoger la mayor cantidad de información. Después de que los datos son recogidos y revisados, se define e identifica un objetivo potencial de víctimas de interés, y miniFlame se instala para una investigación y ciberespionaje en profundidad”, indicó Gostev.

Se piensa que un tiempo después de instalar miniFlame, los atacantes borraban al malware mayor, Flame. Hace un tiempo se descubrió un módulo llamado “browse32″ presente en Flame que auto-destruye al virus, módulo que no afecta a miniFlame. Este último además “vacuna” al registro del equipo infectado y evita que, si vuelve a entrar en contacto con Flame, se contagie del virus.

Los investigadores de Kaspersky identificaron seis variantes de miniFlame, y creen que las variaciones pueden alcanzar algunas cuantas decenas. Cada una de las versiones parece estar enfocada a diferentes territorios, de modo que encontraron un tipo concentrado en el Líbano y territorios palestinos, mientras que otras variantes se encontraban en Irán, Qatar y Kuwait.

Kaspersky indica que la primera versión de miniFlame dataría de 2007.

Los investigadores descubrieron a este malware al obtener acceso a dos servidores de comando y control que los atacantes usaban para comunicarse con Flame. Luego de interceptar datos que iban desde máquinas infectadas con Flame hacia el servidor, los investigadores se sorprendieron al descubrir que había un segundo malware presente.



Se cree que se utilizan servidores especiales diferentes a los de Flame para enviar comandos hacia miniFlame, ya que el sistema interceptado por Kaspersky no tenía posibilidad de enviar este tipo de comandos. Entre el 28 de mayo y el 30 de septiembre, las máquinas infectadas con miniFlame contactaron al espía de Kaspersky unas 14.000 veces desde unas 90 IPs diferentes. La mayoría estaba basada en el Líbano (45 infecciones), seguido por Francia (24 infecciones).

Los investigadores han descubierto equipos infectados sólo con Flame, sólo con Gauss, algunas con Flame y miniFlame, y otras con Gauss y miniFlame. Un equipo del Líbano, sin embargo, tiene los tres – aparentemente alguien lo suficientemente importante para ser espiado por todo el malware. La IP de este equipo lleva a un ISP, de modo que no es fácil saber de quién es el dispositivo.

Ubuntu 12.10 Quantal Quetzal

Ubuntu 12.10, conocido también como “Quantal Quetzal” verá la luz mañana, 18 de octubre, y ya está rodeado de dudas y conflictos sobre su diseño, implementaciones y las opciones para ganar dinero que lanzará Canonical junto con el sistema operativo.



Ubuntu se ha convertido en una de las distribuciones de Linux más populares, y regularmente recibe críticas de sus seguidores y detractores cada vez que aparece una versión nueva. Veamos las dudas que rodean a este nuevo lanzamiento:

  •  Se agregó una página de donaciones antes de la descarga del sistema operativo. Esto no es tan inusual entre los proyectos open source, sin embargo, la manera en que está desplegada parece intentar forzar al usuario a entregar dinero, escondiendo al final del scroll el clic para seguir con la descarga. 
  • Resultados de Amazon: A partir de la versión 12.10, las búsquedas que se hagan en el menú (dash) desplegarán resultados y sugerencias de Amazon, además de los resultados locales del sistema. Esto es parte de un acuerdo entre Canonical y Amazon, en un intento de generar ganancias a partir del sistema operativo. Es posible que el de Amazon sólo sea el primero de varios acuerdos más. El asunto es polémico por varias razones, partiendo por que los resultados de Amazon no tienen ninguna relevancia cuando haces una búsqueda dentro del sistema, por una aplicación, por ejemplo. Por otro lado, se lanzaron críticas respecto a la privacidad de los usuarios, si Amazon estaría recibiendo información sobre las búsquedas que realizan. Ubuntu enviará la información encriptada, pero de todos modos se recolectarán los datos. Para alivio de algunos, es posible desactivar esta “colaboración” con Amazon en la configuración del sistema. 
  • Velocidad: En lugar de entregar una versión antigua de GNOME o una versión 2D de Unity para equipos más antiguos que no cuentan con aceleración por hardware, Ubuntu 12.10 integró un emulador de aceleración por hardware. Este sistema (LLVMpipe pipe driver for Gallium 3) provoca que en algunas máquinas antiguas el sistema operativo es casi inutilizable, porque corre demasiado lento. Así que si estabas usando Ubuntu para reutilizar hardware viejo, es mejor optar por otra distro.



Más allá de estos problemas, Ubuntu 12.10 trae mejoras, como la actualización al kernel 3.5.4 y de otras aplicaciones, incluyendo también Firefox 16.1, LibreOffice 3.6.2, y Thunderbird 16.01; Totem para películas, Shotwell para fotografías, y Rhythmbox para música.

Links.

Ubuntu Linux 12.10 review (ZDNet)
Ubuntu 12.10: The Controversies Continue (Datamation)

domingo, 23 de septiembre de 2012

El hombre que hackeó por error el Banco de Francia con la contraseña “123456″

Una corte en Francia dejó libre –y declaró que no había hecho nada malo– a un hombre que admitió que ingresó a un servidor del Banco de Francia por error. El año 2008 el tipo estaba desempleado y, tratando de usar números de tarificación adicional por Skype, marcó un número al azar que sólo le solicitó una clave, sin entregarle más información de lo que era.



El tipo simplemente marcó “123456″ y terminó ingresando en el servicio de deudas del Banco de Francia. El banco detectó el ‘hackeo’ y demandó al tipo pese a su insistencia de que fue ‘sin querer’. Lo más ridículo es que la policía recién lo arrestó el 2010, tardando dos años en encontrarlo pese a que usó su dirección real en Skype (además de notar que su computador era ‘demasiado viejo para cometer cibercrímenes’).

Link: http://tempsreel.nouvelobs.com/societe/20120920.FAP8656/entre-par-hasard-sur-un-serveur-de-la-banque-de-france-l-internaute-est-relaxe.html

sábado, 28 de julio de 2012

Disponible la Séptima Lección del Algoritmo RSA en el MOOC Crypt4you de Criptored

Disponible la Séptima Lección del Algoritmo RSA en el MOOC Crypt4you de Criptored

Se encuentra disponible en el Massive Open Online Course MOOC de Crypt4you de la UPM la sexta lección del curso El Algoritmo RSA, dedicada a la generación de claves con el software estándar OpenSSL.

Podrás encontrarla desde el acceso directo de la lección: 
http://www.criptored.upm.es/crypt4you/temas/RSA/leccion7/leccion07.html 

O bien como lección destacada en la sección En portada en la página principal del MOOC: 
http://www.criptored.upm.es/crypt4you/portada.html 

Esta lección tiene como objetivo mostrar cómo se instala OpenSSL en un entorno Windows, la generación de claves RSA en modo comando y su conversión en formato texto (hexadecimal) para poder observar sus parámetros y utilizarlos con otros programas generadores de claves como genRSA y ExpoCrip. Además, se comprueba el descifrado a través del teorema chino del resto usando los parámetros exponent1, exponent2 y coefficient que nos entrega OpenSSL una vez generada la clave RSA. Por último, se comprobará que OpenSSL no genera todas las claves RSA óptimas, analizando esta situación; para ello se hará uso de la nueva aplicación RSA Manager (
http://www.criptored.upm.es/software/sw_m001n.htm ) que permite generar hasta 999 claves de forma automática y convertirlas en formato texto.

Lección 7: Generación de claves con OpenSSL
Apartado 7.1. Instalación del software Win32 OpenSSL
Apartado 7.2. Generación de claves RSA y conversión a texto
Apartado 7.3. Generación de múltiples claves con RSA Manager
Apartado 7.4. Parámetros de OpenSSL para su uso en el TRC
Apartado 7.5. Test de evaluación de la Lección 7
Apartado 7.6. Datos estadísticos de esta lección
Apartado 7.7. Encuesta

La próxima entrega de este curso sobre RSA, Lección 8 de título Ataque por factorización, se publicará a partir del mes de octubre de 2012.

Se recuerda la existencia de esta encuesta online: 
http://www.criptored.upm.es/crypt4you/encuesta/index.php 

Cordiales saludos

Jorge Ramió, Alfonso Muñoz
Equipo Crypt4you

martes, 10 de julio de 2012

Cumpliendo 29 años - Reflexiones

Tengo 28 años y los tendré por un par de horas más, luego inevitablemente seré una persona de 29 años.

Hey! Me dicen “29 años no es nada”, “nada cambia” pero yo creo que todo cambia, a un paso de cumplir los 29 todas las canciones de Estopa y Charlie Garcia me calzan, todos los SPA's me interesan y todas las mujeres del mundo tienen defectos.

“Si hubiéramos sabido a los 18 lo que sabemos ahora” me dice un amigo con nostalgia “y si tuviéramos los 18 ahora”, le refuto. Nada de eso es posible y por eso he decidido comprarme un bloqueador solar y un tratamiento para la calvicie, no quiero terminar como bulldog. 

Me he matado en el gimnasio peleando una batalla perdida contra la genética, soy un idiota, lo sé, pero soñar con un cuerpo perfecto no cuesta nada.

En estos 29 años he amado mucho, he comido cosas ricas y cantado miles de canciones desafinadas, he escuchado millones de canciones, visto cientos de peliculas y asistido a varias decenas de obras de teatro y conciertos; me he emocionado al borde de las lagrimas con varias escenas de clásicos del cine (Casablanca / Lo que el viento se llevo / Carta de una desconocida); he sentido miedo y me he sentido tan lleno de energía como para echarme el mundo al bolsillo; me he caído de una escalera, he pasado por el quirofano varias veces, he estado a punto de morir; he renegado de Dios y vuelto a creer; he sentido vergüenza, pena, asco de mi mismo; he conocido a las personas más maravillosas del mundo y las he dejado ir, tal vez por miedo, tal vez por inseguridad, el punto es que no he sido capaz de mantener a una persona a mi lado.

En estos 29 años he sido un mal hijo, un mal hermano, un mal primo, un mal amigo, un mal niño; me he hundido en una acequia y me ha picado una araña de rincón, me he dado cuenta que soy alérgico a la piña y al Detan (repelente de mosquitos). He sentido que todo está resuelto y en un segundo se ha ido todo al carajo. He incursionado en muchas actividades buscando mi vocación, he sido chef, vendedor de telas puerta a puerta, vendedor de ropa, vendedor de celulares, oficial corporativo, técnico de computadoras, diseñador de paginas web, hacker, profesor, bodeguero, banquero e incluso recuerdo que en un capitulo oscuro de mi vida me dedique a medir muertos para una funeraria local. 

He tenido sexo salvaje y del otro (hay otro?) he sido rechazado, humillado, amado, me han escrito poemas y cartas de repudio; he visto porno; he esperado en vano una llamada y he dejado de llamar; me han plantado muchas veces, y probablemente yo también lo he hecho. 

He estado en quiebra absoluta, he tenido dinero suficiente, he tenido negocios sin éxito y otros bastante exitosos, he escrito en periódicos y revistas; he besado como judas, he ignorado a gente que no debí, he pasado hambre, frío y he estado satisfecho hasta no poder más; he dejado de dormir y he dormido días completos.

He andado en carro, en taxi y en bus; he gritado consignas en contra y a favor de algunos políticos, he sido asaltado mas veces de las que me hubiese gustado; he estudiado en tres universidades. He cometido tantos errores como aciertos…

Gracias a todas esas personas que pasaron por mi vida, y si bien no he tenido el éxito, el dinero o el amor que hubiese deseado tener a los 29, me siento satisfecho con la vida que llevo hasta el momento, se que no soy perfecto pero me esfuerzo y me esforzare por seguir mejorando. 

29 años no es nada me dice mi abuela al teléfono, creo que debo de creerle. 

jueves, 5 de julio de 2012

Estafas en cajeros bancarios.

América Latina sufre el paso frecuente de bandas delictivas que manejan última tecnología.

¡Alerta!: si usted encuentra, cerca del cajero automático, un rótulo con la siguiente instrucción, no la siga: "Este cajero se encuentra en período de prueba de nuevo sistema de seguridad. Si su tarjeta es retenida, digite su clave tres veces y luego cancelar. Si esta no es devuelta, diríjase a su entidad financiera en dos días hábiles para la entrega inmediata. Att. La Gerencia".

Esta información, colocada sobre un cartón con el logotipo de Banred, es uno de los últimos instrumentos que utilizan las bandas de estafadores. Los delincuentes colocan partículas de películas que retienen a la tarjeta en la ranura; el cliente sigue la supuesta instrucción de la Gerencia y digita varias veces su clave sin recuperar su tarjeta. Los estafadores, que se colocan cerca del usuario, logran retener el número de clave y una vez que el cliente se aleja, proceden a retirar dinero ajeno. El mecanismo fue descubierto a finales del mes pasado. Los sitios ideales: cajeros sin guardias de seguridad.



La sugerencia para evitar la estafa es sencilla: si el cajero retiene la tarjeta, llame a 1-800-BANRED (1-800-226733), a disposición del cliente las 24 horas.
Y es que la tecnología de los cajeros automáticos, cuya instalación se inicia en 1978 en el Ecuador, se enfrenta hoy en día a una delincuencia sofisticada y creativa. De enero a mayo se registraron diez casos de fraude; la banca no ha tardado en reaccionar: desde mayo pasado, funciona una central telefónica para resolver la traba de tarjetas y movimientos irregulares (débitos que se registran sin que el cliente haya retirado su dinero).

Las modalidades de fraude, sostiene Claudia Loaiza, representante de Banred (la conexión más grande del país), son similares en América Latina. Las bandas operan sistemáticamente desde Colombia y Venezuela, pero incursionan en Ecuador, Perú y Chile.

Para los expertos, lo recomendable es que bajo ningún concepto se revele la clave secreta o se permita que alguien observe cuando se introducen los dígitos. Las instituciones financieras aclaran que el personal del banco nunca debe solicitar al cliente su clave secreta al momento de atender un caso de tarjeta retenida, extraviada o al producirse un retiro indebido de fondos; solo el nombre del cliente o su número de cédula. La retención de la tarjeta se produce cuando la clave fue introducida de manera errónea tres veces, el cajero ha sido objeto de vandalismo o por falla del computador.


Fabricantes, tras optimizar los sistemas

La estafa y fraude en cajeros automáticos son objeto de estudio para los fabricantes de ATM. Los cajeros automáticos, o ATM -Automatic Teller Machine-, han facilitado las transacciones rutinarias a los usuarios de la banca, pero abrieron la puerta para una serie de delitos que generan dolores de cabeza.

Siemens, Nixdorf, IBM, NCR son marcas de fabricantes de ATM que estudian y buscan soluciones para la nueva generación de cajeros. Una parte de las quejas que reciben los bancos de los usuarios, están relacionadas con fallas del sistema. Fernando Villegas, gerente de uno de los bancos nacionales, admite que existe un margen de error en el mecanismo. Pero este es mínimo y se produce, en ocasiones, cuando hay poco mantenimiento de la tecnología.

"Muchas veces, el cliente se queja de un débito que no llegó a sus manos, cuando la operación fue efectuada por parientes o amigos, sin que el usuario lo conozca", dice. "En los videos se descubren estas situaciones".

Los cajeros con mayores problemas están ubicados en las zonas populosas de las ciudades. Los tiempos de respuesta a los reclamos varían de red a red.

Si la retención de una tarjeta ocurre en un cajero del mismo banco emisor de la tarjeta, la respuesta no debería tardar más de 48 a 72 horas. Si la anormalidad se generó en un cajero de la red, el procedimiento tarda entre siete y diez días hábiles, según los técnicos.

Cada banco tiene su propia política y los reclamos pueden ser atendidos con mayor prontitud. Cuando la falla ocurrió en el banco es porque se cayó la línea al momento de dispensar el efectivo o porque el computador central sufrió un cambio de corriente.


Mejorando la seguridad

Muchos bancos se encuentran implementando soluciones en el tema de la seguridad de los usuarios; para ello realizan fuertes inversiones de dinero en temas de seguridad, uno de los sistemas que mejores resultados esta dando en la actualidad, es el de lectores anti-skimming, estos lectores protegen los datos de la tarjeta de cualquier intento de copia, estos sistemas funcionan de distinta formas que van desde la desactivación inmediata del cajero, hasta la generación de datos que provocan interferencia en la banda magnetica de la tarjeta haciendo que el dispositivo skimming no pueda leer la información.

Es deber de los bancos proteger a sus usuarios, nosotros como clientes debemos exigir que nuestro banco cumplan con los mas altos estándares de seguridad y el uso de la tecnología anti-skimming es una medida con resultados comprobables.



Ilícitos

- Los reportes de redes que operan en países vecinos señalan que en EEUU se comete un ilícito por cada 3,5 millones de transacciones. Mientras que en Colombia, México y Venezuela los robos son 20 veces más numerosos.

- Los delitos cometidos a través de los cajeros automáticos son denunciados por las instituciones financieras y no los particulares afectados.

- En Ecuador cerca del 35% de las transacciones, retiros, consultas y transferencias se realizan a través de los cajeros.

- De cada cien transacciones solicitadas, 98,5% se efectúan con éxito. Este porcentaje no incluye el ingreso de montos equivocados por el usuario.

sábado, 30 de junio de 2012

Uso de curvas elípticas en la criptografia. Narayana 1



1. Introducción


Amable lector, si no es la primera vez que llega a este blog, es probable que conozca que desde hace tiempo ya he mencionado un software en desarrollo llamado "Narayana" pues es grato para mi mencionar que el software ya se encuentra en su fase final. Narayana es un software que trabaja en segundo plano y en-cripta la información que usted envía por internet, sin que esto interfiera en su navegación; la teoría de este software es la creación de un criptograma basado en curva elíptica, sobre esto es lo que escribiré a continuación.

En este artículo se presenta la criptografía con curvas elípticas y se demuestran de la forma mas clara y comprensible los beneficios de esta técnica de cifrado asociados al software Narayana. Para esto empezaremos con la definición de curva elíptica, veremos que son conjuntos de puntos en los que se puede definir una operación denominada suma, a partir de esta suma quedará definido, de forma natural, el múltiplo de un punto como suma del punto consigo mismo un número determinado de veces. A continuación veremos cómo usar esta estructura en criptografía, concretamente veremos la utilidad del cálculo de múltiplos de un punto de una curva elíptica, como función unidireccional. Se mostrará una aplicación al intercambio de claves, así como una aplicación al cifrado de mensajes. Acabamos mostrando ejemplos de uso actual de curvas elípticas en aplicaciones cotidianas y algunas de sus ventajas frente a otras alternativas.


2. Curvas elípticas

Es bien conocido que gran parte de la investigación criptográfica actual se centra en el uso de las curvas elípticas. Lo que seguramente no es tan popular es qué son las curvas elípticas y cómo se utilizan. Este artículo como mencione, trata de responder a esas preguntas y mostrar las ventajas de esta técnica.

2.1. ¿Qué son las curvas elípticas?

Una curva elíptica sobre un cuerpo K se define como el conjunto de puntos (x, y) de K × K que son solución de la siguiente ecuación:
y2 = x3 + αx + β (1)
Donde α y β son dos parámetros que definen la curva y deben cumplir la relación 4α3 + 27β2 = 0. Es necesario, así mismo, añadir un punto más que llamaremos O y que se llamará punto del infinito.

Podemos dibujar con facilidad una curva elíptica sobre R siguiendo los siguientes pasos:
  1. Dibujamos la cúbica y = x3 + αx + β
  2. Eliminamos los puntos con ordenada negativa

  1. Aplicamos la transformación (x, y) (x, √y)
  2. Reflejamos la gráfica resultante respecto el eje de abscisas



La condición 4α3 + 27β2 ≠ 0 garantiza que la curva elíptica sea regular, es decir, sin vértices 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. ¿Cómo se usan las curvas elípticas?

La principal propiedad de las curvas elípticas que explota la criptografía es su capacidad para definir, de manera natural, un grupo abeliano sobre el conjunto de sus puntos. Efectivamente, existe una operación binaria interna que es asociativa. Su elemento neutro es el punto del infinito O y si P =(x, y) es un punto de la curva entonces su inverso será −P =(x, −y).

Es común referirse al grupo definido por la curva elíptica 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 intersección que llamaremos R y posteriormente reflejando 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 relación P + Q = O


Figura 1: Familia y2 = x3 − 10x + t con t =0, 5, 10, 15, 20


Figura 2: Suma gráfica de dos puntos

(i.e. Q = −P ) ya que toda recta vertical corta el punto del infinito 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 gráfica de dos puntos



Figura 4: Suma gráfica de dos puntos

Sea como fuere la suma de puntos está bien definida en E(K) y podemos operar en este grupo con fines criptográficos.

3. Criptografía de clave pública
En criptografía de clave pública se hace uso de las funciones unidireccionales (o one-way functions). Se trata de funciones matemáticas que resultan sencillas de calcular pero difíciles de invertir. Así, si f(x) es una función unidireccional será rápido calcular la imagen, f(x)= y, pero computacionalmente intratable calcular su inversa, f−1(y)= x.
Una de las funciones unidireccionales más usadas y estudiadas es la exponencial discreta. Dado un grupo cíclico G de orden p y uno de sus elementos, g, podemos definir la operación exponencial fg(x)= gx para todo x =0 ...p − 1. Existen algoritmos de exponenciación rápida que pueden hacer este cálculo (dados g y x) en tiempos aceptables para grupos de orden p muy grande.
Sin embargo, si disponemos del resultado h = gx y la base g los cálculos necesarios para obtener x requieren un tiempo exponencial para ejecutarse y resultan intratables en grupos de orden suficientemente grande. Esta operación, fg−1(h)= x se llama, por motivos obvios, logaritmo discreto en base g de h. Su dificultad radica en la naturaleza cíclica de la operación definida en G y es la base de muchos algoritmos criptográficos que se usan hoy en día.

3.1. El problema del logaritmo elíptico
Ahora que ya sabemos que las curvas elípticas definen un grupo abeliano sobre sus puntos y que dado un grupo podemos obtener una función unidireccional con utilidad criptográfica es hora de que veamos un ejemplo de ambas cosas juntas.
En la siguiente imagen se pueden apreciar los 17 puntos de la curva elíptica y2 = x3 − 10x +1 en Z19 × Z19.
 


Figura 5: Puntos de y2 = x3 − 10x +1 en Z19 × Z19
De nuevo, la suma de puntos se define gráficamente. Pero en este caso existen casos en los que la naturaleza cíclica de Z19 × Z19 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 encontrásemos en un toro.





Figura 6: Suma de puntos: P + Q = −R
Así, dados P y Q resulta sencillo y relativamente rápido (con los algoritmos adecuados) encontrar el punto R. De manera que podemos calcular x · P1 con x =0 ... 16 eficientemente. Sin embargo, dados dos puntos P y Q de la curva resulta muy difícil saber para qué valor de x se cumple x·P = Q. Esta operación se conoce como el logaritmo elíptico en base P de Q y los mejores algoritmos conocidos a tal efecto resultan tan ineficientes como probar uno a uno todos los posibles valores de x hasta dar con el que cumple la relación.

3.2. Aplicaciones del Logaritmo Elíptico
Desde el punto de vista criptográfico el logaritmo elíptico tiene muchas aplicaciones.
Podemos usarlo, por ejemplo, para intercambiar claves de forma segura, siguiendo el protocolo de Diffie y Hellman:
Ana y Belén necesitan compartir una clave común para cifrar sus comunicaciones. Sospechan que Eva ha pinchado su linea telefónica y escuchará todo lo que envíen a través de ella. Así pues deciden usar criptografía con curvas elípticas.
Para empezar eligen una curva elíptica 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 número que llamaremos a en el caso de Ana y b en el caso de Belén. Ana calculará a · P y se lo enviará a Belén. Belén calculará b · 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 elíptico es computacionalmente intratable. Ana y Belén 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 Belén conoce b y a · P así que puede calcular b · (a · P ). Es decir, han obtenido una clave común (a · b) · P que Eva no puede calcular con la información que tiene (P , a · P y b · P ).
Gracias al problema del logaritmo elíptico también podemos trabajar con esquemas de cifrado con clave pública como el del siguiente ejemplo, basado en el protocolo de El Gamal:
Para comenzar se supone elegida una curva elíptica en la que el problema del logaritmo sea difícil. Alberto publica en su web la siguiente información de contacto: P y x ·P . Es lo que llamamos la clave pública de Alberto. Su clave privada será x. Ahora supongamos que Benito le quiere enviar un mensaje, m, cifrado de manera que nadie más lo pueda leer. El mensaje m ha sido previamente codificado de manera que pueda suponerse que es un punto de la curva considerada. Benito elegirá un número 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á −x·k ·P y sumándolo 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 elíptico 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 sólo su versión cifrada (k · P , m + k · (x · P )) tampoco él podría recuperar el texto llano sin la ayuda de Alberto.
De una manera similar podemos generar un par de claves pública-privada que nos permita firmar digitalmente documentos importantes.
En resumen, usando criptografía con curvas elípticas podemos asegurar cuatro propiedades básicas de nuestras comunicaciones:
  • Confidencialidad: Nadie más puede leer los mensajes dirigidos a mí.
  • Integridad: El texto no ha sido modificado desde que lo firmé.
  • 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 (Confidencialidad).
  • Otros modifiquen mis órdenes antes de que el banco las reciba (Integridad).
  • Otros envíen órdenes en mi nombre (Autenticidad).
Por su parte el banco también agradece que la criptografía 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 beneficiarse de los usos criptográficos de las curvas elípticas. Existen un buen número de organizaciones y empresas que ya las usan.
Programas tan cotidianos como el Windows Media Player hacen uso de la criptografía con curvas elípticas para proteger las claves de las licencias que nos autorizan a reproducir contenidos con DRM2.
Los reproductores de Blu-Ray y la consola Play Station 3 implementan una tecnología similar para evitar la copia de contenidos mientras que la consola Wii necesita curvas elípticas para asegurar que nadie hace trampa cuando guardamos una partida on-line.
Productos con menos potencia que un ordenador medio también pueden acceder a altos niveles de seguridad criptográfica gracias a las curvas elípticas. Es el caso de los famosos smart-phones de la marca Blackberry, que cifran así la información que transmiten. Incluso los nuevos pasaportes alemanes usan las curvas elípticas para proteger los datos biomédicos3 que almacenan.
Aunque quizá el ejemplo más influyente y esclarecedor de uso criptografía con curvas elípticas es la Suite B del gobierno de los Estados Unidos. Dicha suite es un estándar federal de protección de documentos que actualmente usa algoritmos basados exclusivamente4 en curvas elípticas para cifrar documentos clasificados como críticos o confidenciales.

3.3. Las ventajas del Logaritmo elíptico
Pero todos estos algoritmos y propiedades funcionan también en otros grupos más sencillos, como por ejemplo en los enteros modulares y existen algoritmos similares con otras funciones unidireccionales, como la exponenciación modular, entonces... ¿por qué usar curvas elípticas?
Hay 3 motivos fundamentales para usar curvas elípticas en vez de otros sistemas que han sido útiles hasta ahora (como el RSA5).

Longitud de las claves: Para conseguir un mismo nivel de seguridad usando RSA en vez de curvas elípticas necesitamos claves mucho más largas. Así, una clave RSA de 1024 bits equivale a una clave de 160 bits cuando usamos curvas elípticas. Una clave RSA mucho más segura requeriría el doble de bits, 2048, mientras que una clave equivalente para curvas elípticas tiene 210 bits, que es tan sólo un 31,25 % más larga que la anterior.

Cálculos sencillos: Trabajar con números y claves de menor tamaño y la aritmética propia de las curvas elípticas es más sencillo que manejar el gran número de reducciones modulares que requiere el RSA. Esta propiedad hace de la criptografía con curvas elípticas la candidata ideal para ser implementada en dispositivos con poca capacidad de cálculo: tarjetas inteligentes, teléfonos móviles, sistemas integrados en dispositivos de pequeño tamaño o de bajo consumo...

Operaciones exclusivas: La investigación en el campo de las curvas elípticas está floreciendo más que otras ramas de la criptografía de clave pública gracias al descubrimiento de diversos pairings6 interesantes definidos sobre los puntos de dichas curvas.
Por todos estos motivos las curvas elípticas son un fecundo e interesante campo de estudio en la actualidad y cobrarán cada vez más importancia en los próximos años.

Notas:
1 Nótese que en los grupos definidos por curvas elípticas usamos la notación aditiva y no la multiplicativa. En este caso la operación exponencial es x · P y no Px.
2 Digital Rights Management; Gestor Digital de Derechos.
3 Como por ejemplo la huella dactilar del dueño del pasaporte.
4 En realidad también usa AES para cifrado simétrico y SHA como función de hash.
5 El famoso criptosistema de Rivest, Shamir y Adleman basado en la exponenciación modular.
6 Un pairing es una operación f : G × G G bilineal y no degenerada (donde G es un grupo de orden p) que, en particular, puede ser explotada con fines criptográficos.