Sábado, 21 de mayo de 2011 | Hoy
CRIPTOGRAFIA, DE JULIO CESAR A LA MAQUINA ENIGMA
La criptografía, la ciencia que estudia cómo hacer un mensaje que resulte indescifrable para terceros, parece cosa de novelas de espionaje o tesoros enterrados. Sin embargo, todos nosotros recurrimos a la criptografía cuando hacemos una compra por Internet o enviamos un mensaje por telefonía celular. Y es, probablemente, la rama de las matemáticas que más provecho ha dado en los últimos años.
Por Claudio H. Sánchez
Una clave muy sencilla consiste en reemplazar cada letra del mensaje por otro símbolo: a igual letra, igual símbolo. Es el método que, en la imaginación de Edgar Allan Poe, usa el pirata Kidd en “El escarabajo de oro”. El protagonista, un hombre llamado Legrand, encuentra en la playa un pergamino con lo que parece ser una secuencia aleatoria de números y símbolos. Legrand sospecha que el pergamino puede contener las instrucciones para encontrar un tesoro y logra descifrar el mensaje.
Poe era muy aficionado a este tipo de claves y solía publicar desafíos de este tipo para los lectores del Alexander’s Weekly Messenger, una revista de Filadelfia. El relato en “El escarabajo de oro” es casi un manual de instrucciones para resolver claves de sustitución. Legrand comienza por contar cuántas veces aparece cada símbolo y asociar el símbolo que más se repite (el número ocho) a la letra más frecuente en el idioma inglés (la e). Confirma esta suposición por el hecho de que el par 88 aparece cinco veces el mensaje y, efectivamente, la letra “e” se duplica muchas veces en inglés (como en feed, speed, agree, etc.). Luego analiza la distribución de los símbolos, localiza la palabra the (la más frecuente en inglés) y, paso a paso, termina por descifrar todo el mensaje.
Sherlock Holmes emplea el mismo método para resolver una clave similar en “La aventura de los bailarines”. Aquí cada letra se reemplaza por la figura de un hombrecito bailando y a cada letra le corresponde una posición diferente. Como Legrand, Holmes asocia la letra “e” a la figura más repetida. Curiosamente, para Poe, el orden de las letras en inglés, según su frecuencia, es E, A, O, I, D, H, N, R, S, T... mientras que para Holmes es E, T, A, O, I, N, S, H, R, D y L.
Mucho más sencilla es la clave que el profesor Lidenbrock (en realidad, su sobrino) descifra en Viaje al centro de la Tierra: el autor del mensaje simplemente lo escribe al revés.
Otro tipo de clave consiste en reemplazar cada letra del mensaje por la que le sigue en el abecedario, una cantidad determinada de posiciones. Por ejemplo, reemplazando cada letra por la que está dos posiciones más allá. Entonces, la palabra PAGINA se convertiría en RCIKOC (la R está dos lugares después de la P; la C, dos lugares después de la A y así sucesivamente). Este sistema de encriptación se llama también “clave cesárea”, porque fue usada por Julio César.
Estas claves “de desplazamiento” son muy fáciles de descifrar: una vez identificada una letra, quedan determinadas todas las demás. Además, para un alfabeto de veintisiete letras hay sólo veintiséis desplazamientos posibles y una computadora podría analizarlas a todas en segundos.
El método de desplazamiento se puede perfeccionar recurriendo a un número. Por ejemplo, 4239. Este número indica que la primera letra del mensaje se reemplaza por la que está cuatro lugares más allá en el abecedario. La segunda, por la que está dos lugares más allá. La tercera, por la que está tres lugares más allá y la cuarta, por la que está nueve lugares más allá. El ciclo se repite a partir de la quinta letra. Este sistema es más seguro porque una misma letra se reemplaza por una distinta según su posición en el texto y no sirve el análisis de frecuencia empleado por el personaje de Poe o por Sherlock Holmes. Lewis Carroll, el autor de Alicia en el País de las Maravillas, publicó una vez una tabla de doble entrada para aplicar rápidamente la clave de desplazamiento.
Durante la Segunda Guerra Mundial, el ejército alemán desarrolló una máquina encriptadora llamada Enigma, de gran complejidad y que producía mensajes secretos casi imposibles de descifrar. Para mayor seguridad, las claves se cambiaban varias veces al día. Un tipo de mensajes que preocupaba especialmente a los aliados eran los que informaban la posición de los submarinos alemanes que hundían los barcos que llevaban suministros a través del Atlántico. Fue gracias a los trabajos de Alan Turing que los ingleses lograron descubrir cómo funcionaba la máquina Enigma y descifrar los mensajes enemigos. Los alemanes estaban tan seguros de la inviolabilidad de sus mensajes que atribuyeron esto a la labor de espías.
El ejército de Estados Unidos, mientras tanto, desarrolló un lenguaje secreto basado en el idioma de los indios navajos. El idioma navajo no tenía forma escrita, por lo que había pocos registros de su estructura, fuera de Estados Unidos. El código usaba algunas palabras traducidas directamente del navajo, otras veces empleaba metáforas (por ejemplo, nombres de pájaros para aviones o de peces para barcos) y también incluía palabras armadas mediante fonética. Por ejemplo, el verbo belong (pertenecer) se armaba con las palabras navajas para bee (abeja) y long (largo).
Esta clave no empleaba sustitución de letras, no se basaba en un algoritmo matemático, ni necesitaba máquinas complejas para encriptar y descifrar. Cada regimiento, cada batallón, incluía un indio navajo responsable de las comunicaciones que traducía casi instantáneamente los mensajes transmitidos.
El código fue vital para el avance de las tropas norteamericanas en el Pacífico. La historia del código navajo fue llevada al cine en 2002 en la película Código de guerra (Windtalkers), con Nicolas Cage en el papel del oficial que debía acompañar al indio. Su misión era protegerlo pero, también, matarlo ante el riesgo de caer prisionero: el código era más valioso que la vida de un soldado. También se menciona el código navajo en “Anasazi”, uno de los episodios de los Expedientes X.
Normalmente, la clave usada para encriptar un mensaje es la misma que se usa para desencriptarlo. Por lo tanto, los participantes de la comunicación deben acordarla previamente. En las novelas de espionaje vemos cómo se intercambian libros de claves en encuentros personales o se anuncian solapadamente en la radio o en avisos clasificados. En cualquier caso, que la clave tenga que “circular” en algún momento pone en riesgo la seguridad de la comunicación.
Pero, en 1975, los matemáticos Ronald Rivest, Adi Shamir y Leonard Adleman crearon un sistema de encriptación completamente nuevo que asegura la confidencialidad gracias al uso de claves distintas para encriptar y desencriptar. El sistema se conoce como RSA por las iniciales de sus creadores.
Por ejemplo, supongamos que un banco necesita que sus clientes se comuniquen con una sucursal. Por supuesto, los clientes quieren que sus mensajes sean confidenciales, que nadie que no sea el banco pueda leerlos. Para eso, el banco dispone de dos claves. Una es pública, la conoce todo el mundo. El banco la puede anunciar en su publicidad, en su página web o comunicarla a sus clientes en el momento de abrir la cuenta. Esta clave la usan los clientes para encriptar sus mensajes. La otra es privada, sólo la conoce el banco y la usa para desencriptar los mensajes. Como las claves son distintas, eso asegura la confidencialidad. Aunque un mensaje sea interceptado por un tercero, que conoce la clave usada para encriptar (porque es pública), éste no podrá desencriptarlo porque no tiene la clave privada, que sólo la conoce el banco. A diferencia de los sistemas tradicionales, los participantes de la comunicación no necesitan acordar secretamente las claves. El sistema se compara a veces con un buzón en el que cualquiera puede meter un mensaje, pero sólo el que tiene la llave puede abrirlo y leer los mensajes que contiene.
Esta asimetría (claves distintas para encriptar y para desencriptar) es lo que garantiza el secreto. Sin embargo, el sistema es simétrico en otro sentido: un mensaje encriptado con la clave pública debe ser desencriptado con la clave privada. Y, viceversa, un mensaje encriptado con la clave privada debe ser desencriptado con la clave pública. Y esto tiene otra ventaja: si el cliente recibe un mensaje que, para leerlo, debe ser desencriptado con la clave pública, eso indica que fue encriptado con la clave privada. El mensaje no es secreto porque todos conocen la clave pública. Pero como la clave privada sólo la conoce el banco, eso garantiza el origen del mensaje. Si se desea garantizar el origen del mensaje y, además, su privacidad, se puede usar una doble encriptación.
El método RSA comienza transformando el mensaje en un número muy largo. Por ejemplo, se reemplaza la letra A por el número 01, la B por el 02 y así sucesivamente. Luego se hace la encriptación propiamente dicha mediante un par de operaciones matemáticas. Estas operaciones no son complejas en sí mismas pero, como involucran cientos de dígitos, son imposibles de realizar sin computadora. Adrián Paenza desarrolla un par de ejemplos en el episodio 3 de su Matemática... ¿estás ahí?
Aunque la clave pública y la privada son distintas, eso no significa que sean cualesquiera. En realidad, las dos claves están directamente relacionadas y, conociendo la clave pública, es teóricamente posible calcular la privada. Teóricamente. En la práctica llevaría millones de millones de años completar el cálculo. Esto se debe a que ambas claves se relacionan a través de números primos. Las dos se calculan a partir de un número muy grande (de centenares de dígitos) que es el producto de sólo dos números primos.
Si tenemos los números primos 47 y 59 es fácil calcular su producto: 2773. Pero, si nos dan el número 2773 y queremos saber qué dos números lo dan como producto, tenemos que probar con todos los números primos desde el dos hasta la raíz cuadrada de 2773. Son dieciséis divisiones en total. Si el número inicial tiene cuarenta dígitos, obtener los primos que lo forman a razón de un millón de divisiones por segundo podría tardar más de 60 mil años. Con números de cien o más dígitos, el tiempo necesario superaría largamente la edad del Universo.
Durante muchos años, la investigación sobre números primos se consideró la rama más pura de las matemáticas, algo que no tendría ninguna utilidad práctica. Pero todo llega y ahora vemos cómo la confidencialidad de nuestras comunicaciones y hasta la seguridad nacional descansan en los números primos.
© 2000-2022 www.pagina12.com.ar | República Argentina | Política de privacidad | Todos los Derechos Reservados
Sitio desarrollado con software libre GNU/Linux.