Cuadrado de Polibio, cifrado Bifid

Published by Mubashir Hassan in

El Cuadrado de Polibio básico es una cuadrícula de 5x5 con las letras A-Z escritas en ella. "I" y "J" normalmente comparten una casilla (ya que hay 26 letras y solo 25 casillas).

12345
1ABCDE
2FGHI/JK
3LMNOP
4QRSTU
5VWXYZ

El cifrado Bifid utiliza el cuadrado de Polibio, pero añade una capa de complejidad.

Comienza con un mensaje secreto. Elimina los espacios y la puntuación.

plaintext = "ikilledmufasa"

Cifra el mensaje utilizando el cifrado de Polibio básico (consulta mi desafío anterior; haz clic derecho y selecciona "abrir en una pestaña nueva"), pero escribe los números en dos filas debajo del mensaje, de la siguiente manera:

ikilledmufasa
2223311342141
4541154251131

Lee los números horizontalmente, de dos en dos:

22 23 31 13 42 14 14 54 11 54 25 11 31

Genera el texto cifrado convirtiendo estos nuevos pares de números en letras nuevas utilizando el cuadrado de Polibio.

ciphertext = "ghlcrddyaykal"

Crea una función que reciba un texto plano o un texto cifrado y devuelva el texto cifrado o el texto plano correspondiente.

Ejemplos

bifid("I killed Mufasa!") ➞ "ghlcrddyaykal"

bifid("ghlcrddyaykal") ➞ "ikilledmufasa"

bifid("hi") ➞ "go"

Notas

N/A