Zurück zur StartseiteInformatik · Q2 Grundkurs · Fach wechseln
Kostenlos starten
Q2 Grundkurs · Informatik
Endliche Automaten, Grammatiken und Grenzen der Informatik · Verschlüsselung, Hashfunktionen und Signaturen

Klassische Verfahren und Hash

Auf einem Schulserver in Köln liegen die Passwörter von 800 Schülerinnen und Schülern. Ein Angreifer kopiert die Datenbank. Warum ist das ein Problem, wenn dort Klartext steht, aber kaum eines, wenn dort Hashwerte stehen? Und wie schicken Sie einer Person, die Sie nie getroffen haben, eine geheime Nachricht? In diesem Kapitel bauen Sie das Werkzeug dafür auf: von der Caesar-Verschlüsselung bis zur digitalen Signatur.

Grundbegriffe: Schlüssel und Sicherheitsziele

Eine Verschlüsselung macht aus einem lesbaren Klartext mithilfe eines Schlüssels einen unlesbaren Geheimtext. Die Umkehrung heißt Entschlüsselung.

Symmetrische Verfahren sind schnell, haben aber das Schlüsselaustausch-Problem: Wie kommt der geheime Schlüssel sicher zum Empfänger? Asymmetrische Verfahren lösen dieses Problem, sind aber deutlich langsamer. In der Praxis (z. B. HTTPS/TLS) kombiniert man beide: asymmetrisch wird ein Sitzungsschlüssel vereinbart, danach läuft die Datenübertragung symmetrisch (hybrides Verfahren).

symmetrisch asymmetrisch
Schlüssel ein gemeinsamer geheimer Schlüssel Paar aus öffentlichem und privatem Schlüssel
Geschwindigkeit schnell langsam
Hauptproblem Schlüsselaustausch Rechenaufwand
Beispiele Caesar, Vigenère, AES RSA
Üben★☆☆Nicht begonnen
Erklären Sie den Unterschied zwischen symmetrischer und asymmetrischer Verschlüsselung. Nennen Sie je ein Merkmal bezüglich der Schlüssel.

Erklären Sie den Unterschied zwischen symmetrischer und asymmetrischer Verschlüsselung. Nennen Sie je ein Merkmal bezüglich der Schlüssel.

Lösen

Caesar-Verschlüsselung und Häufigkeitsanalyse

Bei der Caesar-Verschlüsselung wird jeder Buchstabe um eine feste Zahl $k$ im Alphabet verschoben. Der Schlüssel ist die Verschiebung $k$. Nach dem Z geht es bei A weiter (Rechnen modulo 26).

Zählen Sie die Buchstaben von $A = 0$ bis $Z = 25$. Dann gilt:

$$c = (m + k) \bmod 26 \qquad\text{und}\qquad m = (c - k) \bmod 26$$
A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
Üben★☆☆Nicht begonnen
Verschlüsseln Sie mit der Caesar-Verschiebung um 3 Stellen (A→D) das Wort BERLIN.

Verschlüsseln Sie mit der Caesar-Verschiebung um 3 Stellen (A→D) das Wort BERLIN.

Lösen
Üben★☆☆Nicht begonnen
Der Geheimtext KDPEXUJ wurde mit der Caesar-Verschiebung um 3 verschlüsselt. Entschlüsseln Sie ihn.

Der Geheimtext KDPEXUJ wurde mit der Caesar-Verschiebung um 3 verschlüsselt. Entschlüsseln Sie ihn.

Lösen

Wie man Caesar knackt

Es gibt nur 25 sinnvolle Verschiebungen (die Verschiebung 0 ändert nichts, 26 ist wieder 0). Der Schlüsselraum ist also winzig: Ein Angreifer probiert einfach alle Schlüssel durch (Brute Force).

Bei längeren Texten geht es noch eleganter mit der Häufigkeitsanalyse: In jeder Sprache kommen Buchstaben unterschiedlich oft vor. Im Deutschen ist E mit etwa 17 % der häufigste Buchstabe, danach folgen N (etwa 10 %) und I (etwa 8 %). Eine Caesar-Verschiebung verändert diese Verteilung nicht, sie verschiebt sie nur. Ist im Geheimtext H der häufigste Buchstabe, so steht H vermutlich für E. Die Verschiebung ist dann $7 - 4 = 3$.

Üben★★☆Nicht begonnen
Ein Geheimtext wurde mit einer Caesar-Verschlüsselung erzeugt. Der häufigste Buchstabe im langen Text ist H. a) Erläutern Sie, wie man mit der Häufigkeitsanalyse die…

Ein Geheimtext wurde mit einer Caesar-Verschlüsselung erzeugt. Der häufigste Buchstabe im langen Text ist H.

  1. a) Erläutern Sie, wie man mit der Häufigkeitsanalyse die Verschiebung bestimmt (im Deutschen ist E der häufigste Buchstabe).
  1. b) Berechnen Sie die vermutete Verschiebung.
  1. c) Erklären Sie, warum die Caesar-Verschlüsselung nur einen sehr kleinen Schlüsselraum hat (Anzahl der Schlüssel).
Lösen

Vigenère-Verfahren

Die Schwäche von Caesar: Ein Klartextbuchstabe wird immer zum selben Geheimtextbuchstaben. Das Vigenère-Verfahren (monoalphabetisch → polyalphabetisch) verwendet statt einer Zahl ein Schlüsselwort. Jeder Buchstabe des Schlüsselworts gibt eine eigene Caesar-Verschiebung vor ($A = 0$, $B = 1$, …). Das Schlüsselwort wird so oft wiederholt, bis es zur Länge des Klartexts passt.

Üben★★☆Nicht begonnen
Verschlüsseln Sie das Wort HALLE mit dem Vigenère-Verfahren und dem Schlüsselwort ABC (A = 0, B = 1, C = 2; Schlüssel wird wiederholt).

Verschlüsseln Sie das Wort HALLE mit dem Vigenère-Verfahren und dem Schlüsselwort ABC (A = 0, B = 1, C = 2; Schlüssel wird wiederholt).

Lösen

Warum Vigenère lange als sicher galt

Die Häufigkeitsverteilung des Geheimtexts wird „eingeebnet“, weil derselbe Klartextbuchstabe je nach Position unterschiedlich verschlüsselt wird. Der häufigste Buchstabe im Geheimtext ist nicht mehr eindeutig E.

Der Schlüsselraum ist größer: Ein Schlüsselwort der Länge $L$ aus 26 Buchstaben ergibt $26^L$ Möglichkeiten. Für $L = 6$ sind das

$$26^6 = 308\,915\,776$$

Schlüssel, gegenüber 25 (bzw. 26, wenn man die Verschiebung 0 mitzählt) bei Caesar.

Trotzdem ist Vigenère knackbar, wenn man die Schlüssellänge $L$ kennt: Dann bilden die Buchstaben an den Positionen $1, 1+L, 1+2L, \dots$ jeweils eine einfache Caesar-Verschlüsselung, auf die man die Häufigkeitsanalyse anwenden kann. Die Länge $L$ findet man zum Beispiel mit dem Kasiski-Test: Wiederholt sich eine Buchstabenfolge im Geheimtext, so ist ihr Abstand oft ein Vielfaches von $L$. Die gemeinsamen Teiler der Abstände liefern Kandidaten für $L$.

Üben★★★Nicht begonnen
Das Vigenère-Verfahren galt lange als sicher, während die Caesar-Verschlüsselung leicht zu brechen ist. a) Erläutern Sie, warum die einfache Häufigkeitsanalyse gegen…

Das Vigenère-Verfahren galt lange als sicher, während die Caesar-Verschlüsselung leicht zu brechen ist.

  1. a) Erläutern Sie, warum die einfache Häufigkeitsanalyse gegen Vigenère weniger gut funktioniert.
  1. b) Beschreiben Sie, wie ein Angreifer die Schlüssellänge ermitteln kann.
  1. c) Berechnen Sie den Schlüsselraum für ein Schlüsselwort der Länge 6 aus 26 Buchstaben und vergleichen Sie ihn mit dem der Caesar-Verschlüsselung.
Lösen

Hashfunktionen

Eine Hashfunktion bildet Daten beliebiger Länge auf einen Hashwert fester Länge ab, zum Beispiel jede Datei auf 256 Bit. Der Hashwert ist wie ein Fingerabdruck der Daten.

Hashwerte sind keine Verschlüsselung: Man kann sie nicht entschlüsseln, denn aus vielen möglichen Daten wird derselbe kurze Wert.

Anwendungen

Integritätsprüfung. Ein Anbieter veröffentlicht neben einem Programm den Hashwert der Datei. Nach dem Download berechnen Sie selbst den Hashwert. Stimmen beide überein, ist die Datei unverändert (kein Übertragungsfehler, keine Manipulation).

Passwörter. Ein Webdienst speichert nur den Hashwert $h(\text{Passwort})$. Beim Login wird das eingegebene Passwort gehasht und mit dem gespeicherten Wert verglichen. Gelangt die Datenbank in falsche Hände, stehen dort keine Passwörter im Klartext. Aus dem Hashwert lässt sich das Passwort nicht direkt ablesen. (Man ergänzt zusätzlich einen zufälligen „Salt“ je Nutzer, damit gleiche Passwörter verschiedene Hashwerte haben.)

Üben★★☆Nicht begonnen
Eine Hashfunktion bildet eine Datei auf einen Wert fester Länge ab. a) Nennen Sie drei Eigenschaften einer guten kryptografischen Hashfunktion. b) Erklären Sie, wie man…

Eine Hashfunktion bildet eine Datei auf einen Wert fester Länge ab.

  1. a) Nennen Sie drei Eigenschaften einer guten kryptografischen Hashfunktion.
  1. b) Erklären Sie, wie man mit einem Hashwert prüfen kann, ob ein heruntergeladenes Programm unverändert ist.
  1. c) Warum speichern Webdienste Passwörter als Hashwerte statt im Klartext?
Lösen

RSA mit kleinen Zahlen

RSA ist das bekannteste asymmetrische Verfahren. Es beruht darauf, dass man zwei große Primzahlen leicht multiplizieren, das Produkt aber nur mit riesigem Aufwand wieder in die Faktoren zerlegen kann.

Die Nachricht $m$ ist dabei eine Zahl mit $0 \le m < n$. Ein Angreifer kennt $n$ und $e$, müsste aber $n$ in $p$ und $q$ zerlegen, um $\varphi(n)$ und damit $d$ zu bestimmen. Bei Zahlen mit mehreren Hundert Stellen ist das praktisch unmöglich. Hier rechnen wir mit kleinen Zahlen, damit man es von Hand nachvollziehen kann.

Üben★★★Nicht begonnen
Zum RSA-Verfahren mit kleinen Zahlen: Gegeben sind $p = 5$, $q = 11$, $n = 55$, $e = 3$. a) Berechnen Sie $\varphi(n) = (p-1)(q-1)$. b) Bestimmen Sie den privaten…

Zum RSA-Verfahren mit kleinen Zahlen: Gegeben sind $p = 5$, $q = 11$, $n = 55$, $e = 3$.

  1. a) Berechnen Sie $\varphi(n) = (p-1)(q-1)$.
  1. b) Bestimmen Sie den privaten Schlüssel $d$ mit $e \cdot d \equiv 1 \pmod{\varphi(n)}$.
  1. c) Verschlüsseln Sie die Nachricht $m = 4$ mit $c = m^e \bmod n$ und entschlüsseln Sie sie wieder mit $m = c^d \bmod n$.
Lösen

Digitale Signatur

Verschlüsselung schützt vor Mitlesen. Oft will man aber etwas anderes wissen: Stammt das Dokument wirklich von der angegebenen Person, und wurde es unterwegs verändert? Dafür dient die digitale Signatur, die Hashfunktion und asymmetrische Verschlüsselung kombiniert.

Ablauf einer digitalen Signatur: Alice hasht das Dokument, signiert den Hashwert mit ihrem privaten Schlüssel, Bob prüft mit dem öffentlichen Schlüssel. Alice Dokument Hashwert h (Fingerabdruck) Signatur s privater Schl. Alice Bob erhält Dokument + s s entschlüsseln öffentl. Schl. Alice Hashwert h′ des Dokuments h = h′ ?

Signieren (Alice):

  1. Alice berechnet den Hashwert $h$ des Dokuments.

  2. Sie verschlüsselt $h$ mit ihrem privaten Schlüssel. Das Ergebnis ist die Signatur $s$.

  3. Sie sendet Dokument und $s$.

Prüfen (Bob):

  1. Bob berechnet selbst den Hashwert $h'$ des erhaltenen Dokuments.

  2. Er entschlüsselt $s$ mit Alices öffentlichem Schlüssel und erhält $h$.

  3. Gilt $h = h'$, ist die Signatur gültig.

Damit werden zwei Sicherheitsziele erreicht: Integrität (das Dokument wurde nicht verändert, sonst wäre $h' \neq h$) und Authentizität (nur Alice besitzt den privaten Schlüssel, das Dokument stammt also von ihr). Man spricht auch von Nichtabstreitbarkeit.

Üben★★★Nicht begonnen
Erklären Sie die Idee der digitalen Signatur. a) Beschreiben Sie, wie Alice ein Dokument signiert und Bob die Signatur prüft (Hashwert, privater und öffentlicher…

Erklären Sie die Idee der digitalen Signatur.

  1. a) Beschreiben Sie, wie Alice ein Dokument signiert und Bob die Signatur prüft (Hashwert, privater und öffentlicher Schlüssel).
  1. b) Welche beiden Sicherheitsziele werden erreicht?
  1. c) Warum genügt es nicht, nur den Hashwert ohne Signatur zu übermitteln?
Lösen

Zurück zum Anfang: Auf dem Schulserver sollten nur Hashwerte der Passwörter liegen (Abschnitt Hashfunktionen). Eine geheime Nachricht an eine fremde Person schicken Sie mit deren öffentlichem Schlüssel (RSA).

Auf einen Blick

Alle Aufgaben zu diesem Abschnitt anzeigen