Caesar-Verschlüsselung: ohne Schlüssel entschlüsseln (alle 25 Varianten) und verschlüsseln (mit Schlüssel)
Verfasst: Mittwoch 26. Mai 2021, 17:16
Hallo zusammen,
ich lerne gerade Python und habe eine Aufgabe mit der Caesar-Verschlüsselung.
Dabei soll zuerst gefragt werden, ob ein Text ver- oder entschlüsselt werden soll. Wenn er entschlüsselt werden soll, sollen alle 25 Varianten untereinander aufgelistet werden mit dem Schlüssel der Rotation, da der Schlüssel für die Rotation nicht bekannt ist. Soll verschlüsselt werden, wird mit einem bekannten Schlüssel das Wort regulär verändert werden.
Für beide Vorgänge sollen nur die Buchstaben aus dem englischen Alphabet verdreht werden, andere Zeichen sollen bestehen bleiben. Groß- und Kleinbuchstaben sollen groß bzw. klein bleiben. Außerdem soll man bei der Rotation auf ASCII zurückgreifen.
Für die Aufgabe habe ich angefangen einen Code zu schreiben, komme aber u.a. bei der Systematik alle 25 Varianten auszugeben nicht weiter.
https://i.postimg.cc/prDJS9bq/Bildschir ... -18-50.png
Hat dafür jemand eine Idee wie man es lösen könnte?
Herzlichen Dank!
ich lerne gerade Python und habe eine Aufgabe mit der Caesar-Verschlüsselung.
Dabei soll zuerst gefragt werden, ob ein Text ver- oder entschlüsselt werden soll. Wenn er entschlüsselt werden soll, sollen alle 25 Varianten untereinander aufgelistet werden mit dem Schlüssel der Rotation, da der Schlüssel für die Rotation nicht bekannt ist. Soll verschlüsselt werden, wird mit einem bekannten Schlüssel das Wort regulär verändert werden.
Für beide Vorgänge sollen nur die Buchstaben aus dem englischen Alphabet verdreht werden, andere Zeichen sollen bestehen bleiben. Groß- und Kleinbuchstaben sollen groß bzw. klein bleiben. Außerdem soll man bei der Rotation auf ASCII zurückgreifen.
Für die Aufgabe habe ich angefangen einen Code zu schreiben, komme aber u.a. bei der Systematik alle 25 Varianten auszugeben nicht weiter.
Code: Alles auswählen
verschluesselung = int(input("Der Text ist verschluesselt ja(1), nein(0): "))
geheimtext = ""
def caesar(plain:str, rot:int): -> str
if verschluesselung == 1
for a in caesar
wort_als_zahl = ord(a)
neues_wort_als_zahl = wort_als_zahl + rot
else
#caesar(plain = str(input("Wie ist der Klartext: ")), rot = range(1,25))
Hat dafür jemand eine Idee wie man es lösen könnte?
Herzlichen Dank!