CESAR-Verschlüsselung mit Python programmieren
Algorithmus für die Verschlüsselung mit CESAR
Für die Programmierung einer Ver- und Entschlüsselung mit der CAESAR-Verschlüsslung benötigt man folgende Elemente:
Beispiel für eine Modulorechnung
for i in range(100):
x=i%5
print(x)
Die Modulorechnung benötigt man für die Verschiebung, wenn die Rechnung p+v (siehe Algorithmus) über den letzten Buchstaben hinausgeht.
Funktionen zu Strings
lower()
gibt einen String in Kleinbuchstaben aus. Der entschlüsselte Text ist immer in Kleinbuchstaben.len()
gibt die Länge eines Strings (oder einer Liste) zurück.index()
gibt die Position des Zeichens in einem String zurück.
Iteration über einen String
Eine Iteration ist, wenn man in einem Algorithmus eine bestimmte Anweisung in einer Schleife immer wieder ausführt, wobei sich mindestens ein Parameter mit jedem Durchgang ändert. Dies ist häufig ein Zähler.
In dem folgenden Beispiel wird mit jedem Durchgang der Schleife ein neuer Buchstabe aus dem String s
geholt.
s = "Theodor-Heuss-Schule"
print(s.lower())
for c in s:
a = s.index(c)
print("Buchstabe ", c, " taucht erstmalig an Position ", a, "auf.")
print(f"Der erste Buchstabe in {s}: {s[0]}")
for i in range(len(s)):
print(f"Dies ist der {i+1}. Buchstabe: {s[i]}")
CESAR Verschlüsselung
Dies hier ist das Grundgerüst für ein Skript, das die CESAR-Verschlüsselung realisiert. Es muss nur noch ein wenig Code ergänzt werden. Natürlich gibt es auch andere Lösungen.
ALPHABET = "abcdefghijklmnopqrstuvwxyz"
def encrypt(text, key):
encryptedText = ""
text = text.lower()
# Hier wird der Text verschlüsselt.
return encryptedText.upper()
def decrypt(text, key):
return ""
text = input("Den Text eingeben: ")
key = int(input("Den Schlüssel eingeben: "))
geheim = encrypt(text, key)
klar = decrypt(geheim, key)
print("Der verschlüsselte Text: ", geheim)
print("Der aus dem Geheimtext entschlüsselte Text: ", klar)