Ausgewählte Algorithmen der Kryptologie
Aus ProgrammingWiki
Inhaltsverzeichnis |
Einführung
Wenn wir miteinander kommunizieren, tauschen wir Informationen aus. Häufig sind diese Informationen nicht für die Öffentlichkeit bestimmt. Der Wunsch nach Informationssicherheit dürfte also genauso alt sein wie die menschliche Kommunikation selbst. Insbesondere bei der Nutzung technischer Übertragungsmedien erwarten wir selbstverständlich, dass die Sicherheit der übertragenen Informationen gewährleistet ist.
Die Kryptologie als "Kunst" des Ver- und Entschlüsselns von Informationen thematisiert verschiedene Verfahren sowie die Frage, wie sicher diese sind.
Viele Verfahren entstammen militärischen Anwendungen. Sie sind damit deutlich älter als die Informatik.
Im Zusammenhang mit dem Datenaustausch in Computernetzwerken wurden aber auch in jüngerer Zeit Verfahren entwickelt, die aus unserer heutigen Informationsgesellschaft nicht mehr wegzudenken sind.
Ausgewählte Algorithmen
In der Kryptologie nutzt man im Allgemeinen die Tatsache, dass spezielle Probleme bezüglich ihres Zeitaufwands praktisch nicht lösbar sind.
Aus historischen und informatischen Gründen wollen wir folgende Algorithmen näher untersuchen:
Sprachelemente für Zeichenketten
Zur Implementation der Algorithmen werden folgende Sprachelemente für Zeichenketten bereitgestellt:
Syntax | Semantik | |
Selektoren | string-car | gibt das erste Zeichen einer Zeichenkette zurück |
string-cdr | gibt die Restzeichenkette zurück | |
char-pos | ermittelt die Position eines vorgegebenen Zeichens in einer Zeichenkette | |
pos-char | ermittelt ein Zeichen in einer Zeichenkette an einer vorgegebenen Position | |
Konstruktor | char-cons | stellt einer Zeichenkette ein Zeichen voran |
Prädikat | char-in-string? | gibt #t zurück, wenn das Zeichen in einer Zeichenkette enthalten ist, anderenfalls #f |
Implementation:
Aufgabe
Testen Sie diese Sprachelemente an selbstgewählten Beispielen, wie: