Als ich CTF startete, kam eine sogenannte Caesar-Verschlüsselung heraus, sodass eine Entschlüsselungsverarbeitung erforderlich war. Sie können es manuell tun, aber dies ist ein Programm! Es kann auch eine Rehabilitation sein! Also habe ich es sofort geschrieben. Mein Computer hatte nur eine Python-Entwicklungsumgebung, also gehen Sie mit Python!
Um es zu entschlüsseln, müssen Sie wissen, von welcher Art von Algorithmus der Code generiert wurde. Caesar-Code wird durch Verschieben von Zeichen um 3 Zeichen generiert. Wie einfach!
Zunächst einmal die Verschlüsselung. Verschiebt Klartext Zeichen für Zeichen mit der angegebenen Taste (Nummer). Da der Fall anders ist, werden wir diesmal nur Alphabete verwenden. Es gibt 25 englische Buchstaben, also drehen Sie sich vorsichtig um. Verschlüsseln Sie die entsprechende Zeichenfolge "wjrslairznb"!
def crypt(plainStr, shiftInt):
resultStr = ""
for char in plainStr:
if ord(char) + shiftInt > ord('z'):
resultStr = resultStr + chr(ord(char) + shiftInt - 26)
else:
resultStr = resultStr + chr(ord(char) + shiftInt)
print('crypt:' + resultStr)
Ausführungsergebnis
Die Entschlüsselung wurde einfach umgekehrt berechnet ...
def decrypt(cryptoStr, shiftInt):
resultStr = ""
for char in cryptoStr:
if ord(char) - shiftInt < ord('a'):
resultStr = resultStr + chr(ord(char) - shiftInt + 26)
else:
resultStr = resultStr + chr(ord(char) - shiftInt)
print('decrypt:' + resultStr)
Ausführungsergebnis Es scheint einfacher und einfacher zu sein ...
Nicht verfügbar. Verletzlich! !! Da es sich um einen Code handelt, der im alten Rom erstellt wurde, muss er in der Vergangenheit gültig gewesen sein. Kryptographie hat eine Geschichte.
Eigentlich ist es eine Weile her, dass ich ein Programm hatte, und obwohl ich eine Python-Umgebung habe, habe ich es nicht so sehr berührt und es hat viel Spaß gemacht. Es gibt Unmengen solcher Programme, wenn Sie googeln, aber ich schreibe sie gerne zuerst selbst und schaue dann auf den Genie-Code und stimme später mit den Antworten überein.
Recommended Posts