Artículos sobre ciencia y tecnología de Mauricio-José Schwarz publicados originalmente en El Correo y otros diarios del Grupo Vocento

mayo 20, 2006

Los códigos verdaderos

Máquina "Enigma" de la Alemania
nazi en el Museo Imperial de Guerra
británico. El desciframiento de su código
fue clave para el triunfo aliado.
(Foto D.P. de Karsten Sperling,
vía Wikimedia Commons)
Son los verdaderos códigos que cifran las comunicaciones, los que usamos cotidianamente, sabiéndolo o no, y de los que ha dependido también el devenir histórico.

Transmitir información de modo que sólo pueda acceder a ella el destinatario y resulte incomprensible para los demás, ha sido una necesidad constante en las sociedades humanas, y no sólo en casos evidentes como las guerras, sino en los terrenos de la religión, la transmisión del conocimiento y la oposición política.

El primer cifrado conocido se encuentra en la tumba del faraón egipcio Khnumhotep II, de alrededor del año 1900 a.n.e., donde un escriba utilizó jeroglíficos no estándares con un objetivo desconocido, que claramente no era la ocultación, pues la traducción del código se escribió junto a éste. Julio César, por su parte, sí utilizó un cifrado para su labor de guerra, un sencillo sistema donde cada letra se sustituía por la que estaba tres lugares más adelante (las últimas tres se sustituían por A, B y C), de modo que la palabra "papá" se escribiría "sdsd", y el descifrado de este código se realizaría restando tres a las letras recibidas. Por supuesto, el procedimiento de cifrado, la clave, debía mantenerse en secreto o el sistema sería inútil. La salvaguarda de las claves es desde entonces uno de los problemas clave de la criptografía.

Un código es una representación, más o menos compleja, del idioma. Por ello, la criptología estuvo tan ligada a los lingüistas, ya que ellos tenían la misión de descifrar idiomas antiguos de los que únicamente quedaba la representación gráfica. Así, los jeroglíficos egipcios no pudieron ser descifrados sino hasta el hallazgo de la piedra Rosetta, que tiene el mismo pasaje escrito en jeroglíficos, en demótico y en griego antiguo, estos dos últimos idiomas conocidos. Dado que cada jeroglífico se correspondía a una letra determinada, la piedra Rosetta funcionó como clave bastante para descifrar el idioma egipcio. Mucho más compleja es la tarea de descifrar jeroglíficos que no son fonéticos, sino ideográficos, es decir, donde cada símbolo representa no una letra, sino una idea o concepto. Tal es el caso de la escritura maya antigua, que apenas ahora empieza a ser decodificada por los expertos.

El paso del tiempo, el desarrollo de las matemáticas y las crecientes necesidades industriales y militares fueron refinando los procedimientos de codificación y cifrado, demandando de los profesionales criptográficos mejores herramientas para su labor de romper los códigos y descubrir los mensajes que otros deseaban mantener en secreto. Adicionalmente, no todos los códigos se realizan mediante la sustitución de letras, ya sea de manera constante o variable, pues hay otras muchas formas de cifrado. Por ejemplo, uno en el que cada palabra conste de dos números, el primero de los cuales sería el número de una página de cierta edición de El Quijote y el segundo el número de aparición de la palabra en el texto sería muchísimo más difícil de romper, máxime cuando cada palabra podría tener numerosísimas representaciones si aparece varias veces en el libro. Todo lo cual daría un código que no se podría romper fácilmente sin la clave.

Es bastante conocida la historia de la guerra criptográfica en la Segunda Guerra Mundial, que entre otras cosas dio especial impulso al desarrollo de los ordenadores por a la necesidad que tenían los servicios de inteligencia británicos de automatizar el análisis de los códigos nazis. Por ello tuvieron entre sus especialistas al matemático Alan Turing, uno de los padres de la informática moderna, que consiguió romper los códigos del ejército alemán, generados mediante una máquina (llamada "Enigma") que, por medio de ruedas que agregaban variaciones sucesivas a cada letra, generaba un código sólido. Para descifrarlo se necesitaba no sólo la máquina, sino la posición inicial de todas las ruedas giratorias, que debía conocerse para poder descifrar los mensajes incluso disponiendo de la máquina. Aún así, desde 1941 hasta el fin de la guerra, los aliados pudieron leer todos los mensajes alemanes.

En la actualidad, la generación de códigos más común y su descifrado correspondiente se realizan por medio de algoritmos matemáticos dentro de nuestros ordenadores. Se trata de códigos que efectivamente pueden romperse por el sistema de "fuerza bruta", es decir, probando billones y billones de combinaciones hasta dar con la clave correcta. Por eso, la fortaleza de un código se mide en el número de opciones mediante las cuales puede representarse cualquier elemento del mensaje original. Así, cuando se habla de un cifrado de 40 bits, cada carácter cifrado puede tener 1.099.511.627.776 valores distintos. En el número de una tarjeta de crédito cifrado en 40 bits, cada uno de los 16 dígitos puede tener uno de esos más de mil billones de valores, de modo que si no se tiene la clave, todo es asunto de probar esos valores combinados de todas las formas posibles en los 16 dígitos hasta dar con el número correcto.

Resultó que los 40 bits no eran tan difíciles de manejar para los ordenadores modernos, de modo que actualmente se emplea un cifrado de 128 bits, con lo que cada dígito de una tarjeta de crédito, o cada letra de una palabra, puede tener 309 billones de billones de valores (309 seguido de 24 ceros). Con un cifrado de esa fortaleza, el uso de la aproximación de "fuerza bruta" estaría reservado sólo a superordenadores que puedan trabajar durante muy largo tiempo en cada labor de descifrado, lo cual los pone fuera del alcance del descifrador común que busca robar números de tarjeta de crédito, y según los expertos seguirá siendo útil unos 8 o 10 años. Los cifrados militares, por su parte, son aún más fuertes.

Códigos verdaderos como éstos hoy rigen parte de nuestra vida y posibilitan el desarrollo de transacciones comerciales grandes y pequeñas por medios electrónicos, además de proteger nuestra información de quienes no tienen derecho a disponer de ella. El cifrado, al fin y al cabo, es una búsqueda de seguridad… con una historia genuina al menos tan interesante como la de las novelas que algunos confunden con realidad histórica.

Estadística y literatura

La criptografía fue un popular interés en el siglo XIX y fue una de las disciplinas que dio origen a la estadística, como lo demuestra el relato "El escarabajo de oro" de Edgar Allan Poe, en el cual se presenta un código cifrado que el protagonista resuelve por medio de la estadística, determinando qué símbolo se repetía con más frecuencia en el código y correlacionándolo con la letra más frecuente en el idioma inglés (y, curiosamente, en el castellano), la "e". El autor, el relato y su desarrollo criptográfico fueron homenajeados seis décadas después por Arthur Conan Doyle en el cuento de Sherlock Holmes "La aventura de los danzarines".

No hay comentarios: