[JoGu]

Kryptologie

Mathematisches Modell der Chiffrierung

a7Hzq .#5r<
kÜ\as TâÆK$
ûj(Ö2 ñw%h:
Úk{4R f~`z8
¤˜Æ+Ô „&¢Dø

Kryptographie beschäftigt sich mit der Transformation von Zeichenketten.

Daher wird hier gleich zu Beginn mathematisch formuliert, was damit gemeint ist. Natürlich sind einige (aber nicht viele!) der folgenden Abschnitte auch ohne mathematischen Formalismus verständlich, so dass der Leser ohne mathematische Vorbildung sich hier nicht gleich abschrecken lassen sollte, sondern diesen Abschnitt - und weitere mathematische Abschnitte - einfach überspringen. Es sei aber darauf hingewiesen, dass Kryptologie eine mathematische Wissenschaft ist und man ohne mathematische Formulierungen nicht weit kommt.

Ohne mathematischen Formalismus kann man den Inhalt dieses Abschnitts so zusammenfassen:
Eine Verschlüsselungsfunktion transformiert beliebige Zeichenketten in andere Zeichenketten. (Der Zeichensatz ist dabei vorgegeben.)
Eine Chiffre ist eine parametrisierte Familie von Verschlüsselungsfunktionen. Der Parameter ist der Schlüssel; er bestimmt die Auswahl der konkreten Funktion. Ohne Kenntnis des Schlüssels kann niemand die Verschlüsselung umkehren.

Ziel dieser Transformation ist, dass eine Nachricht (ein Text, eine Datei, ...) vor Dritten geheim gehalten werden soll. Diese können zwar sehen, dass da eine Nachricht übermittelt (oder eine Datei gespeichert, ...) wird, können mangels Schlüssel deren Inhalt aber nicht verstehen.

[Sichere Übertragung]

Alphabete und Texte

Sei Σ eine endliche Menge; sie wird in diesem Zusammenhang Alphabet genannt und ihre Elemente Zeichen.

Beispiele:

Das Alphabet Σ wird oft mit einer Gruppenstruktur versehen, z. B.

Sei Σ ein Alphabet, Σ* die Menge aller endlichen Folgen aus Σ; solche Folgen werden hier Texte genannt.


Definition

Gegeben sei ein Alphabet Σ und eine Menge K, die auch unendlich sein kann (ihre Elemente werden hier Schlüssel genannt).

(i) Eine Verschlüsselungsfunktion über Σ ist eine injektive Abbildung  f: Σ* → Σ*.

(ii) Eine Chiffre (oder Verschlüsselungssystem oder Kryptosystem) über Σ mit Schlüsselraum K ist eine Familie F = (fk)kK von Verschlüsselungsfunktionen über Σ.

(iii) Sei F eine solche, F~ = {fk | kK} ⊆ Abb(Σ**) die zugehörige Menge von (verschiedenen) Verschlüsselungsfunktionen. Dann heißt

2log(#K)
die Schlüssellänge und
d(F)  : =  2log(#F~)
die effektive Schlüssellänge der Chiffre F.

[Beispiele folgen.]


Bemerkungen

  1. Die Definition einer Verschlüsselungsfunktion ist nicht die allgemeinste sinnvolle, siehe dazu das Buch von BAUER. Man kann auch nicht-injektive Funktionen betrachten, ebenso Relationen, die keine (eindeutigen) Funktionen oder nicht auf ganz Σ* definiert sind. Solche Verallgemeinerungen spielen in dieser Vorlesung keine Rolle; die zweite (Nichteindeutigkeit) wird am besten als »probabilistische« Chiffrierung modelliert.
  2. Nicht alle fk, kK, müssen verschieden sein; daher ist im allgemeinen #F~ ≤ #K.
  3. Oft sind die zu verschlüsselnden Texte nicht allgemeine Zeichenketten, sondern entstammen einer Teilmenge M ⊆ Σ*, also einer Sprache über dem Alphabet Σ. Man nennt M dann den »Klartextraum« und die Elemente von M »sinnvolle Texte« oder »Klartexte« (englisch: plain texts). Üblicherweise werden allerdings, auch wenn nur Texte aus M verschlüsselt werden sollen, Verschlüsselungsfunktionen auf ganz Σ* definiert. Die Bildmenge Ck = fk(M) hängt im allgemeinen vom Schlüssel k ab. Ihre Elemente werden »Geheimtexte« genannt (englisch: cipher texts).
  4. Durch die Schlüsselwahl wird die Chiffre »randomisiert«. Auch wenn der Gegner die Verschlüsselungsmethode kennt oder errät, kann er doch ohne den Schlüssel nicht unbefugt entziffern.

Historisch wurde bei der Zuordnung des gewöhnlichen Alphabets zu Buchstaben meist mit A ↔ 1 begonnen; solche Zuordnungen gab es schon im Altertum, wo sie zu allerlei Zahlenmystik missbraucht wurden. Zu kryptographischen Zwecken, also um Chiffren arithmetisch zu beschreiben, wurde sie im abendländischen Raum systematisch - soweit bekannt - erstmals von COMIERS verwendet (im Orient allerdings auch schon von Ibn DUNAINIR zu Beginn des 13. Jahrhunderts):

Natürlich ist die Zuordnung A ↔ 1 statt A ↔ 0 ungeschickt und führt zu weniger eleganten Formeln. Ein späteres Werk, wo Buchstaben durch Zahlen codiert werden, wurde unlängst von Joachim von zur GATHEN ausgegraben (Friedrich Johann Buck: Arithmetic puzzles in Cryptography. Cryptologia XXVIII (2004), 309 - 324) und online gestellt: Aus ihm stammt der Abschnitt

[Zahlen-Buchstaben]
Autor: Klaus Pommerening, 25. Oktober 1999; letzte Änderung: 9. Dezember 2007.