10
DESCIFRAR NÚMEROS Y CÓDIGOS
Si Gauss estuviera vivo, hoy sería un hacker.
PETER SARNAK
catedrático de la Universidad de Princeton
En 1903, Frank Nelson Cole, profesor de matemáticas en la Universidad de Columbia, de Nueva York, pronunció una curiosa conferencia con ocasión de una reunión de la American Mathematical Society. Sin mediar palabra, Cole escribió uno de los números de Mersenne en una pizarra. En la pizarra adjunta escribió dos números más pequeños y los multiplicó. En medio escribió un signo de igualdad. A continuación tomó asiento.
267 − 1 = 193.707.721 × 761.838.257.287
El público se levantó para aplaudirlo, en una explosión de entusiasmo que se da muy rara vez en un local lleno de matemáticos. Y sin embargo multiplicar dos números no era tan difícil, ni siquiera para los matemáticos de principios de siglo, ¿verdad? En realidad, Cole había efectuado la operación opuesta: desde 1876 se sabía que 267 − 1, un número de Mersenne de veintiocho cifras, no era un número primo, sino el producto de dos números más pequeños. Nadie sabía aún cuáles. Cole necesitó tres años de tardes dominicales para descomponer aquel número en los dos números primos que lo forman.
No sólo el público de Cole apreció su trabajo en aquel lejano 1903. En el 2000, un esotérico espectáculo off-Broadway titulado El teorema de las cinco muchachas histéricas rindió homenaje a aquel cálculo haciendo que una de las muchachas resolviera el problema de la factorización del número de Cole. Los números primos son un tema recurrente en esta comedia teatral que narra el viaje al mar de una familia matemática: el padre lamenta la inminente mayoría de edad de la hija pero no porque será lo bastante mayor para irse con su enamorado sino porque 17 es un número primo, mientras que 18 ¡es divisible entre otros cuatro números!
Hace más de dos mil años que los matemáticos griegos demostraron que todo número entero puede escribirse como producto de números primos; desde entonces, los matemáticos siguen sin encontrar un método rápido y eficiente para determinar los números primos con los que se construyen los demás números. Lo que nos falta es un equivalente matemático de la espectroscopia, que permite a los químicos establecer qué elementos de la tabla periódica forman parte de una sustancia compuesta. El descubrimiento de algo análogo en matemáticas, capaz de descomponer un número entero en los números primos que lo constituyen, daría a su creador algo más que el simple aplauso académico.
En 1903 el cálculo de Cole se acogió como una interesante curiosidad matemática: la larga ovación que recibió era un reconocimiento por el extraordinario esfuerzo consumido en aquel cálculo, pero con toda seguridad, nadie pensaba que la solución de aquel problema tuviera importancia intrínseca. Actualmente, la factorización de los números —su descomposición en los números primos que los forman— ha dejado de ser un pasatiempo para tardes de domingo y se ha situado en el centro de las modernas técnicas de descifrado de códigos: los matemáticos han ideado una forma de ligar el difícil problema de la factorización con los códigos que protegen las finanzas de todo el mundo en Internet. En el caso de números de cien cifras, el trabajo aparentemente inocente de determinar los factores primos es lo suficientemente arduo como para persuadir a la banca y al comercio electrónico de que confíen la seguridad de sus propias transacciones financieras a los tiempos increíblemente largos que, hasta el momento, ello requiere. Mientras tanto, estos nuevos códigos matemáticos se han usado para resolver un problema que obsesionaba al mundo de la criptografía.
EL NACIMIENTO DE LA CRIPTOGRAFÍA EN INTERNET
Desde que fuimos capaces de comunicarnos, hemos tenido necesidad de enviar mensajes secretos. Para impedir que informaciones importantes cayeran en manos equivocadas, nuestros antepasados idearon sistemas cada vez más complejos con los que enmascarar el contenido de un mensaje. Uno de los métodos más antiguos que se usó para esconder mensajes fue ideado por el ejército de Esparta hace más de dos mil quinientos años: el remitente y el destinatario de los mensajes poseían cada uno de ellos una scitala, un delgado cilindro de madera de dimensiones perfectamente idénticas. Para cifrar un mensaje, el remitente empezaba por enrollar en espiral una delgada tira de pergamino alrededor de la scitala. A continuación escribía el mensaje sobre el pergamino, a lo largo del cilindro. Una vez desenrollado el pergamino, el texto del mensaje aparecía sin sentido. Volvía a adquirir su forma auténtica sólo cuando el pergamino se enrollaba alrededor de la scitala gemela que poseía el destinatario. Desde entonces, las generaciones sucesivas han inventado métodos criptográficos cada vez más sofisticados. El último y más refinado ingenio mecánico para el cifrado de mensajes fue Enigma, la máquina que usaron las fuerzas armadas alemanas durante la Segunda Guerra Mundial.
Antes de 1977, quien quisiera enviar un mensaje secreto se encontraba con un problema substancial: antes de transmitir el mensaje, remitente y destinatario tenían que encontrarse para decidir qué cifra —qué sistema de codificación— adoptarían. Los generales espartanos, por ejemplo, necesitaban ponerse de acuerdo sobre las dimensiones de la scitala. Incluso con la producción en serie de la máquina Enigma, Berlín tenía que mandar agentes que hicieran llegar a los capitanes de los submarinos y de las divisiones mecanizadas los libros con la descripción detallada de la puesta a punto de las máquinas para codificar los mensajes diarios. Naturalmente, si el enemigo hubiera conseguido esos libros, todo habría terminado.
Podemos imaginar las dificultades logísticas que surgirían si tuviéramos que usar un sistema de criptografía de este estilo para comprar por Internet. Antes de que pudiéramos mandar nuestras informaciones bancarias con seguridad, las empresas que gestionan los sitios de Internet en los que pretendemos comprar nos tendrían que enviar una carta protegida para explicarnos cómo codificar la información. Dado el enorme tráfico de Internet, habría altísimas probabilidades de que muchas de aquellas cartas terminaran por ser interceptadas. Se hacía imprescindible, en los inicios de la era de las comunicaciones rápidas, desarrollar un sistema criptográfico adaptado a las nuevas necesidades. Y de la misma manera que, durante la guerra, eran los matemáticos de Bletchley Park quienes descifraron Enigma, serían los matemáticos quienes crearían una nueva generación de códigos que ha hecho salir la criptografía de las novelas de espionaje para introducirla en la aldea global. Estos códigos matemáticos han favorecido el nacimiento de la que hoy se conoce con el nombre de criptografía de clave pública.
Podemos pensar en la codificación y decodificación de un mensaje como la apertura y el cierre de una puerta con una llave. En el caso de una puerta convencional, se usa la misma llave para cerrarla y para abrirla. Análogamente, en el caso de la máquina Enigma la configuración utilizada para cifrar un mensaje es idéntica a la configuración usada para descifrarlo: la configuración —llamémosla la clave— debe mantenerse en secreto; cuanto más lejos está el destinatario del remitente, más difícil resulta desde el punto de vista logístico hacer entrega de la clave utilizada para cifrar y descifrar el mensaje. Supongamos que el jefe de una organización de espionaje desea recibir informes reservados de un cierto número de agentes activos, pero no desea que ellos lean los informes que envían sus colegas: en este caso no tendría más remedio que enviar una clave distinta a cada agente. Ahora cambiemos «algunos agentes secretos» por millones de personas ansiosas de comprar productos por Internet. Una operación de estas dimensiones, aun no siendo imposible desde el punto de vista teórico, es una pesadilla logística: para empezar, un comprador potencial que visitara el sitio web no podría cursar una orden inmediatamente, sino que tendría que esperar a recibir una clave segura de codificación. La World Wide Web, la red informática mundial, se transformaría en un World Wide Wait: la espera informática mundial.
El sistema de la criptografía de clave pública es como una puerta con dos llaves distintas: la llave A cierra la puerta pero es otra llave distinta, la B, la que la abre. Inmediatamente desaparece la necesidad de mantener en secreto la llave A: la posesión de esta llave no compromete la seguridad. Imaginemos ahora que esta puerta se encuentra en la entrada del área protegida de la página de Internet de una empresa: la empresa puede distribuir libremente la clave A a cualquier visitante que desee mandar un mensaje seguro, como por ejemplo el número de su tarjeta de crédito; aunque todos estén usando la misma clave para codificar sus propios mensajes —es decir, para cerrar la puerta y asegurar su información secreta— nadie podrá leer el mensaje codificado por los demás. De hecho, cuando los datos han sido codificados, sus autores no pueden leerlos, ni siquiera si aquellos son sus propios datos: sólo la empresa que gestiona el sitio dispone de la clave B, que le permite abrir la puerta y leer los números de la tarjeta de crédito.
La criptografía de clave pública se propuso por vez primera en 1976, en un importante artículo científico escrito por dos matemáticos de la Universidad de Stanford, en California: Whit Diffie y Martin Hellman. La pareja hizo nacer un movimiento alternativo en el mundo de la criptografía, un movimiento que retaría al monopolio de las agencias gubernamentales sobre la seguridad de los datos. Diffie, en particular, era el arquetipo antisistema del joven melenudo de los años sesenta. Tanto él como Hellman estaban profundamente convencidos de que la criptografía no tenía que ser propiedad exclusiva del gobierno y que sus ideas tenían que ser públicas, para beneficio de las personas. Bastante tiempo después se filtró la noticia de que otro sistema criptográfico análogo había sido propuesto por algunas agencias gubernamentales, pero en lugar de publicarse en una revista científica la propuesta se había escondido en alguna parte con el sello de Top Secret.
El artículo del grupo de Stanford, titulado New Directions in Cryptography, anunciaba una nueva era en el campo de la criptografía y de la seguridad electrónica. El cifrado en clave pública, con su doble clave, parecía una gran innovación, al menos en teoría; pero ¿era posible llevar a la práctica aquella teoría y crear un código que funcionara según aquellos principios? Tras algunos años de intentos infructuosos, algunos criptógrafos empezaban a dudar de la posibilidad de construir una clave de ese tipo: temían que en el mundo real del espionaje aquella clave académica no podría funcionar.
RSA, EL TRÍO DEL MIT
Ron Rivest, del Massachusetts Institute of Technology, fue uno de los muchos que se inspiraron en el artículo de Diffie y Hellman. Rivest, en contraste con el estilo rebelde de Diffie y de Hellman, es un hombre que respeta las convenciones: es una persona reservada, habla en voz baja y reacciona con prudencia ante el mundo que lo rodea. En la época en que leyó New Directions in Cryptography, ambicionaba entrar a formar parte del establishment académico. Sus sueños estaban poblados de cátedras universitarias y de teoremas, pero no de espías y de códigos secretos: no imaginaba ni remotamente que la lectura de aquel artículo sería el principio de un viaje que lo llevaría a idear uno de los sistemas criptográficos más potentes y de mayor éxito comercial jamás creados.
Rivest ingresó en el Departamento de Informática del MIT en 1974, después de haber trabajado como investigador en la Universidad de Stanford y en París. Como Turing, se interesaba por la interacción entre teoría abstracta y máquinas reales; en Stanford había dedicado algún tiempo a construir robots inteligentes, pero ahora dirigía su atención hacia los aspectos más teóricos de las ciencias informáticas.
En tiempos de Turing, la cuestión más importante en el ámbito del cálculo matemático, inspirada por el segundo y el décimo problema de Hilbert, era la existencia teórica de programas capaces de resolver ciertos tipos de problemas. Como Turing había mostrado, ningún programa sería capaz de establecer cuáles de las verdades matemáticas son demostrables. En los años setenta, otra cuestión teórica hacía furor en los departamentos universitarios de ciencias informáticas. Supongamos que existiera efectivamente un programa capaz de resolver un problema específico. Se puede analizar cuánto tiempo empleará el programa en resolver el problema. Obviamente, la cuestión adquiere una gran importancia si el programa está destinado a funcionar en un ordenador de verdad. La cuestión requería un análisis muy teórico, pero profundamente ligado con el mundo real. Y precisamente esta combinación de teoría y práctica suponía un reto perfecto para Rivest: dejó sus robots en Stanford y se trasladó al MIT para dedicarse a una disciplina en rápido crecimiento: la complejidad computacional.
«Un día, un estudiante de doctorado me hizo llegar un artículo diciéndome: “Quizá pueda interesarle”», recuerda Rivest. Se trataba del artículo de Diffie y Hellman, y Rivest quedó inmediatamente fascinado por él. «Presentaba una visión general de lo que es la criptografía y de lo que podría ser. Nos permitía hacernos una idea». El reto que el artículo planteaba reunía todos los intereses de Rivest: informática, lógica y matemáticas. Era un problema con implicaciones prácticas evidentes para el mundo real, pero que al mismo tiempo se relacionaba directamente con las cuestiones teóricas que tanto preocupaban a Rivest: «Lo que importa en criptografía es distinguir entre los problemas fáciles y los problemas difíciles», explica Rivest. «Y la Informática se ocupaba precisamente de eso». Si se quería un código difícil de descifrar, debía de construirse en base a un problema cuya solución fuera difícil de calcular.
Para empezar sus intentos de construir un sistema de criptografía de clave pública, Rivest propuso apropiarse de la riqueza de gran cantidad de problemas que, como él bien sabía, habrían requerido mucho tiempo para ser resueltos por los ordenadores. También necesitaba alguien con quien discutir sus ideas. En aquellos años, el MIT empezaba ya a romper los esquemas de una universidad tradicional, difuminando las fronteras entre departamentos con la esperanza de alentar las relaciones interdisciplinarias. Rivest, que era un científico informático, contaba en su misma planta con miembros del departamento de matemáticas; y los despachos vecinos del suyo también estaban ocupados por dos matemáticos: Leonard Adleman y Adi Shamir.
Adleman era más sociable que Rivest, pero era un típico académico con ideas locas y maravillosas sobre cosas que parecían no tener nada que ver con la realidad. Adleman recuerda la mañana en que entró en el despacho de Rivest: «Ron estaba sentado con aquel manuscrito: “¿Has visto esa historia de Stanford sobre criptogramas, códigos secretos, sistemas de codificación… bla, bla, bla…?”. Mi reacción fue: “Bueno, parece muy bonito Ron, pero yo vengo a hablar de cosas serias. No me importa en absoluto”. Pero Ron estaba muy interesado».
Lo que le importaba a Adleman se interesaba por el mundo abstracto de Gauss y de Euler: era descifrar el último teorema de Fermat, no dedicarse a un tema de moda como la criptografía.
Rivest halló oídos más receptivos en otro despacho del mismo pasillo, el que ocupaba Adi Shamir, un matemático israelí de visita en el MIT. Juntos, Shamir y Rivest se pusieron a buscar una idea que pudiera usarse para traducir en algo real el sueño de Diffie y Hellman. Aunque Adleman no tenía mucho interés por la cuestión, resultaba difícil ignorar la obsesión de Rivest y Shamir por aquel problema: «Cada vez que iba a sus despachos, estaban hablando de ello. La mayoría de los sistemas que ideaban eran muy sencillos y, ya que estaba allí, intervenía en sus discusiones para ver si lo que proponían aquel día tenía sentido».
Mientras exploraban el abanico de problemas matemáticos «duros», empezaron a utilizar para sus sistemas criptográficos en estado embrionario un número cada vez mayor de ideas extraídas de la teoría de los números; esto sí entraba en la esfera de interés de Adleman: «Como se trataba de mi área de competencia, podía resultar más útil en el análisis de sus sistemas, y eliminarlos casi todos». Pensó que por fin había hallado la horma de su zapato cuando Rivest y Shamir propusieron un sistema que parecía muy seguro, pero tras una noche de trabajo en la que repasó toda la teoría de los números que conocía, consiguió hallar un modo de descifrar también aquel último código. «La cosa duró mucho. Si iban a esquiar, hablaban del tema… Incluso en el telecabina que nos llevaba a las pistas no dejaban de hablar de ello…».
El salto adelante tuvo lugar una noche, cuando los tres estaban invitados a cenar en casa de un graduado que celebraba la primera noche de la Pascua judía. Adleman era abstemio, pero recuerda que Rivest bebió de golpe el vino del Seder.[6] Adleman volvió a casa a medianoche, y poco más tarde sonó el teléfono: era Rivest. «He tenido otra idea…». Adleman escuchó con atención. «Ron, creo que esta vez lo tenemos. Me parece que esta es la idea buena». Durante algún tiempo habían considerado el difícil problema de la factorización de los números: no existían proyectos interesantes de programas capaces de descomponer los números enteros en los números primos que los forman. Aquel problema tenía el sabor preciso. Bajo el efecto del vino ritual del Seder, Rivest había comprendido la forma de traducirlo a su código. Recuerda: «A primera vista daba muy buena impresión, pero sabíamos por experiencia que las cosas que al principio parecen convincentes pueden quedarse en nada; por ello lo aparqué hasta la mañana siguiente».
Cuando Adleman llegó al departamento del MIT hacia media mañana del día siguiente, Rivest lo saludó mostrándole el esbozo escrito a mano de un artículo que tenía los nombres de Adleman, Rivest y Shamir en el encabezado. Mientras lo leía, Adleman se dio cuenta de que contenía lo que Rivest le había comentado por teléfono la noche anterior. «Le dije a Ron: “Quita mi nombre. Esto es cosa tuya”. Y empezamos a pelearnos sobre la oportunidad de que mi nombre apareciera o no en el artículo». Adleman aceptó reflexionar sobre ello. Entonces no creía que se tratara de una cuestión importante, ya que se suponía que el artículo sería el menos leído de todas sus publicaciones. Pero más tarde se acordó del sistema de criptografía que lo había tenido despierto toda una noche. En aquella ocasión había evitado que Rivest y Shamir hicieran un papelón publicando precipitadamente un código poco seguro. «Por esto volví a hablar con Ron: “Ponme el tercero de la lista”. Así nacieron las siglas RSA».
Rivest decidió que lo mejor que podían hacer era estudiar hasta qué punto era difícil el problema de la factorización de los números: «El problema de la factorización era una forma de arte oscura en aquellos tiempos. La literatura de referencia era escasa. Era difícil obtener buenas estimaciones del tiempo que emplearían los algoritmos existentes». Una persona que sabía del tema más que casi cualquier otro era Martin Gardner, uno de los más grandes divulgadores de matemáticas del mundo. Gardner sintió curiosidad por el método que Rivest proponía y le pidió permiso para publicar un artículo dedicado a aquella idea en su sección fija del Scientific American.
La reacción al artículo de Gardner convenció finalmente a Adleman de que habían descubierto algo gordo:
Aquel verano entré en una librería de Berkeley. Un cliente y el hombre que había tras el mostrador estaban discutiendo algo, y el cliente le dijo: «¿Ha visto aquel artículo sobre criptografía del Scientific American?». Intervine: «¡Eh!, yo participo en aquello». Y el tipo se vuelve hacia mí y me dice: «¿me firma un autógrafo?». ¿Cuántas veces nos piden un autógrafo? Cero. Ea, de qué se trata… ¡Me parece que aquí está pasando algo serio!
Gardner había escrito en su artículo que los tres matemáticos estaban dispuestos a mandar una versión preliminar a todos los que les hicieran llegar un sobre franqueado. «Cuando vuelvo al MIT encuentro miles, literalmente miles, de sobres de éstos procedentes de todo el mundo, incluido uno del servicio de seguridad búlgaro, y bla bla bla».
La gente empezó a decirles que se harían ricos. Incluso en los años setenta, cuando el comercio electrónico era pura fantasía, la gente se dio cuenta de la potencialidad de aquellas ideas. Adleman pensaba que el dinero empezaría a fluir al cabo de pocos meses, y corrió a comprar un deportivo rojo para celebrarlo: Bombieri no era el único matemático que deseaba un deportivo como premio por sus éxitos.
Finalmente Adleman terminó por tener que pagar su coche a plazos, visto el sueldo que cobraba en el MIT. Hizo falta un poco más de tiempo para que los servicios de seguridad y el mundo de los negocios fueran completamente conscientes de la fiabilidad y de la potencia del cifrado RSA. Mientras Adleman se iba de paseo con su coche pensando aún en Fermat, Rivest ya empezaba a sintonizar con las implicaciones de su propuesta para el mundo real:
Pensábamos que el proyecto podía tener implicaciones económicas. Por ello pasamos por el despacho de patentes del MIT y luego buscamos alguna empresa que pudiera interesarse en comercializar el producto. Pero en los primeros años ochenta aún no existía un mercado. El interés era escaso en aquella fase. El mundo todavía no estaba ligado por una gran red. La gente no tenía un ordenador sobre la mesa de trabajo.
Los que sí se interesaron fueron, obviamente, los servicios de seguridad gubernamentales: «Los servicios de seguridad empezaban a estar muy preocupados por el desarrollo de toda aquella tecnología», explica Rivest. «Hacían lo que podían para comprender si el sistema que proponíamos iba demasiado rápido». Parece que la misma idea ya se había sugerido secretamente en los ambientes de los servicios de inteligencia. Pero los servicios de seguridad tenían muchas dudas sobre la pertinencia de poner la vida de sus agentes en manos de algunos matemáticos convencidos de la dificultad de descomponer números. Ansgar Heuser, de los servicios de seguridad alemanes, el BSI, recuerda que en los años ochenta ellos mismos consideraron la posibilidad de usar en la práctica el sistema RSA. Preguntaron a los matemáticos si Occidente era mejor que los rusos en teoría de los números. Cuando recibieron un claro «no» por respuesta, desecharon la idea. Sin embargo, en el decenio siguiente el RSA demostró su propio valor no sólo con relación a la protección de la vida de los espías, sino también en el mundo público de los negocios.
UN TRUCO DE NAIPES CRIPTOGRAFICO
Hoy, el cifrado RSA salvaguarda gran parte de las transacciones que se realizan por Internet. Lo extraordinario es que las matemáticas que hacen posible este sistema de criptografía de clave pública se remonta a las calculadoras de reloj de Gauss y a un teorema que demostró Pierre de Fermat, uno de los héroes de Adleman: el teorema menor de Fermat.
La suma en calculadoras de reloj de Gauss es una operación que a todos nos es familiar. La hacemos cuando calculamos el tiempo con un reloj normal de doce horas en su esfera. Sabemos que cuatro horas después de las nueve será la una. Este es el principio de la adición sobre la calculadora de reloj: sumamos los números y obtenemos el resto de dividir por doce el resultado. Para expresar este hecho, utilizamos exactamente la misma notación que Gauss introdujo hace cerca de doscientos años:
4 + 9 = 1 (módulo 12)
La multiplicación o la operación de elevar a la potencia de un número con una calculadora de reloj de Gauss funcionan de manera similar: se calcula el resultado con una calculadora convencional, se divide entre doce y se toma el resto de la división.
Gauss había comprendido que no era necesario limitarse a los relojes con esferas de doce horas. Incluso antes de que Gauss formulara explícitamente su concepto de la aritmética del reloj, Fermat había hecho un descubrimiento fundamental, que recibió el nombre de teorema menor, en el que se consideraba una calculadora de reloj con un número primo de horas, llamado p. Si tomamos un número en esta calculadora y lo elevamos a la potencia p, obtenemos siempre el número del que habíamos partido. Por ejemplo, si en una calculadora de reloj de cinco horas multiplicamos 2 por sí mismo 5 veces, obtenemos 32, al que corresponde de nuevo 2 en el reloj de 5 horas. Cada vez que Fermat multiplicaba el resultado anterior por 2, la manecilla del reloj parecía trazar un recorrido iterativo. Después de cinco pasos, la manecilla volvía al punto de partida, dispuesta a repetir la secuencia.
Potencias de 2 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 210 |
Con calculadora convencional |
2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1.024 |
Con calculadora de reloj de 5 horas |
2 | 4 | 3 | 1 | 2 | 4 | 3 | 1 | 2 | 4 |
Si tomamos un reloj con esfera de trece horas y repetimos el procedimiento con las potencias de 3, desde 31, 32,… hasta 313, obtenemos
3, 9, 1, 3, 9, 1, 3, 9, 1, 3, 9, 1, 3
Esta vez la manecilla no se detiene en todas las horas de la esfera del reloj, pero así y todo se da una pauta iterativa que la lleva nuevamente sobre el 3 tras multiplicar 3 por sí mismo 13 veces. Parecía que, con independencia del valor elegido por Fermat para el número primo p, tuviera lugar la misma magia: Fermat había descubierto que, con la notación que Gauss utilizaba para la aritmética del reloj (o aritmética modular), para cualquier número primo p y para cualquier valor x sobre el reloj con esfera de p horas resultaba
xp = x (módulo p)
El descubrimiento de Fermat es el tipo de cosas que hace latir con fuerza el corazón de los matemáticos. ¿Qué se esconde en los números primos para producir este tipo de magia? No contento con las observaciones experimentales, Fermat quería encontrar una demostración del hecho de que cualquiera que fuera el número primo de horas elegido para su reloj, los números primos nunca lo decepcionarían.
En lugar de utilizar los márgenes de un libro, esta vez Fermat declaró que había encontrado una demostración en una carta escrita en 1640 a un amigo, Bernard Frenicle de Bessy. Pero, como en el caso del último teorema, la demostración era demasiado larga para escribirla extensamente en el espacio disponible: aunque prometió que la enviaría a Bessy, Fermat nunca reveló al mundo la demostración. Hubo que esperar otro siglo para que la demostración fuera redescubierta. En 1736, Leonard Euler descubrió por qué en los relojes de números primos de Fermat la manecilla volvía siempre al punto de partida cuando la hora se multiplicaba por sí misma un número primo de veces. Euler también consiguió extender el descubrimiento de Fermat a los relojes con N horas en la esfera donde es el producto de dos números primos p y q. Euler descubrió que en un reloj así la pauta empezaría a repetirse tras (p − 1) × (q − 1) + 1 pasos.
El descubrimiento de Fermat acerca de la magia de los relojes de números primos y la generalización de Euler cruzaron como un relámpago por la mente de Rivest mientras estaba sentado, pensando, aquella noche tras la cena del Seder. Rivest comprendió que podía utilizar el teorema menor de Fermat como llave para construir un código matemático capaz de hacer desaparecer el número de una tarjeta de crédito para después hacerlo reaparecer mágicamente. Cifrar un número de tarjeta de crédito recuerda el inicio de un truco de naipes; pero aquí no tenemos una baraja corriente: el número de cartas de la baraja de Rivest es tan increíblemente enorme que requiere más de cien cifras para ser escrito. El número de la tarjeta de crédito de un cliente es una de las cartas de esa baraja. El cliente coloca su tarjeta de crédito en la parte superior de la baraja. La página de Internet mezcla las cartas, de manera que la ubicación de la tarjeta del cliente parece haberse perdido completamente: un hacker tiene que afrontar la misión imposible de extraer aquella carta en particular de la baraja mezclada. La página de Internet, sin embargo, conoce un truco ingenioso: gracias al teorema menor de Fermat, es capaz de hacer reaparecer la carta en la parte superior de la baraja tras barajar nuevamente. Esta segunda vez que se baraja es la clave secreta, que sólo es conocida por la empresa a la que pertenece el sitio.
Las matemáticas que Rivest utilizó para idear este truco criptográfico es realmente simple: la mezcla de las cartas se hace mediante un cálculo matemático; cuando el cliente coloca una orden en el sitio, el ordenador toma su número de tarjeta de crédito y hace un cálculo con él. Se trata de un cálculo muy fácil, pero casi imposible de deshacer si no se conoce la clave secreta. Ello se debe a que el cálculo no se hace con una calculadora convencional, sino con una de las calculadoras de reloj de Gauss.
Cuando un cliente coloca una orden en el sitio de una empresa, la empresa le dice cuántas horas debe usar en la calculadora de reloj. Para elegir este número de horas, la empresa toma dos grandes números primos, p y q, cada uno compuesto de aproximadamente 6o cifras. Los multiplica para obtener un tercer número, por tanto, el número de horas del reloj resultará enorme, hasta un máximo de 120 cifras. Cada cliente utilizará el mismo reloj para cifrar su propio número de tarjeta de crédito. Gracias a la seguridad de este código, la empresa puede utilizar el mismo reloj durante meses antes de tener que considerar la pertinencia de cambiar el número de horas de su esfera.
La selección del número de horas de la esfera de la calculadora de reloj de la página de Internet es el primer paso en la elección de la clave pública. Aunque el número N se haga público, los dos números primos p y q que lo componen son secretos. Estos números son los dos ingredientes de la clave que se usa para decodificar el número cifrado de la tarjeta de crédito.
A continuación, cada cliente recibe un segundo número: se llama número de código y lo indicaremos por E. Este número es el mismo para todos y es público, igual que el número N de horas que tiene la esfera de la calculadora de reloj. Para cifrar su número de tarjeta de crédito C, el cliente lo eleva a la potencia E con la calculadora de reloj pública de la página de Internet. (Podemos imaginar que E es el número de cortes que un prestidigitador hace para esconder en la baraja la carta que hemos elegido). El resultado, en la notación de Gauss, es CE (módulo N).
¿Qué es lo que hace más seguro este procedimiento? Al fin y al cabo, cualquier hacker puede ver el número cifrado de la tarjeta de crédito mientras viaja por el ciberespacio, y puede buscar la clave pública de la empresa, que consiste en la calculadora de N horas y la instrucción de elevar a E el número de tarjeta de crédito. Todo lo que el hacker tiene que hacer para descifrar este código es hallar un número que, multiplicado E veces por sí mismo con la calculadora de reloj de N horas, dé el número cifrado de la tarjeta de crédito. Pero esto es muy difícil. Una ulterior complicación resulta de la forma de calcular las potencias con una calculadora de reloj: en una calculadora convencional, el resultado de la operación aumenta constantemente a cada nueva multiplicación del número de la tarjeta de crédito por sí mismo. No sucede lo mismo con las calculadoras de reloj. En éstas, el punto de partida se pierde de vista muy rápidamente, ya que las dimensiones del resultado no tienen ninguna relación con la posición de partida. Tras barajar E veces, el hacker se encuentra completamente perdido.
¿Y si el hacker intenta probar con cualquier posible hora en la calculadora de reloj? No hay nada que hacer: hoy los criptógrafos utilizan relojes en los que N, el número de horas, tiene más de cien cifras. En otras palabras, hay más horas en la esfera de la calculadora que átomos en el universo. (En cambio, el número de código E es, en general, más bien pequeño). Pero, si el problema es imposible de resolver, ¿cómo hace la empresa para recuperar el número de tarjeta de crédito del cliente?
Rivest sabía que el teorema menor de Fermat garantizaba la existencia de un número mágico de decodificación, D. Cuando la empresa que opera en Internet multiplica el número cifrado de la tarjeta de crédito por sí mismo D veces, reaparece el número original de la tarjeta de crédito. Los prestidigitadores utilizan la misma idea para recuperar la carta escondida en una baraja. Tras un cierto número de cortes, se tiene la impresión de que el orden de las cartas sea completamente aleatorio, pero el prestidigitador sabe que algunos cortes más llevarán a la baraja a su estado original. Por ejemplo, en el caso del llamado corte perfecto —en el que se divide la baraja en dos partes iguales y a continuación se mezclan las dos mitades de forma que se alternen cada carta de una mitad con una carta de la otra mitad—, hacen falta ocho cortes para devolver a la baraja su configuración original. Naturalmente, la habilidad del prestidigitador consiste en efectuar ocho cortes perfectos seguidos. Fermat había descubierto un procedimiento análogo para los relojes, es decir, equivalente al número de cortes perfectos que se necesitan para devolver la baraja de 52 naipes a la configuración inicial. Y Rivest adaptó el truco de Fermat para decodificar los mensajes cifrados con el sistema RSA.
Aunque la baraja haya sido mezclada por la página de Internet un número de veces suficiente como para hacer imposible encontrar el número de nuestra tarjeta de crédito, la empresa que gestiona el sitio sabe que barajándola otras D veces hará reaparecer sobre la baraja nuestra tarjeta de crédito. Pero podremos hallar el valor de D sólo si conocemos los números primos secretos p y q. Rivest utilizó la generalización del teorema menor de Fermat que Euler había descubierto, que funciona con calculadoras de reloj constituidas por dos números primos en lugar de uno solo. Euler había demostrado que, en uno de estos relojes, la pauta se repite tras cortes; por ello, la única manera de saber cuánto tendremos que esperar para que la secuencia vuelva a empezar en un reloj con horas en su esfera es conocer los valores de ambos números primos p y q.
En todo caso, aunque los dos números primos p y q se mantengan en secreto, su producto es público; por tanto, la seguridad de la cifra RSA de Rivest se basa en la dificultad de su factorización. Un hacker tendría que afrontar el mismo problema que ocupó al profesor Cole a principios del siglo pasado: hallar los dos números primos con los que se construye N.
SE ARROJA EL GUANTE DEL DESAFÍO RSA 129
Para convencer al mundo de los negocios de que el problema de la factorización tenía un respetable abolengo, el trío del MIT acostumbraba a citar lo que uno de los pesos pesados, Gauss, decía al respecto: «La dignidad misma de la ciencia parece reclamar que se utilicen todos los medios posibles para hallar la solución a un problema tan elegante y celebrado». Pero, a pesar de su reconocimiento de la importancia del problema de la factorización, Gauss no consiguió avanzar ningún paso en el camino para solucionarlo. Y si Gauss lo había intentado sin éxito, no cabía ninguna duda sobre las garantías de poner en manos de la cifra RSA la seguridad de las empresas.
A pesar de la «aprobación» de Gauss al sistema RSA, el problema de la factorización había sido relegado a los márgenes de las matemáticas hasta que el trío del MIT lo tradujo a su cifra. Buena parte de los matemáticos mostraba muy poco interés por el trabajito práctico de descomponer los números enteros. Aunque se hubiera requerido un tiempo equivalente a la edad del universo para determinar los números primos que forman los grandes números, ¿qué importancia teórica podía tener este hecho? Sin embargo, con el descubrimiento de Rivest, Shamir y Adleman, el problema de la factorización adquirió una importancia muy superior a la que había tenido en tiempos de Cole.
¿Hasta qué punto es difícil descomponer un número en los primos que lo forman? Cole no tenía acceso a los ordenadores electrónicos, y por ello necesitó muchos domingos por la tarde para descubrir que 193.707.721 y 761.838.257.287 son los dos números primos que, una vez multiplicados, dan el número de Mersenne 267 − 1. Pero nosotros, armados con nuestros ordenadores, ¿no podemos simplemente verificar un número primo tras otro hasta hallar uno que divida al número que pretendemos factorizar? El problema es que factorizar un número de más de cien cifras significa tener que verificar más números que la cantidad de partículas existentes en el universo observable.
Con tal cantidad de números para verificar, Rivest, Shamir y Adleman se sintieron lo bastante confiados como para lanzar un desafío: factorizar un número de 129 cifras que ellos mismos habían construido multiplicando dos números primos. El número, junto con un mensaje cifrado, se publicó en el artículo de Martin Gardner en Scientific American que llevó el código al centro de la atención mundial. Como aún no eran los millonarios en los que se convertirían más adelante, los tres ofrecieron sólo cien dólares como premio a quien descubriera los dos números primos usados para construir aquel número enorme, bautizado como «RSA 129». En el artículo estimaban que serían necesarios cuarenta cuatrillones de años para descomponer RSA 129. Poco después se dieron cuenta de que habían cometido un pequeño error aritmético en su estimación del tiempo necesario. Sin embargo, dadas las técnicas de factorización disponibles en aquella época, se necesitarían miles de años.
La cifra RSA parecía la realización del sueño de los constructores de códigos secretos: un código absolutamente seguro. Con tantos números primos para verificar, la confianza en la inexpugnabilidad del sistema parecía justificada. Pero también los alemanes habían creído que Enigma era invencible, ya que sus configuraciones posibles eran más numerosas que las estrellas del universo. Sin embargo, los matemáticos de Bletchley Park habían mostrado que no siempre se puede recurrir a la propia confianza en los grandes números.
El guante del desafío de RSA 129 había sido arrojado. Siempre dispuestos a aceptar un desafío, matemáticos de todo el mundo se pusieron manos a la obra. En los años siguientes, estos matemáticos idearon sistemas cada vez más ingeniosos para determinar los dos números primos secretos de Rivest, Shamir y Adleman. En lugar de los cuarenta cuatrillones de años que había estimado el trío del MIT, finalmente los números se determinaron en un tiempo irrisorio de diecisiete años. Este es un tiempo suficiente como para que caduque una tarjeta de crédito codificada utilizando RSA 129; sin embargo, plantea la cuestión de cuánto tiempo pasará antes de que aparezca un matemático con ideas capaces de reducir los diecisiete años a diecisiete minutos.
LLEGAN NUEVOS TRUCOS
La interacción entre criptografía y matemática introdujo a los matemáticos modernos en una nueva cultura, más próxima a las ciencias experimentales. Se trataba de una cultura desconocida desde que el sistema académico alemán del siglo XIX había tomado el testigo de manos de los matemáticos de la Francia revolucionaria. Los matemáticos franceses habían considerado su disciplina como un instrumento práctico, un medio para conseguir un objetivo, mientras que Wilhelm von Humboldt consideraba la búsqueda del conocimiento como un fin en sí mismo. Los teóricos que aún estaban embebidos de la tradición alemana no tardaron en condenar el estudio de los métodos de factorización de los números, llegando a compararlo con «un cerdo en un jardín de rosas», por usar las palabras de Hendrik Lenstra. Frente a la búsqueda de demostraciones irrefutables, «ir a por primos» se vio como una ocupación secundaria, de escaso relieve matemático. Pero cuando creció la importancia comercial de la cifra RSA, se hizo imposible ignorar las implicaciones prácticas que tendría el descubrimiento de un método eficiente para iluminar los números primos que se esconden en el interior de los grandes números. Al cabo de poco, cada vez más matemáticos se dejaron llevar por el reto de descomponer el RSA 129. El paso decisivo tuvo lugar no tanto como consecuencia del desarrollo de ordenadores cada vez más veloces sino gracias a inesperados avances teóricos. Los nuevos problemas que resultaron de estas incursiones en el descifrado de códigos llevaron al desarrollo de una matemática profunda y compleja.
Uno de los matemáticos que sintieron la atracción por esta disciplina emergente fue Carl Pomerance. Pomerance goza dividiendo su tiempo entre los pasillos académicos de la Universidad de Georgia y el ambiente más comercial de los Bell Laboratories de Murray Hill, en Nueva Jersey. Como buen matemático, nunca ha perdido el placer adolescente de jugar con los números y de buscar nuevas relaciones entre ellos. Pomerance atrajo la atención de Paul Erdös cuando el matemático húngaro conoció un singular artículo suyo sobre las combinaciones numéricas de la puntuación del béisbol. Con el estímulo de una pregunta curiosa que se planteaba en aquel artículo, Erdös se presentó a Pomerance en Georgia para plantear una colaboración que terminaría por producir treinta publicaciones firmadas conjuntamente.
La descomposición de los números había fascinado a Pomerance desde que se había preguntado cómo factorizar el número 8.051 en un concurso matemático en la escuela secundaria. Había un límite de tiempo de cinco minutos y en aquella época no existían las calculadoras de bolsillo. A pesar de ser muy rápido con el cálculo aritmético mental, Pomerance decidió empezar por buscar un camino rápido que lo llevara a la solución sin tener que actuar sistemáticamente verificando uno a uno los divisores posibles: «Dediqué un par de minutos a buscar un método ingenioso, pero empecé a temer que estaba dedicando a ello demasiado tiempo. Entonces empecé con retraso a hacer intentos de divisiones, pero había perdido demasiado tiempo y no conseguí resolver el problema».
Aquel fracaso en la descomposición de 8.051 originó la caza de un método rápido para factorizar los números que Pomerance nunca más abandonó. Finalmente descubrió cuál era el truco que el profesor de la escuela había pensado. Antes de 1977, la manera más ingeniosa para descomponer un número pertenecía aún, increíblemente, al hombre cuyo teorema menor había servido de catalizador para la invención de la cifra RSA. El método de factorización de Fermat es la forma más rápida de descomponer algunas categorías especiales de números por medio de simples estructuras algebraicas.
Utilizando el método de Fermat, Pomerance necesitó unos pocos segundos para descomponer 8.051 en 83 × 97. Fermat, que sentía una auténtica pasión por los códigos secretos, con toda seguridad habría gozado al encontrar, tres siglos más tarde, su obra en el corazón de la realización y del descifrado de códigos.
Cuando Pomerance conoció el reto de Rivest, Shamir y Adleman, comprendió inmediatamente que la descomposición de aquel número de 129 cifras sería la manera de exorcizar el recuerdo de su fracaso escolar. En los primeros años ochenta repentinamente vio claro que existía un sistema para explotar el método de factorización de Fermat. Aplicándolo a una multitud de calculadoras de reloj distintas, el método podía proporcionar una potente máquina para la factorización; pero ahora lo que estaba en juego ya no era una simple competición matemática de la escuela superior: el nuevo descubrimiento, que se bautizó como criba cuadrática, tenía implicaciones muy serias para el mundo emergente de la seguridad en Internet.
La criba cuadrática de Pomerance funciona en base al método de factorización de Fermat, pero cambiando continuamente la calculadora de reloj que se usa para intentar descomponer el número. El método es similar a la criba de Eratóstenes, la técnica que inventó el bibliotecario alejandrino para determinar los números primos a base de considerar un primo cada vez y borrar a continuación todos sus múltiplos. De esta forma, haciendo pasar los números a través de cedazos con mallas de distintas dimensiones, los números que no son primos se eliminan sin necesidad de examinarlos uno a uno. En el ataque de Pomerance, en lugar de usar cedazos con mallas de dimensiones diversas se varía el número de horas de la esfera de la calculadora de reloj. Los cálculos que se efectúan en cada calculadora de reloj particular permitían a Pomerance disponer de informaciones cada vez más precisas sobre posibles factores primos de un número; cuanto mayor fuera el número de relojes que consiguiera usar, tanto más se acercaría a la descomposición de un número en sus factores primos.
La verificación definitiva consistió en aplicar la idea al reto planteado por RSA 129. Pero en los años ochenta aquel número estaba todavía muy lejos del alcance de la máquina de Pomerance para la factorización. En los primeros noventa llegó una ayuda en el marco de Internet. Dos matemáticos, Arjen Lenstra y Mark Manasse, comprendieron que Internet sería un aliado precioso para la criba cuadrática en un ataque a RSA 129. La belleza del método de Pomerance procedía del hecho de que la carga de trabajo podía dividirse entre diversos ordenadores. Internet ya había sido utilizado para hallar primos de Mersenne asignando trabajos diversos a diversos ordenadores personales. Manasse y Lenstra comprendieron que ahora podían usar Internet para un ataque coordinado a RSA 129: podían asignar a cada ordenador distintos relojes con los que cribar los números primos. De pronto se pedía a Internet, que en teoría estaba protegido por aquellos códigos, que contribuyera a superar el reto planteado por RSA 129.
Lenstra y Manasse distribuyeron la criba cuadrática por Internet y reclutaron voluntarios: en abril de 1994 llegó el anuncio de la capitulación de RSA 129. Gracias al trabajo coordinado de varios centenares de ordenadores personales en veinticuatro países, RSA 129 se descompuso tras ocho meses de tiempo máquina real, en el ámbito de un proyecto dirigido por Derek Atkins del MIT, Michael Graff de la Iowa State University, Paul Leyland de la Oxford University y Arjen Menstra. También participaron en la investigación dos aparatos de fax: cuando no estaban ocupados enviando o recibiendo mensajes, también contribuían a buscar los dos números primos de 65 y 64 cifras. En el proyecto se usaron 524.339 calculadoras de reloj distintas con un número primo de horas.
A finales de los noventa Rivest, Shamir y Adleman plantearon una serie de nuevos retos. A finales del 2002, el menor de los números puestos sobre la mesa que todavía resistía los intentos de descomposición era de 160 cifras. Las finanzas de los tres habían mejorado mucho desde 1977, de manera que ahora podemos ganar diez mil dólares si conseguimos descomponer uno de los números RSA que están planteados como reto. Rivest se ha deshecho de los números primos que usaron para construir estos números y, en consecuencia, nadie sabrá las respuestas hasta que sean factorizados. Para el sistema de cifra RSA, diez mil dólares es un precio pequeño a cambio de la oportunidad de mantenerse por delante del aguerrido grupo de descifradores de números que están en la lucha. Y, cada vez que se establece un nuevo récord, a la RSA le basta con aconsejar a sus clientes un aumento en las dimensiones de los números primos.
La criba cuadrática de Pomerance ha sido sustituida por un nuevo método de descifrado llamado criba del campo numérico. Esta criba ha permitido la descomposición del número RSA 155 en agosto de 1999. El resultado lo obtuvo una red de matemáticos reunidos bajo el mesiánico nombre de Kabalah. RSA 155 ha supuesto una ruptura psicológica importante: a mitad de los ochenta, cuando los servicios de seguridad todavía dudaban sobre la conveniencia de adoptar el sistema RSA, este nivel de complejidad se consideraba suficiente para garantizar la seguridad de los ordenadores; como ha admitido Ansgar Heuser, del BSI, la agencia alemana para la seguridad nacional, si se hubieran decidido a adoptar aquel estándar «nos habríamos podido encontrar en el centro de un desastre». El 3 de diciembre del 2003 los matemáticos anunciaron que también RSA 174 había sido factorizado. Hoy, el sistema de seguridad RSA recomienda utilizar relojes con un número N de horas de al menos 230 cifras; pero las agencias gubernamentales como el BSI, que requieren un nivel de seguridad capaz de garantizar una protección a largo plazo para sus propios agentes, actualmente recomiendan el uso de relojes con más de 600 cifras.
CON LA CABEZA BAJO EL ALA
La criba del campo numérico aparece brevemente en la película de Hollywood Los fisgones. Robert Redford está sentado escuchando a un joven matemático que imparte una charla sobre la descomposición de números muy grandes: «La criba del campo numérico es el mejor método disponible en la actualidad. Existe la interesante posibilidad de un enfoque más elegante… Pero quizá —digo quizá— puede haber un atajo…». Naturalmente, este joven prodigio de las matemáticas, interpretado por Donal Logue, ha descubierto aquel método, «un avance de proporciones gaussianas», y lo ha colocado en una cajita que, como era de prever, acabará en manos del malo de la película, interpretado por Ben Kingsley. La trama es tan descabellada que la mayoría de los espectadores probablemente imaginan que cosas así no podrían suceder nunca en el mundo real. Sin embargo, mientras desfilan los títulos finales aparece: «Asesor matemático: Len Adleman». La A de RSA. Tal como admite el propio Adleman, no podemos excluir la posibilidad de que tal escenario suceda. Larry Lasker, que ha escrito Los fisgones, Despertares y Juegos de guerra, pidió a Adleman que se asegurara de que la puesta en escena no tuviera errores matemáticos: «Me gustaba Larry y me gustaba su deseo de verosimilitud, así que acepté. Larry me ofreció dinero, pero le hice una contraoferta: escribiría la escena si mi mujer podía conocer a Robert Redford».
¿Hasta qué punto están preparadas las empresas comerciales y los entes gubernamentales de seguridad para un avance tal en el ámbito teórico? Algunos más que otros, pero en conjunto se esconde la cabeza debajo del ala. Si les planteamos la pregunta, las respuestas que obtendremos son más bien preocupantes. A continuación veremos algunos comentarios recogidos en el circuito criptográfico:
«Nosotros nos adaptamos a los estándares del gobierno, que es lo único que nos preocupa».
«Si fracasamos, al menos habrá muchos otros que fracasarán con nosotros».
«La esperanza está en que ya estaré jubilado cuando tenga lugar un avance matemático de este tipo y, por tanto, no será mi problema».
«Trabajamos basándonos en el principio de la esperanza: nadie cuenta con un avance de tales proporciones en un futuro inmediato».
«Nadie puede ofrecer garantías. Simplemente, esperamos que no suceda».
Cuando tengo que hablar de seguridad en Internet con gente importante del mundo económico, me gusta plantear mi propio pequeño reto sobre la cifra RSA: apuesto una botella de champán a la primera persona que descubra los dos números primos cuyo producto es 126.619. Las diversas reacciones que he observado al proponer este reto en tres seminarios para directivos de bancos realizados en diversos puntos del planeta me han permitido captar las diferencias de intereses culturales en la actitud del mundo financiero respecto del problema de la seguridad. En Venecia, el reto propuesto y las matemáticas en las que se basa los códigos atravesaron las cabezas de los banqueros europeos sin dejar literalmente el menor rastro, y tuve que recurrir a un cómplice infiltrado entre el público para proporcionar la solución. A diferencia de los banqueros europeos, la mayoría de ellos con preparación humanística, la comunidad financiera del Extremo Oriente tiene una preparación científica bastante más consistente. Antes de que terminara mi conferencia en Bali, un hombre se levantó, dijo cuáles eran los dos números primos y reclamó el champán. Los presentes demostraron apreciar las matemáticas y su aplicación a los negocios electrónicos mucho más que sus colegas europeos.
Pero la indicación más relevante me la proporcionó la presentación ante un público de operadores estadounidenses. Aún no habían transcurrido ni quince minutos de mi vuelta a la habitación del hotel después del final de mi conferencia cuando recibí tres llamadas telefónicas con las soluciones correctas. Dos de los directivos de banco estadounidenses se habían conectado a Internet, habían descargado programas de descifrado y los habían utilizado para descomponer 126.619. El tercero fue poco explícito respecto al método que había utilizado, y tengo fuertes sospechas de que había interceptado las llamadas de los otros dos.
El mundo de los negocios ha puesto su confianza en métodos matemáticos que muy pocos se han molestado en examinar directamente. No deja de ser cierto que la amenaza inmediata para la seguridad de las transacciones diarias procede muy probablemente de un administrador negligente, que deja información no cifrada en la página de Internet: como cualquier sistema criptográfico, el RSA está expuesto a las debilidades humanas. Durante la Segunda Guerra Mundial, los aliados se aprovecharon de una caterva de errores de manual que cometieron los operadores alemanes, errores que les ayudaron a descifrar Enigma. De la misma manera, la seguridad del sistema RSA puede resultar minada por operadores que elijan números demasiado fáciles de descomponer: si tiene intención de descifrar códigos, dedicarse a la compra de ordenadores de segunda mano es probablemente mejor inversión que inscribirse en el programa de doctorado de un departamento universitario de matemáticas puras: la cantidad de información delicada que se suele dejar en máquinas anticuadas es espantosa. Corromper a alguien que protege las claves secretas sería mucho mejor para sus finanzas que patrocinar un equipo de matemáticos para dedicarlos a la tarea de descomponer grandes números. Como hace notar Bruce Scheiner en su libro Applied Cryptography: «es muchísimo más fácil hallar puntos débiles en las personas que en los sistemas criptográficos».
En todo caso, estas grietas de seguridad, aunque graves para la empresa que las sufre, no suponen ninguna amenaza para el tejido global de los negocios en Internet. Es este aspecto lo que hace interesante la película Los fisgones: aunque las probabilidades de que se produzca un avance importante en la descomposición de números sean pequeñas, el riesgo está presente, y el resultado sería devastador a escala global. Podría producirse una auténtica catástrofe para el mundo de los negocios por Internet, y hacer caer todo el edificio del correo electrónico.
Creemos que la descomposición de grandes números es un problema intrínsecamente difícil, pero no podemos demostrarlo: muchos directivos se librarían de un gran peso si pudiéramos garantizarles la imposibilidad de encontrar un programa rápido capaz de factorizar los números. Naturalmente, es difícil demostrar que no existe nada así.
La descomposición de números es un trabajo complejo no por la particular dificultad de las matemáticas que se utilizan, sino porque el pajar en donde han de buscarse las dos agujas es gigantesco. Hay muchos otros problemas caracterizados por un «pajar» análogo: por ejemplo, aunque cualquier mapa puede pintarse con cuatro colores, ¿cómo establecer, dado un mapa particular, la posibilidad de pintarlo con sólo tres? La única forma de saberlo parecería ser la muy laboriosa de repasar todas las combinaciones posibles hasta que, con un poco de suerte, vayamos a parar a un mapa que sólo requiera tres colores.
Uno de los «Problemas del Milenio» de Landon T. Clay, conocido como P versus NP, plantea una cuestión interesante sobre este tipo de problemas: si la complejidad de un problema como la factorización de números o la manera de colorear mapas deriva de las grandes dimensiones del pajar en el que hay que buscar, ¿es posible que exista siempre un método eficiente de encontrar la aguja? La sensación es que la respuesta al problema P versus NP tiene que ser «no»: hay problemas cuya complejidad intrínseca no puede evitarse ni siquiera con la capacidad de penetración de un Gauss moderno. Sin embargo, si la respuesta resultara ser «sí», entonces, como afirma Rivest: «sería una catástrofe para la comunidad de los criptógrafos». La mayoría de los sistemas criptográficos, incluido el RSA, tiene que ver con problemas en los que están implicados grandes pajares. Una respuesta positiva a este problema del milenio significaría que existe realmente un método rápido para descomponer los números: ¡sólo nos faltaría encontrarlo!
Al fin y al cabo, la falta de interés del mundo de los negocios respecto de la obsesión con la que nosotros los matemáticos perseguimos la construcción de nuestro edificio sobre bases seguras al cien por cien no es tan sorprendente: la descomposición de números es, desde hace milenios, una empresa difícil y, en consecuencia, el mundo económico está satisfecho de poder construir su centro comercial global en Internet sobre bases que están aseguradas al 99,99 por ciento. La mayoría de los matemáticos están convencidos de que hay algo intrínsecamente difícil en los procedimientos de cálculo necesarios para la factorización; pero nadie es capaz de prever qué progresos nos traerán los próximos decenios. Después de todo, hace unos veinte años RSA 129 parecía indestructible.
Una de las principales razones de la dificultad de factorización de los números es la aleatoriedad de la distribución de los números primos. Dado que la hipótesis de Riemann trata de determinar el origen de este comportamiento incontrolable de los números primos, su demostración proporcionaría nuevas intuiciones. En 1900, al describir la hipótesis de Riemann, Hilbert había subrayado que su solución abría la posibilidad teórica de desvelar muchos otros secretos relativos a los números. Visto el papel central de la hipótesis de Riemann para la comprensión de los números primos, los matemáticos han empezado a plantear la hipótesis de que su demostración, en caso de hallarse, podría producir nuevos métodos de factorización de los números. Por esta razón, actualmente las empresas están empezando a vigilar el abstruso mundo de la investigación sobre los números primos. Pero hay otra razón para que el mundo económico se interese por la hipótesis de Riemann: antes de poder utilizar la cifra RSA, las empresas que operan en Internet tienen que hallar dos números primos de sesenta cifras. Si la hipótesis de Riemann es correcta, entonces existe un método rápido para descubrir los números primos con los que construir los códigos RSA sobre los que actualmente se basa la seguridad del comercio electrónico.
A LA CAZA DE LOS GRANDES NÚMEROS PRIMOS
Dado el ritmo creciente de desarrollo de Internet y la consiguiente demanda de números primos cada vez mayor, la demostración de Euclides sobre la infinitud del conjunto de los números primos toma repentinamente una inesperada importancia comercial. Pero, si los números primos forman un conjunto tan indisciplinado, ¿cómo harán las empresas para encontrar estos grandes números primos? Ciertamente, existen infinitos, pero a medida que vamos buscándolos cuesta cada vez más de encontrarlos. Y si disminuyen a medida que avanzamos, ¿existen suficientes números primos de unas sesenta cifras para que cualquiera en el mundo tenga dos con los que construir su propia clave privada? Aun admitiendo que sean suficientes, quizá son apenas suficientes, en cuyo caso hay elevadas probabilidades de que dos personas elijan la misma pareja.
Afortunadamente, la naturaleza ha sido benévola con el mundo del comercio electrónico: del teorema de Gauss sobre los números primos se deduce que la cantidad de números primos de sesenta cifras vale aproximadamente 1060 dividido por el logaritmo de 1060. Esto significa que existen suficientes números primos de sesenta cifras como para que cada átomo de la Tierra tenga su propia pareja. Y no sólo esto: las posibilidades de acertar la Primitiva son mucho mayores que las probabilidades de que a dos átomos distintos les sea asignado el mismo par de números primos.
Por ello, una vez establecido que hay suficientes números primos para todo el mundo, ¿cómo podemos tener la certeza de que un número es primo? Como hemos visto, hallar los números primos que forman un número no primo es ya muy difícil. Si un número candidato es primo, ¿no será dos veces más difícil saberlo? Al fin y al cabo, se trata de verificar que ningún número menor es uno de sus divisores.
En realidad, establecer si un número es primo no es la empresa ímproba que podríamos imaginar: existe un método que permite verificar rápidamente si un número no es primo, incluso si no somos capaces de determinar ni uno solo de los números primos que lo forman. Por ello, veintisiete años antes de anunciar su cálculo, Cole sabía, y con él el resto del mundo matemático, que el número que estaba descomponiendo no era primo. Este método de comprobación no es de gran ayuda en la predicción de la distribución de los números primos, el corazón de la hipótesis de Riemann, pero al decirnos si un número concreto cualquiera es o no primo, nos da la oportunidad de escuchar las notas individuales de la música, a pesar de no servirnos para apreciar el conjunto de la melodía escondida en la hipótesis de Riemann.
En el origen de este test encontramos el teorema menor de Fermat, que Rivest utilizó aquella noche en que descubrió la cifra RSA con la ayuda del vino del Seder. Fermat había descubierto que si se introduce un número en una calculadora de reloj con un número primo p de horas en su esfera, y a continuación se eleva a la p-ésima potencia, se obtiene siempre el número de partida. Euler comprendió que el teorema menor de Fermat podía ser utilizado para demostrar que un número no es primo: en un reloj de seis horas, por ejemplo, multiplicar 2 por sí mismo seis veces lleva la manecilla del reloj a las 4; si 6 fuera un número primo, tras el cálculo nos hubiéramos encontrado de nuevo en las 2. Por esto, el teorema menor de Fermat nos dice que 6 no puede ser primo, o se trataría de un contraejemplo del teorema.
Si queremos decidir si un número p es primo, tomaremos una calculadora de reloj con p horas en su esfera. Probaremos con diversas horas para ver si elevándolas a p volvemos siempre al punto de partida. Si ello no sucede, podemos descartar el número p con la seguridad de que no se trata de un número primo. Cada vez que encontremos una hora que satisface el test de Fermat, por otra parte, no habremos demostrado que p es primo pero aquella hora del reloj testificará, por decirlo así, a favor de la primalidad de p.
¿Por qué razón es mucho mejor comprobar las horas en el reloj que verificar si cada número menor que p es divisor suyo? La cuestión radica en que, si p falla el test de Fermat, el error es realmente grande. De hecho, más de la mitad de los números primos que están en la esfera del reloj no superan el test, convirtiéndose así en testigos de la no primalidad de p. El hecho de que haya muchas formas de demostrar que aquel número no es primo representa por ello un paso adelante de gran importancia. En este sentido el método difiere mucho de la comprobación sistemática de la divisibilidad de p, en la que se comprueba cada número para ver si es divisor de p. Si, por ejemplo, p es producto de sólo dos números primos, entonces cuando se aplica el test de divisibilidad son sólo aquellos dos números los que pueden demostrar que p no es primo: ningún otro número supondrá una ayuda. Hay que apuntar muy bien para que el test de divisibilidad funcione.
En una de sus numerosísimas colaboraciones, Erdös estimó, aunque no demostró rigurosamente, que en caso de querer determinar si un número menor que 10150 es primo, encontrar una sola hora en el reloj que supere el test de Fermat significa que la probabilidad de que aquel número sea primo se reduce ya a 1 entre 1043. Paulo Ribenboim, autor de The Book of Prime Number Records, subraya que usando este test cualquier empresa que venda números primos podría colocar su producto de manera realista con el eslogan: «satisfacción o reembolso», sin peligro de terminar en la ruina.
A lo largo de los siglos, los matemáticos han perfeccionado el test de Fermat: en los años ochenta del siglo pasado dos matemáticos, Gary Miller y Michael Rabin, idearon finalmente una variante del test capaz de garantizar la primalidad de un número tras pocas comprobaciones. Pero el test de Miller-Rabin viene acompañado de una pequeña dificultad matemática: en el caso de números realmente grandes, funciona sólo a condición de que la hipótesis de Riemann sea cierta. (Para ser más precisos, es necesario que sea cierta una versión ligeramente generalizada de la hipótesis de Riemann). De todo lo que sabemos que se esconde tras el monte Riemann, ésta es probablemente una de las cosas más importantes: si se consigue demostrar la hipótesis de Riemann y su generalización, entonces, además de conseguir un millón de dólares, quedará demostrado con certeza que el test de Miller-Rabin es un método rápido y eficiente de comprobar si un número es o no primo.
En agosto del 2002, Manindra Agrawal, Neeraj Kayal y Nitin Saxena, tres matemáticos indios del Instituto de Tecnología de Kanpur, idearon una alternativa al test de Miller-Rabin. Se trata de un método ligeramente más lento, pero evita suponer la validez de la hipótesis de Riemann. Para la comunidad de los matemáticos que estudian los números primos este descubrimiento supuso una sorpresa: en las veinticuatro horas siguientes al anuncio proveniente de Kanpur, treinta mil personas de todos los rincones del mundo —y, entre ellos, Carl Pomerance— descargaron el artículo de la red. El test era lo bastante simple como para permitir a Pomerance presentar los detalles a sus colegas en un seminario que tuvo lugar la misma tarde. Definió el nuevo método como «maravillosamente elegante». El espíritu de Ramanujan late todavía en la India, y estos tres matemáticos no han temido retar a la opinión dominante sobre la manera de comprobar la primalidad de un número. Su historia alimenta la esperanza de que un día pueda aparecer un matemático desconocido con la idea que resolverá finalmente la hipótesis de Riemann, el problema más importante relacionado con los números primos.
La naturaleza es increíblemente benévola con la comunidad de los criptógrafos: les ha regalado un método rápido y simple para producir los números primos con los que construir la criptografía por Internet, y mientras tanto ha apartado de la vista de cualquiera un método rápido para descomponer los números en los primos que los forman. Pero ¿durante cuánto tiempo la naturaleza estará de parte de los criptógrafos?
UN FUTURO BRILLANTE, UN FUTURO ELÍPTICO
La aplicación de la teoría de los números primos a un problema tan fundamental para el mundo de los negocios ha aumentado notablemente el prestigio social de las matemáticas: cuando alguien pone en duda la utilidad de un área de investigación tan esotérica como la teoría de los números, el hacer notar el papel de los números primos en la cifra RSA se ha convertido en una forma eficaz de refutar la acusación. En el discurso titulado «La importancia de las matemáticas», pronunciado con ocasión del anuncio de los premios Clay para los Problemas del Milenio, Timothy Gowers, poseedor de una medalla Fields, ha utilizado precisamente este ejemplo para justificar la utilidad de las matemáticas.
En los días anteriores a esta nueva criptografía, la mayoría de los matemáticos habría tenido grandes dificultades para imaginar una aplicación de las matemáticas abstractas con un perfil tan alto y que, además, fuera capaz de atraer la atención inmediata de la gente. Todo ello ha supuesto una fractura positiva y oportuna para la disciplina. Podemos tener la certeza casi absoluta de que cualquier solicitud de financiación para una investigación en el campo de la teoría de los números tendrá, en alguna parte, la efectiva frase: «y podrían también derivarse aplicaciones criptográficas». Para ser honestos, las matemáticas que están en la base del sistema criptográfico RSA no son muy profundas. La mayor parte de los matemáticos ni siquiera compararía la solución de los problemas de la factorización de números con la perspectiva de posible solución de misterios de largo alcance como la hipótesis de Riemann.
Aunque la solución de la hipótesis de Riemann y del problema P versus NP puedan tener consecuencias para la cifra RSA, ha sido otro de los Problemas del Milenio el que ha estado a punto de causar una catástrofe en el mundo de los negocios electrónicos: a principios de 1999 empezó a correr rápidamente la voz de que una cosa extraña llamada conjetura de Birch-Swinnerton-Dyer, un problema relativo a unas entidades extrañas llamadas curvas elípticas, podría revelar el talón de Aquiles de la seguridad en Internet.
En enero de aquel año apareció en primera página del Times un artículo titulado: «Una adolescente descifra los códigos del correo electrónico». La hazaña había permitido a Sarah Flannery, una jovencita irlandesa, obtener el primer premio en una competición científica, pero prometía riquezas mucho más sólidas. Aparecía en una fotografía, ante una pizarra abarrotada de complejos cálculos matemáticos. El pie de la foto explicaba: «Sarah Flannery, 16 años, ha desconcertado a los jueces con su dominio de la criptografía. Han definido su trabajo como brillante». Dada la dependencia de Internet de los códigos de correo electrónico, el artículo pretendía atraer la atención de los medios y del público. Una lectura más profunda revelaba que el «descifrado» al que se refería el título no era un nuevo ataque a la seguridad de la cifra RSA, sino a la solución de un problema práctico relacionado con su aplicación.
Para cifrar y descifrar un número de tarjeta de crédito usando el sistema RSA, se multiplica el número por sí mismo muchas veces con una calculadora de reloj cuyo número de horas está formado por algunos centenares de cifras. Un ordenador emplea un tiempo más bien largo para hacer cálculos con números tan grandes. En la mayoría de los casos las páginas de Internet piden, además del número de la tarjeta de crédito, algunos otros datos, y utilizan la cifra RSA para elegir la clave privada que utilizarán el ordenador y la página de Internet para codificar todos los datos. Las claves privadas, compartidas entre quien envía los datos y quien los recibe, permiten una codificación mucho más rápida que las claves públicas RSA.
Si usted está comprando por Internet desde la tranquilidad de su casa, utilizando un ordenador personal dotado de una gran memoria y de un microprocesador rápido, ni siquiera notará el tiempo que dedica para cifrar su número de tarjeta de crédito. Cada vez con mayor frecuencia, sin embargo, no sólo accedemos a Internet desde casa: también se puede navegar por Internet con teléfonos móviles, agendas electrónicas y otros aparatos portátiles que aparecerán en los próximos años. La llamada tecnología 3G (de tercera generación) proporciona a estos aparatos los elementos necesarios para comunicarse en la red. Pero, llegado el momento de codificar un número de tarjeta de crédito con una agenda electrónica tras una mañana de compras por Internet, la potencia del pequeño portátil se utilizará hasta el extremo.
Los teléfonos móviles y las agendas electrónicas no están pensados para ejecutar cálculos tan grandes: disponen de mucha menos memoria y microprocesadores mucho más lentos que el ordenador que tenemos sobre la mesa. Y no sólo esto: la banda de frecuencias que utilizan los teléfonos móviles para transmitir información es mucho más estrecha que la disponible al enviar datos a través de la línea telefónica o el cable de fibra óptica. Por tanto, es importante minimizar la cantidad de datos a transmitir. Los números cada vez mayores que necesita la cifra RSA para afrontar los ordenadores cada vez más rápidos que se utilizan para descifrar los códigos la hacen poco apta para los aparatos portátiles.
Durante algún tiempo, los criptógrafos buscaron un nuevo sistema de cifrado de clave pública que garantizara toda la seguridad y capacidad del RSA, pero que fuera menor y más veloz. En 1999, el Times y otros medios de comunicación ingleses se lanzaron como halcones sobre la noticia del posible descubrimiento de un sistema de este tipo por la jovencísima Sarah Flannery. Hay que decir en su favor que Sarah nunca afirmó que su código fuera seguro: la seguridad de un sistema criptográfico sólo puede demostrarse con tiempo y comprobaciones, dos cosas que los medios de comunicación no aprecian en demasía. En definitiva, precisamente lo que había permitido que el código fuera más rápido es lo que había hecho aumentar su vulnerabilidad.
Existe un rival del RSA que está empezando a responder a los desafíos que plantea el mundo del llamado m-comercio, de las comunicaciones móviles, sin hilos. Tras estos nuevos códigos no hay números primos sino otras entidades mucho más exóticas: las curvas elípticas. Estas curvas se definen mediante ecuaciones de un tipo especial, y han sido fundamentales para la demostración del último teorema de Fermat por parte de Andrew Wiles. Las curvas elípticas ya se habían abierto camino en el mundo de la criptografía como parte de un nuevo método para factorizar rápidamente los números. Parece como si existiera una regla no escrita en base a la cual los descifradores que consiguen violar un sistema de cifra resarcen a los criptógrafos proporcionándoles de manera involuntaria un código aún más seguro. Neal Koblitz, de la Universidad del Estado de Washington en Seattle, estaba estudiando un método para descifrar los códigos basados en números primos cuando intuyó que las curvas elípticas podían ser también útiles para producir códigos. Koblitz propuso su idea de una criptografía basada en las curvas elípticas a mitades de los años ochenta. Simultáneamente, también Victor Miller del Ramapo College de New Jersey, descubrió cómo elaborar códigos utilizando curvas elípticas. Aunque resultan más complicados que la cifra RSA, los códigos basados en las curvas elípticas no necesitan claves numéricas enormes, lo que las hace perfectas para el comercio móvil.
A pesar de que Koblitz ha sido captado por el mundo de los negocios para la creación de su propio sistema criptográfico adaptado a los aparatos móviles, su corazón sigue siendo fiel al mundo de la pura teoría de los números al estilo de Hardy. Koblitz, que es uno de los veteranos del mundo de la teoría de los números, conserva el entusiasmo por las matemáticas que tenía en su juventud, un entusiasmo que se desencadenó como consecuencia de una serie de hechos fortuitos:
Cuando tenía seis años, mi familia vivió un año en Baroda, en la India: allí los niveles de enseñanza de las matemáticas eran mucho más altos que en las escuelas estadounidenses. Al año siguiente, cuando regresé a los Estados Unidos, iba tan adelantado con respecto a mis compañeros de clase que mis profesores cometieron el error de creer que tenía una predisposición especial por las matemáticas. Igual que tantas otras ideas equivocadas que los profesores se meten en la cabeza, este tipo de convicción termina por convertirse en una profecía que se retroalimenta: como consecuencia de todos los ánimos que recibí tras volver de mi viaje a la India, tomé el camino que terminaría por convertirme en un matemático.
El año que el pequeño Koblitz pasó en la India no sólo contribuyó a su desarrollo matemático: también fue el origen de una profunda toma de conciencia de las injusticias sociales en el mundo. Ya adulto, Koblitz ha participado en misiones en Vietnam y en América Central. Uno de sus muchos libros sobre teoría de los números y criptografía está dedicado «a la memoria de los estudiantes de Vietnam, de Nicaragua y del Salvador que han perdido la vida en la lucha contra la agresión de los Estados Unidos». Los beneficios de la venta del libro se usan para proporcionar libros a las poblaciones de esos tres países.
En su país, Koblitz soporta mal el control sofocante de la Agencia para la Seguridad Nacional (NSA) sobre el área de las matemáticas que lo ocupa. Actualmente, antes de publicar cierto tipo de investigación en el campo de la teoría de los números, hace falta obtener la autorización de la NSA, aunque los textos vayan destinados a las más oscuras revistas. Gracias a las innovadoras ideas de Koblitz, las curvas elípticas se han colocado junto a los números primos en la «lista de las investigaciones sometidas a restricción» que las autoridades desean mantener bajo control.
Rivest, Shamir y Adleman habían utilizado las calculadoras de reloj de Gauss para codificar los números de las tarjetas de crédito. Ahora Koblitz proponía hacer desaparecer las huellas de las tarjetas de crédito en algún punto de estas extrañas curvas: en lugar de multiplicar las horas de un reloj, Koblitz pretendía sacar provecho de una extraña multiplicación que podía definirse sobre puntos de las curvas elípticas.
LOS PLACERES DE LA POESÍA CALDEA
Desde el primer momento, el trío de la RSA se sintió amenazado por la llegada inesperada del nuevo código. Era un desafío a su monopolio sobre la criptografía en Internet. Su preocupación llegó al máximo en 1997, cuando decidieron abrir una página de Internet llamada ECC Central. Ahí podían encontrarse citas de matemáticos y criptógrafos eminentes que planteaban dudas sobre la presunta seguridad de las curvas elípticas. Algunos mantenían que la factorización de los números tenía una tradición mucho más larga, una tradición que se remontaba a los tiempos de Gauss, y si ni siquiera Gauss había conseguido resolverla, entonces la seguridad de los que adoptaran la cifra RSA estaba garantizada. Otros argumentaban que la estructura de las curvas elípticas era lo bastante rica como para permitir que los hackers establecieran una cabeza de puente desde donde preparar su ataque: se trataba de una criptografía demasiado nueva como para que los matemáticos pudiéramos decir si nuestro conocimiento de las curvas elípticas sería suficiente para descifrar un código con claves de dimensiones tan pequeñas. Al fin y al cabo, el código de Sarah Flannery había resistido sólo seis meses de comprobaciones.
El equipo de RSA subrayaba también que, cuando se habla con banqueros sobre lo que se encuentra en la base de la seguridad de sus transacciones de miles de millones de dólares, explicar el problema de la factorización de los números no es tan difícil. Pero si empezamos a escribir y2 = x3 + …, sus ojos no tardan en entornarse. La Certicom, la más importante de las empresas que propone la criptografía de curvas elípticas, replica a esta crítica manteniendo que antes de terminar los cursos que se han impartido en la propia empresa sobre seguridad financiera, los funcionarios de banca se divertían jugando con los puntos de las curvas elípticas. Pero lo que más molestó a los defensores de las curvas elípticas fue un comentario de Ron Rivest, la «R» de RSA: «Intentar evaluar la seguridad de un sistema de cifrado basado en las curvas elípticas es algo así como intentar evaluar una poesía caldea recién descubierta».
Neal Koblitz estaba impartiendo un curso sobre curvas elípticas en Berkeley cuando abrió sus puertas el sitio ECC Central; como nunca había oído hablar de poesía caldea, Koblitz corrió a informarse en la biblioteca de la universidad. Allí descubrió que los caldeos eran un antiguo pueblo semítico que había dominado el sur de Babilonia entre el 625 y el 539 a. C.: «Su poesía era realmente fantástica», explica. Por tanto, se hizo dibujar camisetas decoradas con la imagen de una curva elíptica y la inscripción: «Me encanta la poesía caldea», y las regaló a sus alumnos.
De momento, la cifra a base de curvas elípticas ha soportado la prueba del tiempo y ha hallado su plena legitimación entrando a formar parte de los estándares gubernamentales. Actualmente, el nuevo sistema criptográfico se utiliza sin dificultades en los teléfonos móviles, en las agendas y en las tarjetas electrónicas. Su número de tarjeta de crédito es transportado a gran velocidad a lo largo de estas curvas elípticas borrando sus huellas durante el trayecto. Aunque en un principio estaba destinada a aparatos portátiles, la criptografía de curvas elípticas se está convirtiendo en el método preferido para la protección de la información, incluso en sistemas mayores: el citado BSI, la agencia alemana de seguridad, admite hoy abiertamente que la vida de sus agentes está confiada a la seguridad de las curvas elípticas. Incluso pronto nuestras propias vidas estarán en manos de estas curvas cada vez que volemos: las curvas elípticas están destinadas a proteger la seguridad de los sistemas de control del tráfico aéreo de todo el mundo. Después de estos éxitos, los responsables del RSA han decidido cerrar el sitio ECC Central y ahora dirigen sus propias investigaciones al objetivo de adaptar la cifra de las curvas elípticas a su sistema RSA.
Sin embargo, durante el verano de 1998, los temores de que la estructura suplementaria de las curvas elípticas pudiera causar su ruina criptográfica empezaron a obsesionar a quienes habían invertido en la seguridad que prometían. Sólo unos pocos meses antes, Neal Koblitz había afirmado que la conjetura de Birch-Swinnerton-Dyer, uno de los principales problemas abiertos relacionados con las curvas elípticas, nunca podría tener consecuencias para el uso de las curvas elípticas en criptografía. Pero, de la misma forma en que la predicción de Hardy afirmaba que la teoría de los números nunca sería útil, también la de Koblitz produjo el efecto contrario. Podría ser que la propia afirmación provocadora de Koblitz indujera a Joseph Silverman, de la Universidad de Brown, a proponer un ataque sobre la base de la presunta validez de la conjetura de Birch-Swinnerton-Dyer.
La conjetura de Birch-Swinnerton-Dyer es uno de los siete «Problemas del milenio»: propone un modo de determinar si la ecuación asociada a una curva elíptica posee un número finito de soluciones. En 1960 dos matemáticos ingleses, Bryan Birch y sir Peter Swinnerton-Dyer, plantearon la hipótesis de que la respuesta podría esconderse en un paisaje imaginario como el que había descubierto Riemann. Gracias a su conjetura, los nombres de Birch y de Swinnerton-Dyer están íntimamente ligados, al menos para los matemáticos, a los de Laurel y Hardy, a pesar de que muchos creen erróneamente que tras la conjetura se esconden tres matemáticos: Birch, Swinnerton y Dyer. Birch, con sus maneras torpes, toma el papel de Stan Laurel frente a un más austero Oliver Hardy, representado por Swinnerton-Dyer.
Riemann había descubierto el pasadizo que conducía desde los números primos hasta el paisaje zeta. Otro matemático de Gotinga, Helmut Hasse, planteó la hipótesis de que cada curva elíptica podría tener su propio espacio imaginario. Hasse es una figura muy discutida en la Historia de las matemáticas alemanas: los nazis le encargaron la gestión del Departamento de Matemáticas de Gotinga en el período en que Hitler lo desmanteló. Las simpatías nazis de Hasse, unidas a sus capacidades matemáticas, lo convertían en el candidato ideal a ojos de las autoridades y a los de los matemáticos alemanes que deseaban preservar la tradición de Gotinga.
Dentro de la comunidad matemática se dan sentimientos muy confusos en relación con Hasse. Pocos le perdonan sus opciones políticas. Incluso escribió en 1937 a las autoridades pidiendo que uno de sus antepasados judíos fuera borrado del registro civil para que él pudiera inscribirse en el partido. Carl Ludwig Siegel recuerda que, a su regreso de un viaje en 1938, se encontró con él: «¡Hasse, que por vez primera se había vestido con sus enseñas nazis! Para mí resultaba incomprensible que un hombre inteligente y concienzudo pudiera hacer una cosa así». Más que sus opciones políticas, la intuición matemática de Hasse resultó ser mucho más íntegra. Su nombre se ha hecho inmortal por las funciones zeta de Hasse. Estas funciones permiten construir los paisajes que guardan los secretos para la determinación de la soluciones de las ecuaciones de curvas elípticas.
Así como Riemann había conseguido mostrar la manera de construir la totalidad del paisaje que cubre el mapa de los números imaginarios, Hasse no pudo hacer lo mismo con los espacios elípticos. Para cada curva elíptica era capaz de construir una parte del paisaje asociado, pero llegado a cierto punto se encontraba con una monstruosa cadena montañosa que seguía la dirección norte-sur, y no disponía de técnicas para sobrepasarla. En realidad fue la solución de Wiles al último teorema de Fermat la que mostró finalmente cómo cruzar aquella frontera y construir el mapa de la parte restante del paisaje.
Sin embargo, cuando aún no sabíamos ni siquiera si más allá de aquella cadena había o no un paisaje, Birch y Swinnerton-Dyer ya se planteaban conjeturas sobre lo que nos podría desvelar aquel paisaje hipotético. Predijeron que en cada paisaje debía haber un punto que escondía un secreto relativo a la curva elíptica usada para construir aquel paisaje particular: aquel punto permitiría establecer si la curva elíptica asociada tenía o no un número infinito de soluciones. El truco para establecerlo consistía en medir la altitud del paisaje respecto del número 1 del mapa de los números imaginarios. Si en aquel punto el paisaje estaba a nivel del mar, entonces la curva elíptica tendría infinitas soluciones fraccionarias. Por el contrario, si el paisaje en aquel punto no estaba al nivel del mar, entonces habría un número finito de soluciones fraccionarias. Si la conjetura de Birch-Swinnerton-Dyer es cierta, y este punto esconde verdaderamente el secreto para encontrar las soluciones sobre la curva elíptica correspondiente, entonces estamos ante otro ejemplo notable del poder de estos paisajes imaginarios.
Aunque Birch y Swinnerton-Dyer tenían motivaciones teóricas, su conjetura era sobre todo el resultado de experimentos realizados sobre algunas curvas elípticas particulares. Birch recuerda el momento de repentina iluminación en que cada cosa se puso en su lugar como por arte de magia; estaba jugueteando con los números que aparecían en sus cálculos: «Sucedió mientras me alojaba en un encantador hotel de la Selva Negra, en Alemania. Estaba colocando sobre una gráfica los números que obtenía, y me encontré con docenas de puntos situados sobre cuatro redes paralelas… ¡Maravilloso!». Aquellas cuatro líneas paralelas indicaban la existencia de un fuerte nexo que obligaba a los puntos a alinearse. «A partir de aquel momento tuve absolutamente claro que allí había algo. Contacté con Peter y le dije: “¡Oh, mira esto!”. Y, como si yo hubiera perdido algo que Birch había encontrado, Peter respondió: “¡Ya te lo decía yo!”, como hace siempre».
Desde que se propuso, en los años sesenta, se han hecho avances significativos en relación con la conjetura. Tanto Wiles como Zagier han planteado contribuciones relevantes, pero el camino que queda por recorrer es aún largo. Para confirmar su importancia, la conjetura ha pasado a formar parte de los siete Problemas del Milenio. Es el único de estos problemas sobre el que se producen avances continuos hacia la solución. Birch, sin embargo, opina que deberá pasar aún mucho tiempo antes de que alguien pueda reclamar el premio de Clay. Pero la conjetura de Birch-Swinnerton-Dyer se ha convertido en la clave para acceder, no al millón de dólares apostado por Clay, sino a los muchos millones de dólares que dependen de la seguridad de los códigos de Internet.
Los códigos construidos sobre curvas elípticas basan su fiabilidad en la dificultad de hallar las soluciones a ciertos problemas aritméticos. Joseph Silverman vio que el método heurístico de la conjetura de Birch-Swinnerton-Dyer podría proporcionarle una manera de dar la vuelta al problema criptográfico de modo que se obtuvieran indicaciones sobre dónde buscar las soluciones. Ciertamente, se trataba de un planteamiento arriesgado, y él mismo reconoce que dudaba de la eficacia de su estrategia de ataque. Pero ningún experto podía descartar la posibilidad de que apareciera uno de aquellos algoritmos rápidos que intentan cazar los hackers.
Silverman habría podido hacer público el ataque que intentaba contra la cifra de las curvas elípticas; los medios de comunicación se hubieran vuelto locos; la RSA hubiera saltado de gozo; las acciones de Certicom se hubieran hundido; y las curvas elípticas nunca más se habrían recuperado de la imagen de falta de confianza que habría generado aquel ataque, aunque hubiera fracasado. Pero Silverman decidió seguir una línea de comportamiento más académica. Envió por correo electrónico a Koblitz un esquema de su trabajo, tres semanas antes de la conferencia en la que tenía que presentar un artículo sobre el tema.
Koblitz tenía que volar a Waterloo, en Canadá, donde se encuentra la sede de la Certicom, a finales de la semana. Los directivos de la empresa le estaban mandando fax urgentes: esperaban la aparición de una solución temporal o una explicación de por qué el ataque estaba condenado al fracaso. «Al principio no conseguí encontrar ninguna razón para que no funcionara el proyecto de Silverman». Cuando tiene que tomar un avión, Koblitz se levanta temprano, y ese día sabía que debía encontrar alguna idea que tranquilizara a sus amigos de Waterloo. Antes de subir al avión estaba ya convencido de que, si el ataque de Silverman tenía éxito, podría utilizarse también para atacar la cifra RSA. Por tanto, si ellos se hundían, la RSA se hundiría con ellos.
«Fue un momento terrorífico —recuerda Koblitz—. Mandé un correo electrónico a Silverman para decirle que es en momentos así cuando uno se alegra de ser un matemático y no un hombre de negocios: empiezas a ser consciente de que la vida es mucho más excitante que las películas». Pero probablemente a Silverman no debía preocuparle mucho la idea de que también cayera la RSA. De hecho formaba parte de un equipo dedicado al desarrollo de un nuevo sistema de cifra conocido por sus siglas NTRU. Las personas implicadas en el proyecto son reacias a desvelar el significado de NTRU, pero la opinión general es que las siglas correspondan a Number Theorists «R» Us: «Nosotros somos los teóricos de los números». A diferencia de los demás códigos, el de la compañía habría sido inmune al ataque de Silverman: un giro interesante para las acciones de NTRU.
Al cabo de dos semanas, Koblitz había identificado elementos suficientes de la estructura especial de las curvas elípticas como para demostrar que el proyecto de Silverman era aún irrealizable desde el punto de vista computacional. La cifra de curvas elípticas se salvó por un detalle técnico que recibe el nombre de función altura, pero ahora Koblitz lo llama el escudo de oro. Al parecer, protege los códigos no sólo de los ataques de Silverman, sino también de una plétora de otros ataques. Pasado el pánico inicial, los desarrollos siguientes se han caracterizado por el retorno a una serenidad más acorde con el mundo académico, y Koblitz aún se divierte dictando la conferencia que ha dedicado a la historia completa y que lleva por título: «Cómo las matemáticas puras casi provocan el hundimiento de los e-negocios». La historia pone en evidencia cómo los progresos realizados en los rincones más oscuros o abstractos del mundo matemático tienen hoy la capacidad de poner de rodillas al mundo económico.
Es exactamente por estas razones que la empresa AT&T y los servicios de seguridad nacionales vigilan con cuidado el mundo «amable y puro», por decirlo con Hardy, de la teoría de los números. En los años ochenta y noventa el responsable de los laboratorios de investigación de la AT&T, Andrew Odlyzko, empezó a dirigir los supercomputadores de la empresa hacia regiones del paisaje de Riemann que nunca antes se habían tenido en cuenta. Si no esperamos encontrar un contraejemplo a la hipótesis de Riemann, ¿por qué gastar tantas energías y tanto dinero de la AT&T para el cálculo de las posiciones de los ceros? Lo que ha estimulado el interés de Odlyzko es la noticia de algunas extrañas predicciones teóricas hechas por el matemático estadounidense Hugh Montgomery sobre los ceros situados en puntos remotos de la recta mágica de Riemann. Odlyzko ha comprendido que si aquellas predicciones fueran correctas, entonces está a punto de tener lugar uno de los avances más extraños e imprevistos de la historia de los números primos.