Cryptographie avec Python - Algorithme ROT13

Jusqu'à présent, vous avez appris les algorithmes de chiffrement inversé et de chiffrement César. Parlons maintenant de l'algorithme ROT13 et de son implémentation.

Explication de l'algorithme ROT13

Le chiffrement ROT13 fait référence à la forme abrégée Rotate by 13 places. C'est un cas particulier de César Cipher dans lequel le décalage est toujours de 13. Chaque lettre est décalée de 13 places pour crypter ou décrypter le message.

Exemple

Le diagramme suivant explique le processus de l'algorithme ROT13 en images -

Code de programme

La mise en œuvre du programme de l'algorithme ROT13 est la suivante -

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()

Vous pouvez voir la sortie ROT13 comme indiqué dans l'image suivante -

Inconvénient

L'algorithme ROT13 utilise 13 décalages. Par conséquent, il est très facile de décaler les caractères dans le sens inverse pour décrypter le texte chiffré.

Analyse de l'algorithme ROT13

L'algorithme de chiffrement ROT13 est considéré comme un cas particulier de César Cipher. Ce n'est pas un algorithme très sécurisé et peut être cassé facilement avec une analyse de fréquence ou en essayant simplement 25 touches possibles alors que ROT13 peut être cassé en décalant 13 places. Par conséquent, il n'inclut aucune utilisation pratique.