1 – Grundbegriffe der Kryptologie

 

Die Kryptologie teilt sich in die beiden Bestandteile Kryptographie (Nachrichten verschlüsseln) und Kryptoanalyse (Nachrichten entschlüsseln) auf. Daneben gibt es noch die Stenographie, bei der es darum geht, zu verheimlichen, dass es überhaupt eine Nachricht gibt.

1.1 Kryptographie

1.1.1 Ziele und Aufgaben der Kryptographie

Die klassischen Ziele der Kryptographie sind:

  • Vertraulichkeit: Wenn die Nachricht in die falschen Hände gelangt, darf sie nicht entziffert werden können
  • Integrität: Der Empfänger muss prüfen können, ob die Nachricht vollständig und unbeschädigt / unverfälscht übertragen wurde
  • Authentizität: Der Empfänger muss sicher sein können, dass die Nachricht von einer autorisierten Person verfasst wurde

Die moderne Kryptographie hat noch weitere Ziele, unter anderem:

  • Authentisierter Schlüsselaustausch: Sicheres Verfahren zur Vereinbarung eines Schlüssels zwischen Sender und Empfänger
  • Nichtabstreitbarkeit: Der Empfänger muss beweisen können, dass die Nachricht von einem bestimmten Sender verfasst wurde
  • Anonymität: Ein Außenstehender darf die Identität des Senders nicht bestimmen können

In den Bereich der Kryptographie fallen auch Aufgaben wie die sichere Durchführung von elektronischen Wahlen, die zwar geheim sein müssen, bei denen aber jeder Wähler seine Stimme nur ein Mal abgeben darf. Wichtige Algorithmen für die Kryptographie sind zum Beispiel die Erzeugung von Pseudozufallszahlen und kryptographische Hash-Funktionen.

1.1.2 Notation beim Übertragen von Nachrichten

Wir verwenden die folgenden Variablen:

p: plaintext = Klartext
c: cyphertext = verschlüsselter Text, Geheimtext
\Sigma: Alphabet (alle verwendbaren Zeichen)
a \in \Sigma: Zeichen (z.B. Buchstabe)
s \in {\Sigma ^n}: String (z.B. Wort)
S: Sprache (z.B. Deutsch, {s_1} = KRYPTO \in S, {s_2} = ASD \notin S
\mathcal{P}: Klartextraum (Menge aller möglichen Klartexte)
\mathcal{C}: Geheimtextraum (Menge aller möglichen Geheimtexte)
\mathcal{K}: Schlüsselraum (Menge aller möglichen Schlüssel)
\mathcal{E}: Familie von Verschlüsselungsfunktionen, indiziert mit Element aus \mathcal{K}
\mathcal{D}: Familie von Entschlüsselungsfunktionen, indiziert mit Element aus \mathcal{K}

Übertragung einer Nachricht:

p\xrightarrow{{{e_{{k_1}}} \in \mathcal{E}}}c\xrightarrow{{senden}}c\xrightarrow{{{d_{{k_2}}} \in \mathcal{D}}}p

Der Sender wird traditionell mit Alice bezeichnet, der Empfänger mit Bob. Ein passiver Angreifer, der die verschlüsselten Nachrichten mitliest, heißt Eve. Ein aktiver Angreifer, der die Nachrichten abfängt, verändert und weiterleitet, heißt Malory.

alice-malory-bob-nachricht-ubertragung

1.1.3 Kryptosystem

Ein Kryptosystem ist ein 5-Tupel \left( {\mathcal{P},\mathcal{C},\mathcal{K},\mathcal{E},\mathcal{D}} \right), für das mit d \in \mathcal{D} und e \in \mathcal{E} gilt:

\forall {k_1} \in \mathcal{K}\exists {k_2} \in \mathcal{K}:{d_{k2}}\left( {{e_{k1}}\left( p \right)} \right) = p\:\:\forall p \in \mathcal{P}

(In Worten: Für alle Schlüssel, die zum Verschlüsseln eines beliebigen Klartextes benutzt werden, existiert ein Schlüssel, mit dem die Geheimtexte wieder entschlüsselt werden können, so dass man den ursprünglichen Klartext erhält.)

Es reicht heute nicht mehr aus, nur einen Entschlüsselungsalgorithmus zu benutzen, um die Integrität und Authentizität einer Nachricht zu prüfen. Hierfür müssen spezielle andere Algorithmen ergänzt werden.

Die Sicherheit eines Kryptosystems darf nie davon abhängen, dass der Verschlüsselungsalgorithmus geheim gehalten wird. Die Sicherheit gründet sich nur auf die Geheimhaltung des Schlüssels!

1.1.4 Protokoll

Ein Protokoll ist eine Schritt-für-Schritt Anleitung, um ein Ziel gemeinsam zu erreichen.

Beispiel: Zwei Rekruten wollen über eine hohe Mauer klettern. Das zugehörige Protokoll könnte lauten:

  1. Rekrut 1 macht eine Räuberleiter und hilft Rekrut 2 auf die Mauer.
  2. Rekrut 2 hilft Rekrut 1 dabei, hinterher zu klettern.
  3. Rekrut 1 lässt Rekrut 2 auf der anderen Seite der Mauer herab.
  4. Rekrut 2 hilft Rekrut 1 dabei, herunter zu klettern.

1.2 Kryptoanalyse

1.2.1 Definition von Kryptoanalyse und Angriff auf ein Kryptosystem

Ziel der Kryptoanalyse ist es immer, an den Klartext oder an den Schlüssel zu gelangen. Theoretisch kann man immer alle möglichen Schlüssel durchprobieren (Brute-Force Angriff). Der Schlüsselraum muss daher möglichst groß gewählt werden, so dass es zu lange dauert, alle Schlüssel zu durchlaufen.

Ein Angriff ist ein Versuch, ein Kryptosystem zu brechen. Man spricht von einem erfolgreichen Angriff, wenn der Angriff eine geringere Komplexität hat als ein Brute-Force Angriff.

1.2.2 Arten von Angriffen

Man unterscheidet verschiedene Arten von Angriffen. Bei der folgenden Auflistung hat der Angreifer immer mehr Informationen bzw. Möglichkeiten. Die Angriffe werden daher stärker:

  • Angriff mit bekanntem Geheimtext (ciphertext-only-attack)
    Der Angreifer hört den (unsicheren) Kanal ab, um den übertragenen Geheimtext abzufangen. Ziel ist es, den zugehörigen Klartext und/oder den verwendeten Schlüssel zu erhalten. Dies ist der schwächste Angriff, da jegliche Information über den Schlüssel oder den Klartext allein aus dem Chi-Text gewonnen werden muss.
  • Angriff mit bekanntem Klartext (known-plaintext-attack)
    Der Angreifer besitzt ein oder mehrere Klar-Geheimtext-Paare. Auf dieser Grundlage versucht er, den (unbekannten) Klartext oder Schlüssel zu einem weiteren Chi-Text zu bestimmen. Beispiel: Grußformeln in Briefen o. ä.
  • Angriff mit gewähltem Klartext (chosen-plaintext-attack)
    Der Angreifer hat Zugriff auf ein Orakel, mit dessen Hilfe er aus beliebigen Klartexten die entsprechenden Geheimtexte erzeugen kann. Auf Basis der Paare aus gewählten Klartexten und zugehörigen Geheimtexten versucht er, den (unbekannten) Klartext oder Schlüssel zu einem weiteren Chi-Text zu bestimmen.
    Beispiel: Um die Enigma-Verschlüsselung zu brechen, haben die Alliierten an bestimmten Positionen Wasserbomben gezündet und die resultierenden verschlüsselten Nachrichten abgefangen. Aufgrund der bekannten Koordinaten und des starren Meldeschemas konnten wichtige Rückschlüsse auf den Algorithmus gezogen werden.
  • Angriff mit gewähltem Geheimtext (chosen-ciphertext-attack)
    Der Angreifer hat Zugriff auf ein Orakel, mit dessen Hilfe er beliebige Geheimtexte entschlüsseln kann. Auf Basis der Paare aus gewählten Geheimtexten und zugehörigen Klartexten versucht er, den (unbekannten) Klartext oder Schlüssel zu einem weiteren Chi-Text zu bestimmen. Beispiele: Systeme zur Erstellung von elektronischen Signaturen oder Nutzerkonten auf Computern (mit Administratorrechten).
  • Seitenkanalangriff (side-channel-attack)
    Beispiel: Hier wird nicht der Algorithmus an sich, sondern seine Implementierung angegriffen. Es können zum Beispiel physikalische Größen wie die Prozessortemperatur oder die zur Verschlüsselung benötigte Zeit ausgelesen werden, die Rückschlüsse auf den Algorithmus zulassen.

Ähnliche Artikel

2 Kommentare zu “1 – Grundbegriffe der Kryptologie”

Bei der Grafik zu “Übertragung einer Nachricht:” müsste auf dem rechten Pfeil doch d statt e stehen oder?

Ja stimmt. Habs verbessert.

Kommentar verfassen