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.