13.3.- Algoritmos Antiguos

ESPARTA Y LA DIFUSIÓN


Si se desea cifrar un mensaje empleando este método, y no se dispone de un bastón ni de una cinta de papiro, será suficiente con escribir el texto por columnas de tamaño fijo y luego leerlo por filas. A modo de ejemplo, el mensaje "LOS ESPARTANOS SON LOS MAS GUAPOS DEL PELOPONESO". Si se supone que el diámetro del bastón permite escribir seis signos en cada vuelta, se emplearían columnas de seis letras:

Resultando:

"LPO APLPOASLSO OSR O SPN TSSG EEEAO UDLSSNNMAEOO"

Escitalo

Este criptosistema responde a un e squema de transposición, ya que lo único que se hace es cambiar de sitio los símbolos del mensaje original, por lo que si se calcula las frecuencias relativas de aparición de cada símbolo, serán iguales en el texto claro y en el criptograma. Si se tiene un texto cifrado cualquiera, y se conocen las frecuencias relativas de aparición de cada letra en el idioma del mensaje, bastará con comparar dichas frecuencias con las del criptograma para saber si ha sido codificado mediante transposiciones.

Escitalo ¿Se puede criptoanalizar este método?. Obviamente, se puede decodificar el mensaje en columnas de diferentes longitudes hasta dar con el mensaje original, pero habría que leer todos los posibles resultados para saber cuál es el bueno. El interés será automatizar este proceso, y para ello se puede recurrir a la redundancia. En este caso, no sirven las probabilidades de aparición de cada símbolo, puesto que, como ya se ha dicho, son las mismas en el mensaje original y en el mensaje cifrado. Sin embargo, a poco que se observe, las frecuencias relativas de las parejas y tríos de letras en el mensaje original y el criptograma sí que son diferentes, así que se explotará esa posibilidad.

La idea es muy simple, en el mensaje cifrado previo hay combinaciones de letras que no son en absoluto frecuentes (o no permitidas) en castellano, como por ejemplo "TSS", "EEE" o "SR". Si se precalculan en una tabla las frecuencias de aparición de parejas y tríos de letras en castellano, se tendrá una distribución de probabilidad a la que deberá ajustarse el texto que dio lugar al mensaje cifrado. Esto permitirá "puntuar" cada posible texto claro en función de que su distribución se ajuste mejor o peor a la distribución estándar de pares y tríos.

En el ejemplo de arriba, el mensaje tiene 48 caracteres, por lo que las columnas pueden ser de 2,3,4,6,8,12,16 o 24 caracteres de altura.

Columnas de altura 2: Los símbolos de 24 en 24: "L PTOS SAGP..." No es necesario seguir, ya que por ejemplo hay una 'L' sola, que no tiene sentido en castellano.

Columnas de altura 3: Los símbolos de 16 en 16: "LSEPRAO O O A UPSDLPL...". Descartada.

Columnas de altura 4: Símbolos de 12 en 12: "LS UPOTDO SL OSS...". Descartada.

Columnas de altura 6: Símbolos de 8 en 8: "LOS ESPARTANOS SON LOS MAS GUAPOS...". Posible solución.

Columnas de altura 8: Símbolos de 6 en 6: "LLS EUNPPOO...". Descartada.Se podrían determinar todas las posibilidades y la respuesta más verosímil es la que corresponde a columnas de altura 6. En general, en casi todas las demás posibles soluciones aparecerán combinaciones de letras muy poco probables o ilegales en castellano, por lo que el nivel de confianza es mucho menor. Un programa que realice estos cálculos y que presente las posibles soluciones ordenadas de mayor a menor verosimilitud, devolverá la solución correcta siempre en las primeras posiciones.

Casi 2500 años después, Claude Shannon definió el concepto de difusión como el proceso que "dispersa la redundancia del texto plano repartiéndola a lo largo del texto cifrado". La transposición es el mecanismo más simple para llevar a cabo una difusión sobre el texto en claro. De hecho, al cambiar de sitio las cosas, pero sin alterar su valor, estamos esparciendo a lo largo del criptograma los patrones redundantes del texto original.

ROMA Y LA CONFUSION

Varios siglos después, Cayo Julio César (100-44 ane) desarrolló su propio mecanismo de codificación de mensajes, un método que ha conservado el nombre de su creador hasta nuestros días. Este algoritmo consistía en la sustitución de cada letra por la que aparece tres posiciones a su derecha en el alfabeto, así la A se convierte en D, la B en E y así sucesivamente.

Claude Shannon acuñó también un término que tiene mucho que ver con los mecanismos involucrados en este algoritmo: la confusión, que es el proceso que "oculta la relación entre el texto claro y el texto cifrado". Y como de nuevo cabría esperar, el método más simple para aplicar confusión es, precisamente, la sustitución. Para percatarse de esto basta con pensar en una sustitución global, que a cada posible mensaje le haga corresponder un criptograma diferente, mediante una simple tabla de traducción. Como es de esperar, semejante tabla sería inconcebiblemente grande, ya que tendría que tener una entrada para cada posible mensaje susceptible de ser codificado, pero proporcionaría un nivel de seguridad total, ya que no queda ningún tipo de relación entre cada mensaje y su criptograma correspondiente al margen de la gigantesca tabla.