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.