miércoles, 18 de diciembre de 2019

18- Cifrado: Playfair

Un cifrado más moderno, de mediados del siglo XIX, es el llamado "Playfair". Hasta ahora, hemos visto dos cifrados de sustitución en los que cada letra se sustituía por otra cosa (en Atbash, por una letra y, en Polibio, por dos números). Éste que vamos a ver ahora fue el primer cifrado en el que se sustituían no una, sino dos letras a la vez.

Cuenta la leyenda, que su creador, Charles Wheatstone, intentó que el British Foreign Office se interesase por el cifrado, pero que el Subsecretario se quejó de que era demasiado complicado. Entonces, Wheatstone se ofreció a hacerle una demostración: podría enseñárselo a los niños del colegio de al lado en menos de 15 minutos. A esto, el Subsecretario contestó: "Es posible, pero nunca podrá enseñárselo a los diplomáticos".

No debemos creer las palabras del Subsecretario, pues se trata de un cifrado bastante sencillo una vez que se ha entendido. Vayamos, pues, a ver su funcionamiento.

En primer lugar, necesitamos una tabla 5x5, como la de Polibio, pero sin los números externos. De igual forma, asociamos dos letras y las ponemos en la misma celda: en nuestro caso, la I y la J.


Como hemos dicho, cifraremos dos letras cada vez, pero es importante que sean letras distintas. Así, pues, si quisiéramos cifrar, por ejemplo, "PERRO", el primer par estaría claro ("PE"), pero para el segundo tendríamos que hacer un pequeño cambio para evitar la repetición. Debemos añadir una letra "nula", como una "X" entre medias y así el segundo par sería "RX" y el tercero, "RO". Al descifrar, obtendríamos PERXRO, que identificaríamos con "PERRO" al darnos cuenta de que hay una letra nula.

Veamos otro ejemplo de obtención de los pares. De "EL VILLANO OBTIENE EL CONTROL" llegaríamos a los pares "EL-VI-LX-LA-NO-OB-TI-EN-EX-EL-CO-NT-RO-L". La letra "L" repetida y la "E" del final de "OBTIENE" y el principio de "EL" nos han hecho añadir nulas. Sin embargo, la doble "O" entre "VILLANO" y "OBTIENE" no ha generado ningún problema, pues pertenecen a pares separados. PERO... al final de la frase se ha quedado una letra sola, sin formar par. ¿Qué hacemos? Como puedes imaginar, añadimos otra nula si esto ocurre para completar la última pareja.

Ahora que ya tenemos claro cómo formar los pares de letras podemos pasar a ver cómo se cifra cada par. En primer lugar, si las dos letras aparecen en la misma fila de la tabla de arriba, escribiremos las inmediatamente situadas a su derecha, empezando por la primera del par. Por ejemplo, "BD" se cifra "CE". Es importante el orden, porque "DB" se cifra "EC". Si una letra está situada a la derecha de la tabla, nos imaginamos que conecta con el otro lado y la de su derecha es la que está en la primera columna. Por ejemplo, "UT" se cifra "QU".

Si las dos letras están en la misma columna, el proceso es idéntico, pero cogiendo las letras que estén justo debajo. Por ejemplo, "IY" se cifra "OD".

Por último, ¿qué ocurre si las dos letras no están ni en la misma fila ni en la misma columna? En ese caso, se encontrarán formando un rectángulo (imagínatelas como los vértices opuestos de dicho rectángulo). Tenemos que elegir los otros dos vértices, es decir, las letras que estén en la misma fila que una y en la misma columna que la otra, empezando por la que está en la misma fila que la primera letra. Por ejemplo, "GO" se cifra "IM".

Siguiendo con el ejemplo de antes, "EL VILLANO OBTIENE EL CONTROL" se cifra como "AP-YF-NV-QF-OP-MD-YO-CP-CZ-AP-DN-OS-TM-NV".

Si te apetece jugar un poco con este cifrado, puedes usar la herramienta de abajo, que he programado en JavaScript. Escribe el texto con el quieras trabajar, marca la casilla para cifrar o desmárcala para descifrar y haz click en el botón.

CIFRA/DESCIFRA

¿Sabrías descifrar el siguiente mensaje? (Tal vez haya pasado por algún otro cifrado entre medias...)

POD UGSCZA KPTS UYM GKZA ILQS SIUBA KFYA KPTQ GPTS UGSCZA KPTSW

No hay comentarios:

Publicar un comentario