Kryptographie mit Python - ROT13-Algorithmus

Bis jetzt haben Sie etwas über Reverse Cipher- und Caesar Cipher-Algorithmen gelernt. Lassen Sie uns nun den ROT13-Algorithmus und seine Implementierung diskutieren.

Erklärung des ROT13-Algorithmus

Die ROT13-Chiffre bezieht sich auf die abgekürzte Form Rotate by 13 places. Es ist ein Sonderfall von Caesar Cipher, bei dem die Verschiebung immer 13 beträgt. Jeder Buchstabe wird um 13 Stellen verschoben, um die Nachricht zu verschlüsseln oder zu entschlüsseln.

Beispiel

Das folgende Diagramm erläutert den Prozess des ROT13-Algorithmus bildlich -

Programmcode

Die Programmimplementierung des ROT13-Algorithmus ist wie folgt:

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

Sie können die ROT13-Ausgabe wie im folgenden Bild sehen -

Nachteil

Der ROT13-Algorithmus verwendet 13 Schichten. Daher ist es sehr einfach, die Zeichen in umgekehrter Weise zu verschieben, um den Chiffretext zu entschlüsseln.

Analyse des ROT13-Algorithmus

Der ROT13-Verschlüsselungsalgorithmus wird als Sonderfall der Caesar-Verschlüsselung betrachtet. Es ist kein sehr sicherer Algorithmus und kann leicht durch Frequenzanalyse oder durch Ausprobieren möglicher 25 Tasten gebrochen werden, während ROT13 durch Verschieben von 13 Stellen gebrochen werden kann. Daher beinhaltet es keine praktische Verwendung.