Implementierung des Verschiebeverfahrens
Verarbeitung von Zeichenketten
Ziel ist es, eine Funktion zum Verschlüsseln von Texten nach dem Verschiebeverfahren zu implementieren.
Wir benutzen den bereits entwickelten Algorithmus zum Verschiebeverfahren.
ALGORITHMUS verschluesselterText: Übergabe: klartext, schluessel neuerText = '' für alle Zeichen c in klartext: ermittle mit dem schluessel das zu c verschobene Zeichen d füge d am Ende an die von neuerText verwaltete Zeichenkette an Rückgabe: neuerText
Zudem benutzen wir die bereits implementierte Funktion verschluesseltesZeichen
.
Hier eine naheliegende Implementierung.
def verschluesselterText(klartext, schluessel):
geheimtext = ''
for zeichen in klartext:
neuesZeichen = verschluesseltesZeichen(zeichen, schluessel)
geheimtext = geheimtext + neuesZeichen
return geheimtext
Aufgabe 1
Teste diese Implementierung mit verschiedenen Daten. Erläutere alle Anweisungen der Funktionsdefinition.
Aufgabe 2
Entwickle analog eine Funktion zum Entschlüsseln von Texten, die mit dem Verschiebeverfahren verschlüsselt wurden.
Aufgabe 3
Wir sind bisher davon ausgegangen, dass ein vorgegebener Text nur aus Großbuchstaben besteht. Einen beliebigen Text müsste man erst einmal in einen Text aus Großbuchstaben umwandeln, um das Verschlüsselungsverfahren anwenden zu können. Wir gehen dabei nach folgendem Verfahren vor:
Alle Kleinbuchstaben werden in entsprechende Großbuchstaben umgewandelt. Alle Umlaute und das ß werden durch Kleinbuchstaben ersetzt. (z.B.: ä -> ae; ß -> ss). Alle Leerzeichen und alle Sonderzeichen werden weggelassen.
Entwickle eine Funktion, die das leistet. Beschreibe zunächst das Verhalten mit einem Black-Box-Diagramm. Entwickle und teste dann eine Funktionsdefinition.