Ciencias

El terror tiene forma de ecuación elíptica

El terror tiene forma de ecuación elíptica
Edward Norton y Helena Bonham Carter en Fight Club, 1999. Fotografía: Fox 2000. ecuación

La Agencia de Seguridad Nacional (NSA) de Estados Unidos es una de esas turbias agencias de inteligencia estadounidenses que, si atendemos a la cultura popular, conocen las respuestas a los mayores misterios de nuestro tiempo. Conspiraciones mundiales, extraterrestres, quién mató a Kennedy, agentes dobles y triples, la receta de la Coca-Cola…, nada escapa a su control. Por eso, es desconcertante y muy inquietante que, de todas las amenazas potenciales que contempla, supone y conoce, unas fórmulas matemáticas le despierten verdadero terror. Esto llega hasta el punto de que la investigación sobre estas fórmulas está sometida a restricciones y todos los departamentos de Matemáticas de las distintas universidades tienen la obligación de informar de cualquier avance en los trabajos que se desarrollan con estas. 

En la última escena de El club de la lucha (si la obra tiene más de veinte años, prescribe el destripe) se buscaba reiniciar la sociedad mediante la demolición de los edificios que albergaban los servidores de las compañías de tarjetas de crédito. Eliminando los registros, nadie debería dinero y todos empezaríamos de cero, aseguraba el anarcoterrorista Tyler Durden. Hoy en día no sería tan sencillo, puesto que hay copias redundantes en diversos búnkeres a lo largo del globo (es dudoso que hasta una guerra nuclear o una tormenta solar gigantesca pueda borrar los datos). En la actualidad, el pánico análogo de la NSA reside en que se consiga resolver el logaritmo discreto de un elemento de curva elíptica aleatoria en un tiempo razonable, puesto que las implicaciones en el comercio mundial serían aún más graves que los efectos del Proyecto Mayhem, por no hablar de las consecuencias en seguridad nacional. No haría falta destruir servidores, ya que se podrían intervenir conversaciones confidenciales y transacciones económicas si se es capaz de soltar (o cortar) el nudo gordiano de la criptografía de curva elíptica.

Qué son las curvas elípticas

Como siempre, no seremos demasiado rigurosos puesto que no queremos sacarnos el grado en Matemáticas ni estamos estudiando Criptografía, sino que nuestra intención es comprender más o menos en qué consiste esto de la criptografía de curva elíptica. Sin embargo, con estos prolegómenos, el tema empieza a provocarnos un sudor frío y comprendo muy bien las dudas del lector sobre si lo mejor sería pasar página y buscar el entretenimiento en otro artículo que trate sobre asuntos más tranquilizadores por conocidos: asesinatos, necrofilia o evisceraciones. Un poco de paciencia.

Las curvas elípticas son un tipo de ecuación matemática con unas particularidades que las hacen muy útiles para la criptografía. El nombre que reciben causa confusión porque no son elipses, sino que recibieron este nombre cuando se usaron en astronomía en el cálculo de trayectorias. Las curvas elípticas no tienen vértices, no se cortan a sí mismas y son simétricas respecto al eje x. Para hacernos una idea, si dibujamos una curva elíptica, esta tiene una forma que recuerda, en cierto modo, a los fotogramas de una película a velocidad superlenta de una gota de agua cayendo en un estanque o a la forma que adquiere un bloque de plastilina cuando le damos un pellizco y tiramos de él, pudiendo estar la gota o el pellizco de plastilina separados o no.

Su forma genérica se escribe como y2 = x3 + ax + b, pero parte de la magia de las curvas elípticas es que a menudo se camuflan con otro aspecto y te las encuentras en problemas que aparentemente no tienen nada que ver con ellas. Algunos retos virales que circulan por las redes sociales con el gancho «solo el dos por ciento de la población es capaz de resolver este problema», con operaciones de dibujitos de frutas, en realidad se reducen a cuestiones sencillas de curvas elípticas. 

La criptografía de curva elíptica, ideada por Neal Koblitz y Victor Miller en 1985, se basa en unas características determinadas que tienen estas curvas y que permiten crear un artefacto matemático adecuado para estos fines. Entrando en los menores detalles posibles, en general, a una curva elíptica la corta una recta en tres puntos. Hay un par de casos particulares: si la recta es tangente a la curva (y la corta en otro) o si la recta es perpendicular al eje x. Matemáticamente, estos casos se tratan de una manera determinada con el fin de que, para los intereses criptográficos, se siga manteniendo que corta en tres puntos (si es tangente, ese punto se cuenta como doble, y, si es perpendicular al eje x, como tercer punto se cuenta el infinito).

Un inciso. Las matemáticas actuales se expresan mediante unas convenciones y acuerdos que sirven para que sean entendidas y estudiadas en un lenguaje único y, en cierto modo, sencillo. Por ejemplo, la notación romana no permite realizar la operación de sumar tal y como nos la enseñaron en primaria con nuestro sistema de numeración posicional decimal, sino que exige un desarrollo bastante más laborioso. Es decir, el proceso que implica el concepto suma es diferente, aunque, en este caso, el resultado final sea el mismo, pero expresado de otra forma (por ejemplo, 4 + 9 = 13; IV + XIX = XIII). En esta línea, cabe destacar el gusto por el cuidado en los detalles de Contact (recuerden, más de veinte años): en la segunda capa de información del mensaje de los extraterrestres (la primera era emitirlo con una frecuencia de números primos) enseñan la grafía de sus operaciones matemáticas, dan la clave para que desencriptemos su mensaje a nuestro lenguaje matemático, porque ya sería mucha casualidad que escribieran las sumas igual que nosotros. Y ni las sumas se expresan siempre igual, ni, cuidado, en matemáticas las sumas expresan siempre lo mismo. Tuve un profesor de Álgebra que removía nuestros cimientos utilizando notaciones desconcertantes: en lugar del signo habitual más (+) o menos (−), dibujaba en ocasiones la clásica margarita para definir una operación (x «flor» y = z). Con este espíritu iconoclasta quería hacer hincapié en que, por un lado, los signos que usamos son convenciones y, por otro, no siempre definen un mismo procedimiento. 

Volviendo de nuevo a nuestras amigas las curvas elípticas, para su uso en criptografía, se define una operación llamada suma (que perfectamente se podría haber llamado flor) en la que P + Q = R, que así descrita no parece tener nada de especial. Pero encierra una explicación geométrica en cierto modo bastante arbitraria: los términos de esa fórmula indican los puntos de intersección de una recta con la curva elíptica (P y Q) y el simétrico respecto al eje x del tercer punto de corte (R) que siempre tienen las curvas elípticas. Si resulta que la recta es tangente a la curva, como hemos dicho antes, entonces tendríamos P + P = Q = 2P, que es a donde queríamos llegar. Dentro de las propiedades que tienen nuestras curvas elípticas, si se desea, se puede construir un punto Q = P + P + P + … + P = kP que pertenece a la curva elíptica. 

Si lo resolviéramos dibujándolo como hemos dicho antes, esa k indica el número de veces que hay que hacer la construcción geométrica; empezaríamos trazando la tangente en un punto de la curva elíptica elegido, después buscaríamos el otro punto de corte en la curva (que hemos dicho que existe), calcularíamos su inverso (el simétrico respecto a x, que también hemos definido que existe) y, desde ahí, lo sumaríamos al punto inicial y, con el nuevo punto obtenido, haríamos otra suma. Así hasta repetirlo k veces. Y esta es la clave de la criptografía de curva elíptica. Computacionalmente, obtener Q a partir de k y P es sencillo, pero obtener k a partir de Q y P requiere mucho tiempo: dependiendo del tamaño de P, Q y k, podríamos estar hablando de la edad del universo para la tecnología actual. Así pues, como sospecharán, k será la clave privada que no queremos que sepa nadie y que nos permitirá encriptar y desencriptar mensajes.

La forma práctica que se utiliza comúnmente para realizar el intercambio de información con criptografía de curva elíptica se denomina criptografía asimétrica o de clave pública. Supongamos que dos personas quieren intercambiar algún tipo de información confidencial. Cada una de ellas tendrá una k diferente y secreta (ka y kb). A partir de un punto generador G, las dos crean un nuevo punto con su clave secreta (kaG = Pa y kbG = Pb) en su terminal. Un tercero malicioso, seguramente vestido con gabardina y una careta de Guy Fawkes, podría interceptar las Pa o Pb cuando las intercambien vía internet, pero, como hemos dicho, obtener las k a partir de las G y las P lleva muchísimo tiempo. Y ¿cómo intercambian información sin desvelar sus claves privadas? Pues, gracias a las propiedades que hemos descrito de las curvas elípticas, de una forma muy fácil: kb(kaG) = kbPa y ka(kbG) = kaPb. Las dos personas son capaces de encriptar y desencriptar mensajes sin conocer la clave privada del otro. Pues parece que ya estaría. Pero no.

Quien haya estudiado Dibujo Técnico conocerá el teorema del punto gordo. Se aplicaba cuando las rectas no se cortaban exactamente en el mismo punto o el corte de las mismas era muy sesgado, por ejemplo. En estas situaciones, con satisfacción ante el trabajo bien hecho, se marcaba la solución con un punto gordo (de ahí su nombre; aquí, sí que es intuitivo) que abarcaba la supuesta solución y también el margen de error. Esto también puede pasar computacionalmente, lo que es un problema, ajá, gordo. Para un algoritmo criptográfico, una cifra es igual a otra solo si lo son realmente, no si se parecen o andan cerca o trampeo un poco con el lápiz poco afilado. Y, aun así, podemos tener complicaciones con los decimales y los redondeos de los diferentes terminales. Esto se resuelve mediante otra particularidad de las curvas elípticas.

Otro inciso. Cuando hablamos de horas, o de ángulos, sabemos que para situarnos en la magnitud que nos transmiten hay que asumir que no nos aportan información extra a partir de cierta cifra. Por ejemplo, si nos invitan a tomar un café dentro de 39 horas, probablemente no acudiremos a solas a pasar el rato con esa persona extraña, con lo fácil que es decir que nos vemos pasado mañana a las 7:00 y que, no obstante, ya te envío un was para confirmar. O, si te indican que a la cafetería llegas tras girar 1350º en la siguiente rotonda, acabarás desorientado después de dar varias vueltas en la glorieta y con cero ganas de meter café en el estómago. Es decir, que por muchas horas que digamos es más interesante reducir la información a una horquilla de 24 resultados (las horas del día) o, en el caso de los ángulos, de 360 (una circunferencia completa). En matemáticas, en estos casos, se dice que expresamos las horas en módulo 24 o los ángulos en módulo 360.

Retomamos. Gracias a una de las grandes carambolas que de vez en cuando se descubren en las matemáticas, resulta que cada curva elíptica está asociada a una forma modular. Esta afirmación fue primero una conjetura enunciada por Yutaka Taniyama y Gorō Shimura para ser posteriormente un teorema (en efecto, por eso se llama teorema de Taniyama-Shimura) demostrado parcialmente durante el ataque definitivo al llamado último teorema de Fermat por parte de Andrew Wiles. Este matemático británico, obsesionado desde niño con el legendario problema y posteriormente convertido en experto en formas modulares, personificó la tormenta perfecta para acabar con esta conjetura trescientos cincuenta años después. La historia del teorema de Fermat es maravillosa, pero el espacio restante de este artículo es muy pequeño para contarla.

En resumen, y sin entrar en detalles farragosos y complejos (codazo, guiño), las curvas elípticas son modulares, lo que quiere decir que matemáticamente se pueden representar de una forma determinada por puntos aislados. Como las horas del día, que son números aislados del 0 al 23. Al ser puntos, por así decirlo, exactos, no hay problemas con los decimales ni riesgos por tener que aplicar el teorema del punto gordo. Y ahora sí, ya tenemos un sistema fetén para codificar.

Cree el ladrón que todos son de su condición

Como sistema criptográfico, es más habitual haber oído hablar del sistema RSA (nombrado así por las iniciales de sus creadores: Rivest, Shamir y Adleman), basado en números primos. Su algoritmo es más fácil de entender que el de la criptografía de curva elíptica: obtener un número grande como producto de dos números primos es sencillo; deducir los dos números primos a partir del resultado es muy laborioso. Pues, para un mismo tamaño de clave (los bits que ocupa y que son información que emitir, recibir, almacenar y operar), usar la criptografía de curva elíptica es más eficiente y seguro que emplear el sistema RSA. Pero usándola bien. 

Hay algoritmos de ruptura para los sistemas basados en las curvas elípticas, pero no suponen un peligro con la tecnología actual, ya que a lo que hay que tener miedo es al factor humano. Implementar mal la criptografía de curva elíptica es más peligroso que volver del futuro con el manido detergente revolucionario y una computadora cuántica de quinta generación parecida a la caja negra que aparecía en la película Los fisgones (más de veinte años también). El ejemplo más conocido es el de la PlayStation 3, que construyó un sistema basado en curvas elípticas para comprobar principalmente que los juegos no fueran pirata. El algoritmo tenía un error, puesto que un término que debía ser aleatorio, en realidad, se programó para que fuera siempre el mismo, con lo que uno de esos señores de la gabardina no tardó mucho en encontrar y desvelar el fallo. Aunque el caso más sangrante de una vulnerabilidad en un sistema basado en la criptografía de curva elíptica se descubrió tres años más tarde.

Empezábamos hablando de la NSA. Este organismo, en la primera década del siglo XXI, publicó una serie de normas para que sus proveedores utilizaran este sistema porque confiaba plenamente en esa forma de criptografía. No solo eso, sino que aportó una serie de algoritmos basados en curvas elípticas para diferentes aplicaciones. Diversos expertos tenían la mosca detrás de la oreja y ponían en duda la seguridad de uno de ellos en concreto, el denominado Dual Elliptic Curve Deterministic Random Bit Generator (Dual_EC_DRBG). En 2013 se descubrió el pastel. Un antiguo trabajador de la NSA (y de la CIA) llamado Edward Snowden filtró miles de documentos confidenciales de estas agencias. En algunos se relataba cómo la NSA conocía que el algoritmo Dual_EC_DRBG tenía una puerta trasera, de tal manera que era random pero no mucho, y maniobró para que fuera utilizado masivamente, presuntamente para poder acceder a contenido encriptado cuando fuera necesario. Vaya, pues aquí el tercero malicioso no era fan de V de Vendetta, sino que llevaba traje, corbata y era funcionario estadounidense. Puede que el temor de la NSA esté bien fundado, puesto que, si a ellos los han pillado con el carrito del helado haciendo eso con las curvas elípticas, ¿qué no habrán hecho ya los malos?

SUSCRIPCIÓN MENSUAL

5mes
Ayudas a mantener Jot Down independiente
Acceso gratuito a libros y revistas en PDF
Descarga los artículos en PDF
Guarda tus artículos favoritos
Navegación rápida y sin publicidad
 
 

SUSCRIPCIÓN ANUAL

35año
Ayudas a mantener Jot Down independiente
Acceso gratuito a libros y revistas en PDF
Descarga los artículos en PDF
Guarda tus artículos favoritos
Navegación rápida y sin publicidad
 
 

SUSCRIPCIÓN ANUAL + FILMIN

85año
Ayudas a mantener Jot Down independiente
1 AÑO DE FILMIN
Acceso gratuito a libros y revistas en PDF
Descarga los artículos en PDF
Guarda tus artículos favoritos
Navegación rápida y sin publicidad
 

6 Comments

  1. El típico artículo que te pones a leer con miedo, acabas de leer sin haber entendido del todo, y sabes que volverás a leer una y otra vez.

    • Baba Yaga

      No soy muy bueno en matemáticas, pero si no entendí mal entonces la solución universal de las ecuaciones de curvas elípticas equivale a una visita de los amigos de la NSA, multiplicado por acabar encerrado en una fría y húmeda torre en el medio de la nada a lo conde de Montecristo… Y eso si uno tiene suerte. Imagínese usted si primero te visitan los malos…

  2. El autor se esfuerza demasiado en describir lo que unos gráficos habrían conseguido con muchísima facilidad para él y para nosotros, los lectores (y en este punto yo habría puesto una coma que al final me he ahorrado para no cometer el pecado de pretender hablar por todos) que a resultas de esa carencia nos perdemos en el planteamiento y no somos capaces de llegar a la enjundia de lo que se pretendía contar.

  3. Pero toda esta chapa nos vale pa hacer cobetes?

  4. Antonio Bedmar Fernández

    Yo quiero sacar una moraleja. Los que quieren implantar un sistema criptográfico es porque son desconfiados. Una persona confiada no siente la necesidad de encriptar nada.
    Bueno, pues sobre todo el final de este artículo nos enseña que no podemos fiarnos de los que nos venden un sistema de encriptación, porque la NSA puede habérnoslo vendido trucado para que ellos sí que puedan saber nuestros secretos. Y si son una Empresa Tecnológica lo mismo.
    El problema claro está, es que un ciudadano normal como yo no puede ni sabe fabricarse su propio sistema de encriptación privado. Pero una gran empresa o un país sí que puede. Del mismo modo que hay buenas razones para que un país si puede se fabrique sus propias armas en vez de comprarlas, el país que pueda no debe fiarse de terceros y fabricarse sus propios sistemas de encriptación.

  5. Pingback: Elipses y curvas elípticas – The Shaper

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.