Auf einen Blick
- Grundbegriffe: Klartext $m$, Schlüssel $k$, Chiffretext $c$ – die drei Grundzutaten jeder Verschlüsselung.
- Schutzziele: Privacy, Authenticity, Integrity, Non-Repudiation, Perfect Forward Secrecy.
- Historische Chiffren: Caesar (26 Schlüssel), Affine (312), Substitution ($26!$), Vigenère (polyalphabetisch), OTP (perfekte Sicherheit).
- Angriffe: Buchstabenhäufigkeitsanalyse, Koinzidenzindex, Bigramme knacken monoalphabetische Chiffren mühelos.
- Klausurfokus: Rechnen mit modularen Verschiebungen, Schlüsselraum bestimmen, Chiffren dechiffrieren.
Kernkonzepte
Grundbegriffe der Verschlüsselung
Ein Verschlüsselungsverfahren transformiert einen Klartext $m$ (message) mit Hilfe eines Schlüssels $k$ (key) in einen Chiffretext $c$ (cipher text):
$c = E_k(m) \qquad m = D_k(c)$
Codieren und Verschlüsseln sind nicht dasselbe: Codieren macht Daten maschinenlesbar (z.B. ASCII, Morse) – jeder kann decodieren. Verschlüsseln benötigt einen geheimen Schlüssel, ohne den keine Rekonstruktion möglich sein soll.
Schutzziele
| Schutzziel | Bedeutung |
|---|---|
| Privacy (Vertraulichkeit) | Nur autorisierte Personen können die Nachricht lesen. |
| Authenticity (Authentizität) | Der Absender ist tatsächlich derjenige, der er zu sein vorgibt. |
| Integrity (Integrität) | Die Nachricht wurde unterwegs nicht manipuliert. |
| Non-Repudiation (Nichtabstreitbarkeit) | Der Absender kann später nicht bestreiten, die Nachricht gesendet zu haben. |
| Perfect Forward Secrecy | Selbst wenn ein Langzeitschlüssel später kompromittiert wird, bleiben alte Sitzungen vertraulich. |
Caesar-Chiffre
Jeder Buchstabe wird um $k$ Stellen im Alphabet verschoben. Mit $A=0, B=1, \ldots, Z=25$:
$c_i = (m_i + k) \bmod 26 \qquad m_i = (c_i - k) \bmod 26$
Schlüsselraum: nur 26 Möglichkeiten (davon $k=0$ trivial). Brute-Force: in Sekunden knackbar – einfach alle 26 Verschiebungen ausprobieren.
Affine Chiffre
Verallgemeinerung der Caesar-Chiffre: der Schlüssel besteht aus zwei Zahlen $k = (a, b)$:
$c_i = (a \cdot m_i + b) \bmod 26$
Damit die Chiffre umkehrbar ist, muss $a$ zu $26$ teilerfremd sein: $\gcd(a, 26) = 1$. Andernfalls wäre die Abbildung nicht bijektiv.
Schlüsselraum: $\varphi(26) = \varphi(2)\cdot\varphi(13) = 1 \cdot 12 = 12$ gültige $a$-Werte, mal $26$ $b$-Werte $=$ 312 Schlüssel.
Die 12 gültigen $a$-Werte sind: $\{1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25\}$.
Substitutionschiffre (monoalphabetisch)
Jeder Buchstabe wird durch einen beliebigen anderen ersetzt – der Schlüssel ist eine Permutation der 26 Buchstaben.
Schlüsselraum: $26! \approx 4{,}03 \cdot 10^{26}$ – Brute-Force unmöglich.
Aber: Buchstabenhäufigkeit bleibt erhalten! Im Deutschen ist $e \approx 17\%$ der häufigste Buchstabe, $n \approx 10\%$, $i \approx 8\%$. Man ordnet die häufigsten Chiffretext-Zeichen den häufigsten Klartext-Buchstaben zu → in wenigen Minuten geknackt.
Vigenère-Chiffre (polyalphabetisch)
Verwendet ein Schlüsselwort $k = k_0 k_1 \ldots k_{n-1}$, das zyklisch über den Klartext gelegt wird:
$c_i = (m_i + k_{i \bmod n}) \bmod 26$
Gleiche Klartext-Buchstaben werden auf verschiedene Chiffretext-Buchstaben abgebildet → einfache Häufigkeitsanalyse schlägt fehl.
Angriff: Kasiski-Test (Wiederholungen finden) + Friedman-Test (Koinzidenzindex) zur Bestimmung der Schlüssellänge. Danach n Caesar-Chiffren einzeln knacken.
One-Time-Pad (OTP)
Wie Vigenère, aber mit drei strikten Bedingungen:
- Schlüssel ist echt zufällig.
- Schlüssel ist mindestens so lang wie der Klartext.
- Schlüssel wird nur ein einziges Mal verwendet.
Dann ist das OTP nach Shannon informationstheoretisch sicher („perfect secrecy"): Zu jedem Chiffretext existiert für jeden möglichen Klartext genau ein passender Schlüssel – der Angreifer erhält keinerlei Information.
Kryptoanalyse-Werkzeuge
Buchstabenhäufigkeit (deutsch):
| Buchstabe | e | n | i | s | r | a | t |
|---|---|---|---|---|---|---|---|
| Häufigkeit | ~17% | ~10% | ~8% | ~7% | ~7% | ~6% | ~6% |
Koinzidenzindex $I$: Wahrscheinlichkeit, dass zwei zufällig gewählte Zeichen eines Textes gleich sind:
$I = \dfrac{\sum_{i=A}^{Z} n_i (n_i - 1)}{N (N-1)}$
| Text | Koinzidenzindex |
|---|---|
| Deutscher Klartext | ≈ 0,076 |
| Englischer Klartext | ≈ 0,065 |
| Zufälliger Text | ≈ 0,038 ($=1/26$) |
Beim Vigenère: Chiffretext hat niedrigen $I \approx 0{,}038$. Nach richtiger Zerlegung in Spalten (Schlüssellänge) steigt $I$ jeder Spalte auf $\approx 0{,}076$ → Schlüssellänge gefunden.
Angriffsarten (Attacker Models)
| Modell | Was der Angreifer hat |
|---|---|
| Ciphertext-only | Nur Chiffretexte. Schwächstes Angreifer-Modell. |
| Known-plaintext | Paare $(m, c)$ sind bekannt. |
| Chosen-plaintext (CPA) | Angreifer wählt $m$, erhält $c = E_k(m)$. |
| Chosen-ciphertext (CCA) | Angreifer wählt $c$, erhält $m = D_k(c)$. Stärkstes Modell. |
Merksätze
🖊️ So rechnest du es per Hand
Buchstaben-Tabelle (A=0 … Z=25)
Die brauchst du für jede Rechnung. Zeichne sie ganz oben auf deinen Schmierzettel, dann sparst du dir jedes Mal das Nachdenken.
| 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 |
Merkanker: A=0, M=12, N=13, Z=25. Alles andere zählst du in ±1-Schritten dazu.
1. Cäsar verschlüsseln
Formel: $c_i = (m_i + k) \bmod 26$ mit Schlüssel $k \in \{0,\dots,25\}$.
- Klartext in Großbuchstaben schreiben, Leerzeichen und Satzzeichen streichen.
- Jeden Buchstaben mit der Tabelle in eine Zahl übersetzen.
- Auf jede Zahl den Schlüssel $k$ addieren.
- Falls das Ergebnis $\geq 26$ ist, ziehe 26 ab (das ist die Modulo-Operation).
- Zahl zurück in Buchstaben übersetzen — fertig.
Beispiel: Klartext HALLO, Schlüssel $k=3$.
Zahlen: H=7, A=0, L=11, L=11, O=14.
Addieren: $7{+}3{=}10$, $0{+}3{=}3$, $11{+}3{=}14$, $11{+}3{=}14$, $14{+}3{=}17$.
Keine Zahl $\geq 26$, also kein Modulo nötig. Rückübersetzen: 10=K, 3=D, 14=O, 14=O, 17=R.
Chiffrat: KDOOR.
2. Cäsar entschlüsseln
Formel: $m_i = (c_i - k) \bmod 26$. Wenn negativ, addiere 26.
- Chiffrat in Zahlen übersetzen.
- Von jeder Zahl den Schlüssel $k$ abziehen.
- Falls Ergebnis negativ, addiere 26 (Modulo-Trick rückwärts).
- Zahlen wieder in Buchstaben übersetzen.
Beispiel: Chiffrat KDOOR, Schlüssel $k=3$.
Zahlen: K=10, D=3, O=14, O=14, R=17.
Subtrahieren: $10{-}3{=}7$, $3{-}3{=}0$, $14{-}3{=}11$, $14{-}3{=}11$, $17{-}3{=}14$.
Keine negative Zahl, kein $+26$ nötig. Rückübersetzen: 7=H, 0=A, 11=L, 11=L, 14=O.
Klartext: HALLO.
3. Cäsar Brute-Force-Analyse
Der Schlüsselraum ist winzig: nur 26 mögliche Verschiebungen (davon eine trivial). Alle durchprobieren geht per Hand in wenigen Minuten.
- Nimm die ersten 4–6 Buchstaben des Chiffrats — mehr brauchst du fast nie.
- Schreibe eine Tabelle: linke Spalte $k=0,1,2,\dots,25$, rechts die Entschlüsselung mit diesem $k$.
- Für jede Zeile: ziehe $k$ von jedem Chiffrat-Buchstaben ab (mod 26).
- Scanne die rechte Spalte nach einem lesbaren deutschen Wort.
- Sobald ein Wort auftaucht — Treffer. $k$ ablesen.
Beispiel: Chiffrat KDOOR. Zahlen: 10, 3, 14, 14, 17.
$k=1$: 9,2,13,13,16 = JCNNP — Müll.
$k=2$: 8,1,12,12,15 = IBMMP — Müll.
$k=3$: 7,0,11,11,14 = HALLO — Treffer. Schlüssel $k=3$.
4. Häufigkeitsanalyse für Cäsar
Im Deutschen ist E mit Abstand der häufigste Buchstabe (ca. 17 %), gefolgt von N, I, S, R, A, T. Weil Cäsar jeden Buchstaben gleich verschiebt, bleibt dieses Ranking im Chiffrat erhalten — nur eben verschoben.
- Zähle im Chiffrat, wie oft jeder Buchstabe vorkommt (Strichliste).
- Finde den häufigsten Chiffrat-Buchstaben $x$.
- Vermute: $x$ entspricht dem Klartext-E.
- Berechne $k = (x - \text{E}) \bmod 26 = (x - 4) \bmod 26$.
- Entschlüssele das ganze Chiffrat mit diesem $k$ und prüfe, ob deutscher Text herauskommt.
- Wenn nicht: probiere den zweithäufigsten Buchstaben als E, oder als N.
Beispiel: Chiffrat KHOHIRQLHUW GDV WHDP. Buchstabenzählung: H kommt 4× vor, gewinnt klar.
Vermutung: H (=7) im Chiffrat ist E (=4) im Klartext. Also $k = (7 - 4) \bmod 26 = 3$.
Probe: mit $k=3$ entschlüsseln → TELEFONIERT DAS TEAM. Passt. Schlüssel bestätigt: $k=3$.
5. Vigenère verschlüsseln
Formel: $c_i = (m_i + k_{i \bmod \ell}) \bmod 26$, wobei $\ell$ die Länge des Schlüsselworts ist. Jeder Klartext-Buchstabe wird mit dem passenden Buchstaben des zyklisch wiederholten Schlüsselworts verschoben.
- Schlüsselwort direkt unter den Klartext schreiben, so oft wiederholen bis alle Klartext-Buchstaben ein Schlüssel-Zeichen darunter haben.
- Beide Zeilen in Zahlen übersetzen.
- Spaltenweise addieren.
- Modulo 26 (also $-26$ falls Ergebnis $\geq 26$).
- Zahlen zurück in Buchstaben — das ist das Chiffrat.
Beispiel: Klartext GEHEIM, Schlüsselwort KEY.
Ausrichtung: G E H E I M / K E Y K E Y.
Zahlen Klartext: 6, 4, 7, 4, 8, 12. Zahlen Schlüssel: 10, 4, 24, 10, 4, 24.
Summen: $6{+}10{=}16$, $4{+}4{=}8$, $7{+}24{=}31 \to 31{-}26{=}5$, $4{+}10{=}14$, $8{+}4{=}12$, $12{+}24{=}36 \to 36{-}26{=}10$.
Ergebnis: 16, 8, 5, 14, 12, 10 = QIFOMK.
6. Vigenère entschlüsseln
Formel: $m_i = (c_i - k_{i \bmod \ell}) \bmod 26$. Falls negativ, $+26$.
- Schlüsselwort unter das Chiffrat schreiben, zyklisch wiederholen.
- Beide Zeilen in Zahlen übersetzen.
- Spaltenweise Chiffrat minus Schlüssel rechnen.
- Bei negativem Ergebnis $+26$.
- Zahlen in Buchstaben zurückübersetzen — Klartext ist da.
Beispiel: Chiffrat QIFOMK, Schlüsselwort KEY.
Ausrichtung: Q I F O M K / K E Y K E Y.
Zahlen Chiffrat: 16, 8, 5, 14, 12, 10. Zahlen Schlüssel: 10, 4, 24, 10, 4, 24.
Differenzen: $16{-}10{=}6$, $8{-}4{=}4$, $5{-}24{=}-19 \to -19{+}26{=}7$, $14{-}10{=}4$, $12{-}4{=}8$, $10{-}24{=}-14 \to -14{+}26{=}12$.
Ergebnis: 6, 4, 7, 4, 8, 12 = GEHEIM.
🧮 Rechenaufgaben mit Lösung
Klick auf eine Aufgabe, um den vollständigen Lösungsweg zu sehen.
R1Caesar-Verschlüsselung: „HALLO" mit $k=3$
Lösung
Formel: $c_i = (m_i + 3) \bmod 26$ mit $A=0, B=1, \ldots, Z=25$.
| $m_i$ | Index | $+3 \bmod 26$ | $c_i$ |
|---|---|---|---|
| H | 7 | 10 | K |
| A | 0 | 3 | D |
| L | 11 | 14 | O |
| L | 11 | 14 | O |
| O | 14 | 17 | R |
R2Affine Chiffre entschlüsseln: $k=(9,13)$
Schritt 1 – Inverse von $a=9$ modulo 26 finden
Gesucht ist $a^{-1}$ mit $9 \cdot a^{-1} \equiv 1 \pmod{26}$.
Probieren: $9 \cdot 3 = 27 = 26 + 1 \equiv 1 \pmod{26}$. Also $a^{-1} = 3$.
Schritt 2 – Entschlüsselungsformel
$m_i = a^{-1} \cdot (c_i - b) \bmod 26 = 3 \cdot (c_i - 13) \bmod 26$.
Schritt 3 – Zeichenweise entschlüsseln
| $c_i$ | Index | $c_i - 13$ | $3 \cdot (c_i - 13)$ | $\bmod 26$ | $m_i$ |
|---|---|---|---|---|---|
| N | 13 | 0 | 0 | 0 | A |
| C | 2 | -11 | -33 | -33 + 52 = 19 | T |
| N | 13 | 0 | 0 | 0 | A |
| F | 5 | -8 | -24 | -24 + 26 = 2 | C |
| Z | 25 | 12 | 36 | 36 - 26 = 10 | K |
Hinweis: Bei anderen Chiffretexten dieselbe Formel $m_i = 3 \cdot (c_i - 13) \bmod 26$ anwenden. Immer alle Zwischenschritte modular reduzieren.
R3Schlüsselraum der affinen Chiffre
Schritt 1 – Bedingung an $a$
$a$ muss zu 26 teilerfremd sein: $\gcd(a, 26) = 1$. Anzahl solcher $a$ ist $\varphi(26)$.
Schritt 2 – Eulersche $\varphi$-Funktion
$26 = 2 \cdot 13$. Da 2 und 13 beide prim sind:
$\varphi(26) = \varphi(2) \cdot \varphi(13) = (2-1)(13-1) = 1 \cdot 12 = 12$
Die 12 gültigen $a$-Werte: $\{1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25\}$.
Schritt 3 – $b$-Werte
$b$ ist beliebig aus $\{0, 1, \ldots, 25\}$, also 26 Werte.
Schritt 4 – Gesamt
Schlüsselanzahl $= 12 \cdot 26 = 312$
Zieht man den trivialen Schlüssel $(a,b)=(1,0)$ (Identität) ab, bleiben 311 nicht-triviale.
R4Vigenère verschlüsseln: „GEHEIM" mit „AB"
Schritt 1 – Schlüsselstrom bilden
„AB" wird zyklisch wiederholt: A, B, A, B, A, B. Numerisch: 0, 1, 0, 1, 0, 1.
Schritt 2 – Zeichenweise addieren
Formel: $c_i = (m_i + k_{i \bmod n}) \bmod 26$.
| Position | $m_i$ | $m_i$ Index | $k_i$ | $k_i$ Index | Summe $\bmod 26$ | $c_i$ |
|---|---|---|---|---|---|---|
| 1 | G | 6 | A | 0 | 6 | G |
| 2 | E | 4 | B | 1 | 5 | F |
| 3 | H | 7 | A | 0 | 7 | H |
| 4 | E | 4 | B | 1 | 5 | F |
| 5 | I | 8 | A | 0 | 8 | I |
| 6 | M | 12 | B | 1 | 13 | N |
R5One-Time-Pad – Beweisbarkeit
Schritt 1 – Setup
OTP: $c_i = (m_i + k_i) \bmod 26$, also $k_i = (c_i - m_i) \bmod 26$. Man kann zu jedem Klartext den passenden Schlüssel zurückrechnen.
Schritt 2 – Kandidat A: „ATTACKAT"
| $i$ | $c_i$ | $m_i$ | $k_i = c_i - m_i \bmod 26$ |
|---|---|---|---|
| 1 | X (23) | A (0) | 23 = X |
| 2 | Z (25) | T (19) | 6 = G |
| 3 | T (19) | T (19) | 0 = A |
| 4 | T (19) | A (0) | 19 = T |
| 5 | R (17) | C (2) | 15 = P |
| 6 | E (4) | K (10) | -6 + 26 = 20 = U |
| 7 | E (4) | A (0) | 4 = E |
| 8 | F (5) | T (19) | -14 + 26 = 12 = M |
Schlüssel A = XGATPUEM. Dieser Schlüssel ist zufällig, also plausibel.
Schritt 3 – Kandidat B: „RETREATX"
| $i$ | $c_i$ | $m_i$ | $k_i = c_i - m_i \bmod 26$ |
|---|---|---|---|
| 1 | X (23) | R (17) | 6 = G |
| 2 | Z (25) | E (4) | 21 = V |
| 3 | T (19) | T (19) | 0 = A |
| 4 | T (19) | R (17) | 2 = C |
| 5 | R (17) | E (4) | 13 = N |
| 6 | E (4) | A (0) | 4 = E |
| 7 | E (4) | T (19) | -15 + 26 = 11 = L |
| 8 | F (5) | X (23) | -18 + 26 = 8 = I |
Schlüssel B = GVACNELI. Ebenfalls plausibel.
R6Koinzidenzindex berechnen
Schritt 1 – Häufigkeiten $n_i$ zählen
Text: A B R A K A D A B R (N = 10 Zeichen)
| Buchstabe | $n_i$ | $n_i(n_i-1)$ |
|---|---|---|
| A | 4 | 4·3 = 12 |
| B | 2 | 2·1 = 2 |
| R | 2 | 2·1 = 2 |
| K | 1 | 1·0 = 0 |
| D | 1 | 1·0 = 0 |
| Rest | 0 | 0 |
Schritt 2 – Summe im Zähler
$\sum n_i(n_i - 1) = 12 + 2 + 2 + 0 + 0 = 16$.
Schritt 3 – Nenner
$N(N-1) = 10 \cdot 9 = 90$.
Schritt 4 – Formel einsetzen
$I = \dfrac{16}{90} \approx 0{,}178$
Deutlich über deutschem Referenzwert (0,076) – Text ist zu kurz und stark strukturiert. Bei echtem Klartext mit z.B. 500 Zeichen erhält man $I \approx 0{,}076$; bei einem Vigenère-Chiffretext hingegen $I \approx 0{,}04$.
Übungsfragen
F1Was ist der Unterschied zwischen „codieren" und „verschlüsseln"?
Codieren überführt Daten in eine andere Darstellung, um sie maschinell verarbeitbar oder übertragbar zu machen (ASCII, Base64, Morse). Es ist öffentlich bekannt und umkehrbar durch jeden.
Verschlüsseln schützt Daten vor unbefugter Kenntnisnahme: Rückgewinnung des Klartexts erfordert einen geheimen Schlüssel. Sicherheitsziel ist Vertraulichkeit.
F2Nenne vier Schutzziele der Verschlüsselung. Was bedeutet Perfect Forward Secrecy?
Vier Schutzziele: Privacy (Vertraulichkeit), Authenticity (Authentizität), Integrity (Integrität), Non-Repudiation (Nichtabstreitbarkeit).
Perfect Forward Secrecy (PFS): Selbst wenn ein langfristiger Schlüssel (z.B. der Serverprivatkey) später kompromittiert wird, bleiben zurückliegend abgefangene Sitzungen sicher. Erreicht wird das durch ephemere Schlüssel pro Session (typisch: Diffie-Hellman mit frischen zufälligen Exponenten), die nach der Session verworfen werden.
F3Warum ist die Caesar-Chiffre unsicher trotz 26 Schlüsseln?
Weil Brute-Force trivial ist: Man probiert alle 26 Verschiebungen durch und erkennt den lesbaren Klartext von Hand oder algorithmisch (Wörterbuch, Häufigkeitsprüfung) in Sekunden.
Selbst wenn Brute-Force nicht ginge: Häufigkeitsanalyse würde nach wenigen Buchstaben den Schlüssel liefern, da alle Buchstaben um dieselbe Konstante verschoben werden und die Häufigkeitsverteilung ihre Form behält – man muss nur den „e-Peak" finden.
F4Warum muss $a$ bei der affinen Chiffre zu 26 teilerfremd sein?
Nur wenn $\gcd(a, 26) = 1$ ist die Multiplikation mit $a$ modulo 26 eine bijektive Abbildung. Andernfalls würden verschiedene Klartext-Buchstaben denselben Chiffretext-Buchstaben erzeugen – die Entschlüsselung wäre nicht eindeutig.
Beispiel Gegenprobe: $a = 2$. Dann $2 \cdot 0 \equiv 0$ und $2 \cdot 13 \equiv 26 \equiv 0 \pmod{26}$. Zwei Klartexte $A$ und $N$ landen beide auf demselben Chiffretext → nicht invertierbar.
Formal: Die Inverse $a^{-1}$ existiert modulo 26 genau dann, wenn $\gcd(a,26)=1$.
F5Wieso ist das OTP theoretisch nicht knackbar? Welche 3 Bedingungen müssen erfüllt sein?
Beim OTP wird jeder Klartext-Buchstabe mit einem unabhängigen zufälligen Schlüssel-Buchstaben kombiniert. Zu einem gegebenen Chiffretext $c$ existiert für jeden möglichen Klartext $m$ genau ein Schlüssel $k = c - m$, der diesen Klartext erzeugt hätte. Der Angreifer erhält also aus $c$ keinerlei Information über $m$ (Shannon: „perfect secrecy").
Bedingungen:
- Schlüssel ist echt zufällig (kein Pseudozufall).
- Schlüssellänge $\geq$ Klartextlänge.
- Schlüssel wird nur einmal verwendet – bei Wiederverwendung („two-time pad") kann man beide Nachrichten durch XOR/Differenz angreifen.
F6Was ist der Koinzidenzindex und wie hilft er bei der Kryptoanalyse?
Der Koinzidenzindex $I = \frac{\sum n_i(n_i-1)}{N(N-1)}$ ist die Wahrscheinlichkeit, dass zwei zufällig aus einem Text gezogene Zeichen gleich sind.
Referenzwerte: deutsch $\approx 0{,}076$, englisch $\approx 0{,}065$, rein zufällig $\approx 0{,}038$.
Nutzen:
- Bei monoalphabetischer Substitution bleibt $I$ erhalten → hoher $I$ verrät die Klartextsprache.
- Bei polyalphabetischen Chiffren (Vigenère) sinkt $I$ zunächst auf $\approx 0{,}04$. Zerlegt man den Text in $n$ Spalten (bei angenommener Schlüssellänge $n$) und misst pro Spalte, steigt $I$ auf $\approx 0{,}076$, sobald $n$ stimmt (Friedman-Test).
F7Kann man durch zweifache Anwendung einer affinen Chiffre die Sicherheit erhöhen?
Nein. Zwei affine Chiffren hintereinander ergeben wieder eine affine Chiffre:
$E_{k_2}(E_{k_1}(x)) = a_2(a_1 x + b_1) + b_2 = (a_2 a_1)\,x + (a_2 b_1 + b_2) \pmod{26}$
Setze $a' = a_2 a_1 \bmod 26$ und $b' = a_2 b_1 + b_2 \bmod 26$ – das ist wieder ein affiner Schlüssel $(a', b')$. Die Gruppe der affinen Abbildungen ist unter Komposition abgeschlossen. Der effektive Schlüsselraum bleibt bei 312.
Analog gilt: Doppelte Caesar-Chiffre = einfache Caesar-Chiffre mit $k = k_1 + k_2$.
F8Unterschied zwischen mono- und polyalphabetischer Substitution?
Monoalphabetisch: Jeder Klartext-Buchstabe wird immer auf denselben Chiffretext-Buchstaben abgebildet. Beispiele: Caesar, affine Chiffre, allgemeine Substitution. Buchstabenhäufigkeit im Chiffretext = im Klartext → durch Häufigkeitsanalyse leicht knackbar.
Polyalphabetisch: Derselbe Klartext-Buchstabe wird an verschiedenen Positionen unterschiedlich verschlüsselt (mehrere Substitutionsalphabete). Beispiele: Vigenère, One-Time-Pad. Häufigkeitsverteilung wird eingeebnet → einfache Häufigkeitsanalyse versagt, aber Kasiski-Test / Friedman-Test / Koinzidenzindex greifen bei kurzen Schlüsselwörtern.
F9Welche Angriffsarten unterscheidet man?
- Ciphertext-only: Angreifer hat nur Chiffretexte. Schwächstes Modell – Chiffre muss selbst dagegen sicher sein.
- Known-plaintext: Angreifer kennt Paare $(m, c)$. Historisch entscheidend beim Brechen der Enigma (bekannte Wetterberichte).
- Chosen-plaintext (CPA): Angreifer darf beliebige $m$ verschlüsseln lassen. Modell für Public-Key-Chiffren.
- Chosen-ciphertext (CCA): Angreifer darf beliebige $c$ (außer dem Ziel-$c$) entschlüsseln lassen. Stärkstes Modell – moderne Chiffren müssen CCA-sicher sein.
F10Warum sagt großer Schlüsselraum nichts über Sicherheit aus? (Beispiel Substitutionschiffre)
Die allgemeine Substitutionschiffre hat $26! \approx 4 \cdot 10^{26}$ Schlüssel – Brute-Force ist ausgeschlossen. Trotzdem ist sie unsicher, weil die Klartextstruktur erhalten bleibt: Häufigkeitsverteilung, Bigramme („ch", „en", „er"), Trigramme, Wortlängen. Ein Angreifer analysiert Häufigkeiten und ordnet Chiffretext-Zeichen den erwarteten Klartext-Buchstaben zu – in wenigen Minuten geknackt.
Merksatz: Sicherheit hängt von der Struktur der Chiffre und der Klartextsprache ab, nicht nur von der Schlüsselraumgröße.