Tablas de homófonos.
Denominamos así a todos aquellos sistemas en los que se sustituye un símbolo o letra por más de un símbolo cifrado. Es decir se trata de una relación de uno a muchos. Básicamente, lo que se pretende es acabar con el patrón de frecuencias del alfabeto original. Al igual que en los sistemas de sustitución simples tenemos dos alfabetos que utilizaremos para cifrar o descifrar. La diferencia básica está en que en este tipo de cifrados lo que se suele utilizar para estas operaciones es una tabla en la que cada elemento puede tener como contrapartida más de un grupo de símbolos como cifrado. Hay que recalcar que, aunque en general el alfabeto cifrado suele ser multilateral, no tiene por qué serlo y, sobre todo en las tablas del siglo XVI, nos podemos encontrar con que se utilizan varios símbolos extraños y cabalísticos para representar una letra.
El siguiente es un ejemplo de lo que podría ser una tabla de homófonos:
Sin embargo, la forma más típica de representar una tabla de homófonos, simplemente porque facilita la tarea de cifrar y descifrar, es mediante una tabla en la que hay varias filas, generalmente nueve o diez y en el que el número de la fila señala a los homófonos que empiezan por ese número. También se pueden dejar algunos números para representar puntos, separaciones o cambio de letras a numeración o viceversa. También, en algunos casos podían incluir un pequeño código con palabras de uso muy habitual. Un ejemplo podría ser el siguiente:
Se trata de un sistema relativamente seguro si no hay mucho tráfico. Al igual que el resto de los cifrados de sustitución es vulnerable al ataque de palabra probable.
Otro método que puede utilizarse para generar una tabla de homófonos es utilizar un cuadrado de polibio en el que cada fila y cada columna vienen representadas por dos números o dos letras. La única limitación es que con números tiene que ser un cuadrado de 5x5, ya que si ampliamos la tabla habrá filas o columnas con solo una representación, aunque también se puede jugar con ellas de manera que si solo hay una representación en las filas haya más de una en las columnas y viceversa. En general con números se utiliza la de 5x5, aunque también podría utilizarse la de 6x6 e incluso 7x7 sin problemas. Con letras tenemos muchas más posibilidades.
Para el ejemplo utilizaremos una de 5x5 como la siguiente:
Si queremos cifrar la palabra CIEN, en este caso podría representarse de varias maneras diferentes, entre otras: 92913233, 96983637, 42417273, 46487677.
Cifrado de Cinta móvil o método español.
Se trata básicamente de una tabla de homófonos en el que los valores de cada letra cambian en función de la posición marcada por una cinta móvil que se colocaba debajo del alfabeto ordenado, con otro alfabeto en forma aleatoria duplicado o triplicado. Fue muy utilizado en España desde finales del XIX y hasta la segunda mitad del siglo XX (la clave 99 de la Guardia Civil que aparece en el apartado de criptografía real es un ejemplo de este tipo de cifra). Al igual que la tabla de homófonos es relativamente segura si no hay mucho tráfico cifrado. Para romper la cifra, simplemente hay que agrupar los cifrados en grupos. Cada grupo con la misma posición de cinta. Posteriormente tratar cada grupo como una tabla de homófonos. Una vez descubierta la tabla de homófonos, se procede a recuperar la cinta.
Al igual que en el caso anterior, se le podían añadir pequeños códigos, signos de puntuación, etc. Incluso, en la guerra civil, había algunas claves de este tipo con más de una cinta. Un ejemplo, utilizando la tabla de homófonos anterior, podría ser la siguiente:
La teoría es que, de esta manera, tendríamos tantas tablas de homófonos como letras tendría el alfabeto. Para identificarlas solo hay que indicar una combinación de dos letras que nos indique la posición de la cinta, por ejemplo la P en la I o la A en la D. Es importante ir cambiando el par de letras que señalan la posición y no utilizar siempre la misma como referencia (por ejemplo la A que es la más evidente) para dificultar la labor del posible criptoanalista. Como vemos es un método sencillo que, en caso de poco tráfico, puede dar suficiente seguridad. Sin embargo, como todos, no es seguro cien por cien. Podemos ver en el libro de García Carmona (en realidad se llamaba Cesáreo Huecas Carmona), un ejemplo de criptoanálisis de este método.
Hemos dicho la parte buena, un sistema que nos permite utilizar con una sola tabla varias tablas de homófonos. Empezamos con las malas noticias. Las tablas de homófonos están hechas de manera que se intenta acabar con la frecuencia del texto original. En este tipo de cifrado no pasa exactamente lo mismo. Si ponemos la W en la A en el sistema de cinta de ejemplo tendríamos un solo símbolo, el 09, para representar la A, lo que sería una locura criptográficamente hablando. Para hacerlo bien, en este método todas las letras tienen que tener entre tres y cinco símbolos cifrados. No debemos hacer tampoco que todos tengan la misma cantidad de símbolos ya que también daríamos pistas a un posible criptoanalista. Para señalar el par de letras de colocación de la cinta, se indica como ya hemos dicho al principio del mensaje, o, mucho mejor, se pueden cambiar las letras por un par de números que indiquen esa posición situados en una posición fija del mensaje (los pares 10 y 3 por ejemplo). Los números se pueden obtener de la columna de cada letra utilizando el alfabeto fijo como referencia (por ejemplo la W en la A podría representarse en el ejemplo como 09 27 o 09 41 entre otros pares). Como vemos un método relativamente seguro si se usa con precaución y con un volumen moderado de tráfico.