Criptografía con Python - Algoritmo ROT13

Hasta ahora, ha aprendido sobre el cifrado inverso y los algoritmos de cifrado César. Ahora, analicemos el algoritmo ROT13 y su implementación.

Explicación del algoritmo ROT13

El cifrado ROT13 se refiere a la forma abreviada Rotate by 13 places. Es un caso especial de Caesar Cipher en el que el desplazamiento es siempre 13. Cada letra se desplaza en 13 lugares para cifrar o descifrar el mensaje.

Ejemplo

El siguiente diagrama explica gráficamente el proceso del algoritmo ROT13:

Código de programa

La implementación del programa del algoritmo ROT13 es la siguiente:

from string import maketrans

rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 
   'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')

# Function to translate plain text
def rot13(text):
   return text.translate(rot13trans)
def main():
   txt = "ROT13 Algorithm"
   print rot13(txt)
	
if __name__ == "__main__":
   main()

Puede ver la salida ROT13 como se muestra en la siguiente imagen:

Retirarse

El algoritmo ROT13 utiliza 13 turnos. Por lo tanto, es muy fácil cambiar los caracteres a la inversa para descifrar el texto cifrado.

Análisis del algoritmo ROT13

El algoritmo de cifrado ROT13 se considera un caso especial de Caesar Cipher. No es un algoritmo muy seguro y se puede romper fácilmente con el análisis de frecuencia o simplemente probando las posibles 25 teclas, mientras que ROT13 se puede romper cambiando 13 lugares. Por tanto, no incluye ningún uso práctico.