Criptografia com Python - Algoritmo ROT13
Até agora, você aprendeu sobre cifra reversa e algoritmos de cifra de César. Agora, vamos discutir o algoritmo ROT13 e sua implementação.
Explicação do Algoritmo ROT13
A cifra ROT13 refere-se à forma abreviada Rotate by 13 places. É um caso especial de Cifra de César em que o deslocamento é sempre 13. Cada letra é deslocada em 13 lugares para criptografar ou descriptografar a mensagem.
Exemplo
O diagrama a seguir explica o processo do algoritmo ROT13 pictoricamente -
Código do Programa
A implementação do programa do algoritmo ROT13 é a seguinte -
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()
Você pode ver a saída ROT13 conforme mostrado na imagem a seguir -
Recua
O algoritmo ROT13 usa 13 turnos. Portanto, é muito fácil deslocar os caracteres no sentido inverso para descriptografar o texto cifrado.
Análise do Algoritmo ROT13
O algoritmo de cifra ROT13 é considerado um caso especial de Cifra de César. Não é um algoritmo muito seguro e pode ser quebrado facilmente com a análise de frequência ou apenas tentando 25 chaves possíveis, enquanto o ROT13 pode ser quebrado mudando 13 lugares. Portanto, não inclui nenhum uso prático.