Simon Singh. Los cógigos secretos.

noviembre 30, 2023

Simon SIngh, Los cógigos secretos
Debate, 2000. 382 páginas.

Historia de los mecanismos que la humanidad ha ido inventando para cifrar los mensajes, usualmente para comunicación diplomática o en tiempos de guerra, pero también usada por enamorados que querían intercambiar sus asuntos de manera secreta.

Es una historia fascinante porque se trata, básicamente, de una carrera armamentística entre los que inventan cifras cada vez más seguras y los que intentan descifrarlas. Una cifra de sustitución, donde cada letra se cambia por otra cualquiera del alfabeto, es sencilla de implementar pero por desgracia bastante fácil de descifrar con análisis de frecuencias. Si utilizamos una cifra polialfabética, donde hay una clave para que cada letra se cambie de manera diferente hay mecanismos para intentar adivinar el tamaño de la clave y a partir de ahí volver a las frecuencias.

Fue Babbage, el inventor de lo que podríamos llamar el primer ordenador (que no consiguió fabricar), uno de los que consiguió atacar esta clave que se consideraba indescifrable. Curiosamente los grandes avances en la criptografía vendrían de la mecanización de la misma, que culminarían en la máquina Enigma, verdadera cumbre de la encriptación y, también, de la decodificación, con una gran cantidad de talento dedicada a romper el código. El malogrado matemático Turing fue una figura clave y se sentaron las bases para los futuros ordenadores.

Ordenadores que hoy en día lanzan millones de mensajes encriptados de manera segura con mecanismos de clave pública virtualmente indescifrables. No tendríamos internet si no fuera por el talento de quienes inventaron unos sistemas de cifrado que permiten comunicaciones seguras.

Todo esto nos lo cuenta el autor de una manera amena pero con un rigor inapelable, no se limita a pasar por encima de los diferentes cifrados, sino que los explica de una manera clara y eficaz, e incluye algunos apéndices un poco más técnicos para profundizar en el tema.

Muy bueno.

La primera fase del criptoanálisis de Babbage consiste en buscar secuencias de letras que aparecen más de una vez en el texto cifrado. Hay dos maneras en las que podrían surgir semejantes repeticiones. La más probable es que la misma secuencia de letras del texto llano haya sido codificada usando la misma parte de la clave. Como alternativa, existe una ligera posibilidad de que dos secuencias de letras diferentes del texto llano hayan sido codificadas usando diferentes partes de la clave, resultando por casualidad en una secuencia idéntica en el texto cifrado. Si nos limitamos a secuencias largas, entonces podemos descartar en gran medida la segunda posibilidad y en este caso, sólo consideramos las secuencias repetidas que tengan cuatro letras o más. La Tabla 8 es un registro de tales repeticiones y de los espacios que hay entre la repetición. Por ejemplo, la secuencia E-F-I-Q aparece en la primera línea del texto cifrado y luego en la quinta línea, separada por 95 letras.
Además de utilizarse para codificar el texto llano y convertirlo en el texto cifrado, la clave la usa también el receptor para descifrar el texto cifrado y volverlo a convertir en el texto llano. Por eso, si pudiéramos identificar la clave, descifrar el texto no sería difícil. En esta fase aún no disponemos de suficiente información para deducir la clave, pero la Tabla 8 nos proporciona indicios muy buenos sobre su longitud. Tras enumerar qué secuencias se repiten, así como los espacios que hay entre las repeticiones, el resto de la Tabla se dedica a identificar los factores de los espaciamientos: los números por los que se pueden dividir los espaciamientos. Por ejemplo, la secuencia W-C-X-Y-M se repite tras 20 letras, por lo que los números 1, 2, 4, 5, 10 y 20 son factores, ya que pueden dividir exactamente a 20 sin dejar decimales. Estos factores sugieren seis posibilidades:
(1) La clave tiene 1 letra y se recicla 20 veces entre las codificaciones.
(2) La clave tiene 2 letras y se recicla 10 veces entre las codificaciones.
(3) La clave tiene 4 letras y se recicla 5 veces entre las codificaciones.
(4) La clave tiene 5 letras y se recicla 4 veces entre las codificaciones.
(5) La clave tiene 10 letras y se recicla 2 veces entre las codificaciones.
(6) La clave tiene 20 letras y se recicla 1 vez entre las codificaciones.
La primera posibilidad puede ser excluida, porque una clave que sólo tenga una letra da lugar a una cifra monoalfabética, sólo se usaría una línea del cuadro Vigenère para toda la codificación, y el alfabeto cifrado permanecería inalterado; es muy improbable que un criptógrafo hiciera algo así.
Para identificar si la clave tiene 2, 4, 5, 10 o 20 letras necesitamos observar los factores de todos los demás espaciamientos. Como la clave parece tener 20 letras o menos, la Tabla 8 enumera los factores equivalentes para cada uno de los espaciamientos. Hay una clara propensidad por el espaciamiento divisible por 5. De hecho, todos los espaciamientos que aparecen son divisibles por 5. La primera secuencia repetida, E-F-I-Q, se puede explicar con una clave de 5 letras, reciclada 19 veces entre la primera codificación y la segunda. La segunda secuencia repetida, P-S-D-L-P, se puede explicar con una clave de 5 letras, reciclada sólo una vez entre la primera codificación y la segunda. La tercera secuencia repetida, W-C-X-Y-M, se puede explicar con una clave de 5 letras, reciclada 4 veces entre la primera codificación y la segunda. La cuarta secuencia repetida, E-T-R-L, se puede explicar con una clave de 5 letras, reciclada 24 veces entre la primera codificación y la segunda. En resumen, todo concuerda con una clave de 5 letras.
Asumiendo que la clave tiene efectivamente 5 letras, el siguiente paso es deducir cuáles son exactamente esas letras. Por ahora, llamemos a la clave L1-L2-L3-L4-L5, de forma que L1 represente a la primera letra de la clave, y así sucesivamente. El proceso de codificación habría empezado codificando la primera letra del texto llano según la primera letra de la clave, L1. La letra L1 define una línea del cuadro Vigenère, y de hecho proporciona un alfabeto cifrado de sustitución monoalfabética para la primera letra del texto llano. Sin embargo, a la hora de codificar la segunda letra del texto llano, el criptógrafo habría usado L2 para definir una línea distinta del cuadro Vigenère, proporcionando de este modo un alfabeto cifrado de sustitución monoalfabética diferente. La tercera letra del texto llano se codificaría según L3, la cuarta según L4 y la quinta según L5. Cada letra de la clave proporciona un alfabeto cifrado diferente para la codificación. Sin embargo, la sexta letra del texto llano sería codificada de nuevo según L1, la séptima letra del texto llano sería codificada de nuevo según L2 y el ciclo se repite después de eso. En otras palabras, la cifra polialfabética consta de cinco cifras monoalfabéticas, cada cifra monoalfabética es responsable de la codificación de un quinto del mensaje total y, lo que es más importante, ya sabemos cómo criptoanalizar las cifras monoalfabéticas.

No hay comentarios

Deja una respuesta

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

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