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

SchutzzielBedeutung
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 SecrecySelbst 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:

  1. Schlüssel ist echt zufällig.
  2. Schlüssel ist mindestens so lang wie der Klartext.
  3. 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):

Buchstabeenisrat
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)}$

TextKoinzidenzindex
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)

ModellWas der Angreifer hat
Ciphertext-onlyNur Chiffretexte. Schwächstes Angreifer-Modell.
Known-plaintextPaare $(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

Kerckhoffs-Prinzip
Die Sicherheit eines Verfahrens darf nur vom Schlüssel abhängen, nicht von der Geheimhaltung des Algorithmus. „Security by obscurity" ist keine Sicherheit.
Schlüsselraum ≠ Sicherheit
Substitutionschiffren haben $26! \approx 4 \cdot 10^{26}$ Schlüssel und sind trotzdem in Minuten geknackt. Struktur der Klartextsprache (Häufigkeiten) ist die Schwachstelle.
Teilerfremdheit bei affiner Chiffre
$a$ und $26$ müssen teilerfremd sein, damit die Verschlüsselung bijektiv und damit umkehrbar ist. Sonst würden verschiedene Klartext-Buchstaben auf denselben Chiffretext-Buchstaben abgebildet.
Kombination affiner Chiffren
Zwei affine Chiffren hintereinander ergeben wieder eine affine Chiffre: $a_2(a_1 x + b_1) + b_2 = (a_2 a_1) x + (a_2 b_1 + b_2) \bmod 26$. Die Sicherheit steigt nicht – der Schlüsselraum bleibt bei 312.
OTP = perfekte Sicherheit
Nur das One-Time-Pad ist informationstheoretisch sicher. Alle anderen Verfahren sind nur rechenaufwandsmäßig sicher (bei genügend Rechenzeit knackbar).
Perfect Forward Secrecy
Auch wenn ein Langzeitschlüssel eines Servers Jahre später kompromittiert wird, bleiben ältere abgefangene Sitzungen entschlüsselbar-sicher – erreicht durch ephemere Schlüssel (z.B. DH mit frischem Exponenten pro Session).

🖊️ 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.

AB CD EF GH IJ KL M
0 1 2 3 4 5 6 7 8 9 10 11 12
NO PQ RS TU VW XY 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\}$.

  1. Klartext in Großbuchstaben schreiben, Leerzeichen und Satzzeichen streichen.
  2. Jeden Buchstaben mit der Tabelle in eine Zahl übersetzen.
  3. Auf jede Zahl den Schlüssel $k$ addieren.
  4. Falls das Ergebnis $\geq 26$ ist, ziehe 26 ab (das ist die Modulo-Operation).
  5. 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.

Faustregel
Cäsar mit $k=3$ verschiebt jeden Buchstaben um drei Plätze nach rechts im Alphabet. A→D, B→E, …, X→A, Y→B, Z→C. Bei Überlauf einfach 26 abziehen.

2. Cäsar entschlüsseln

Formel: $m_i = (c_i - k) \bmod 26$. Wenn negativ, addiere 26.

  1. Chiffrat in Zahlen übersetzen.
  2. Von jeder Zahl den Schlüssel $k$ abziehen.
  3. Falls Ergebnis negativ, addiere 26 (Modulo-Trick rückwärts).
  4. 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.

Faustregel
Entschlüsseln mit $k$ ist dasselbe wie Verschlüsseln mit $26-k$. Wer sich nur Additionen merken will, verschlüsselt zum Entschlüsseln einfach mit $26-k$.

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.

  1. Nimm die ersten 4–6 Buchstaben des Chiffrats — mehr brauchst du fast nie.
  2. Schreibe eine Tabelle: linke Spalte $k=0,1,2,\dots,25$, rechts die Entschlüsselung mit diesem $k$.
  3. Für jede Zeile: ziehe $k$ von jedem Chiffrat-Buchstaben ab (mod 26).
  4. Scanne die rechte Spalte nach einem lesbaren deutschen Wort.
  5. 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$.

Faustregel
Bei Cäsar hilft Brute-Force immer. 26 Zeilen, ein Blick pro Zeile. Wenn Buchstabengruppen wie SCH, EIN, DER, UND auftauchen, bist du richtig.

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.

  1. Zähle im Chiffrat, wie oft jeder Buchstabe vorkommt (Strichliste).
  2. Finde den häufigsten Chiffrat-Buchstaben $x$.
  3. Vermute: $x$ entspricht dem Klartext-E.
  4. Berechne $k = (x - \text{E}) \bmod 26 = (x - 4) \bmod 26$.
  5. Entschlüssele das ganze Chiffrat mit diesem $k$ und prüfe, ob deutscher Text herauskommt.
  6. 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$.

Faustregel
Häufigster Buchstabe im deutschen Chiffrat ist fast immer E. Differenz zum E ($k = x - 4 \bmod 26$) liefert den Cäsar-Schlüssel in einem Rechenschritt. Bei sehr kurzen Texten (unter 30 Zeichen) wird Brute-Force zuverlässiger als Häufigkeitsanalyse.

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.

  1. Schlüsselwort direkt unter den Klartext schreiben, so oft wiederholen bis alle Klartext-Buchstaben ein Schlüssel-Zeichen darunter haben.
  2. Beide Zeilen in Zahlen übersetzen.
  3. Spaltenweise addieren.
  4. Modulo 26 (also $-26$ falls Ergebnis $\geq 26$).
  5. 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.

Faustregel
Vigenère ist einfach mehrere Cäsars nebeneinander: jede Spalte hat ihren eigenen Verschiebe-Schlüssel. Wenn du das Schlüsselwort sauber untereinanderschreibst, machst du keine Ausrichtungsfehler.

6. Vigenère entschlüsseln

Formel: $m_i = (c_i - k_{i \bmod \ell}) \bmod 26$. Falls negativ, $+26$.

  1. Schlüsselwort unter das Chiffrat schreiben, zyklisch wiederholen.
  2. Beide Zeilen in Zahlen übersetzen.
  3. Spaltenweise Chiffrat minus Schlüssel rechnen.
  4. Bei negativem Ergebnis $+26$.
  5. 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.

Faustregel
Beim Entschlüsseln immer prüfen: wird die Differenz negativ, sofort $+26$ dazu. Das ist die häufigste Fehlerquelle in der Klausur — ein einziger vergessener Overflow und die ganze Zeile ist Müll.

🧮 Rechenaufgaben mit Lösung

Klick auf eine Aufgabe, um den vollständigen Lösungsweg zu sehen.

R1Caesar-Verschlüsselung: „HALLO" mit $k=3$
Aufgabe: Verschlüssele den Klartext „HALLO" mit einer Caesar-Chiffre mit Schlüssel $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$
H710K
A03D
L1114O
L1114O
O1417R
Chiffretext: KDOOR
R2Affine Chiffre entschlüsseln: $k=(9,13)$
Aufgabe: Gegeben ist die affine Chiffre mit Schlüssel $k=(a,b)=(9,13)$ und der Chiffretext „NCNFZ". Bestimme den Klartext.

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$
N13000A
C2-11-33-33 + 52 = 19T
N13000A
F5-8-24-24 + 26 = 2C
Z25123636 - 26 = 10K
Klartext: ATACK (bzw. „attack" – der Angriff)

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
Aufgabe: Wie viele gültige Schlüssel $k=(a,b)$ hat die affine Chiffre über dem 26-Buchstaben-Alphabet?

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$

312 gültige Schlüssel

Zieht man den trivialen Schlüssel $(a,b)=(1,0)$ (Identität) ab, bleiben 311 nicht-triviale.

R4Vigenère verschlüsseln: „GEHEIM" mit „AB"
Aufgabe: Verschlüssele den Klartext „GEHEIM" mit dem Vigenère-Schlüsselwort „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$ IndexSumme $\bmod 26$$c_i$
1G6A06G
2E4B15F
3H7A07H
4E4B15F
5I8A08I
6M12B113N
Chiffretext: GFHFIN
R5One-Time-Pad – Beweisbarkeit
Aufgabe: Gegeben Chiffretext $c$ = „XZTTREEF" (8 Zeichen). Zeige: Jeder beliebige 8-Zeichen-Klartext (z.B. „ATTACKAT" oder „RETREAT!" ohne Sonderzeichen: „RETREATX") kann durch einen passenden OTP-Schlüssel erklärt werden.

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$
1X (23)A (0)23 = X
2Z (25)T (19)6 = G
3T (19)T (19)0 = A
4T (19)A (0)19 = T
5R (17)C (2)15 = P
6E (4)K (10)-6 + 26 = 20 = U
7E (4)A (0)4 = E
8F (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$
1X (23)R (17)6 = G
2Z (25)E (4)21 = V
3T (19)T (19)0 = A
4T (19)R (17)2 = C
5R (17)E (4)13 = N
6E (4)A (0)4 = E
7E (4)T (19)-15 + 26 = 11 = L
8F (5)X (23)-18 + 26 = 8 = I

Schlüssel B = GVACNELI. Ebenfalls plausibel.

Fazit: Bei perfektem OTP existiert für jeden möglichen Klartext ein Schlüssel. Der Angreifer kann nicht entscheiden, welcher Klartext richtig ist → informationstheoretisch sicher.
R6Koinzidenzindex berechnen
Aufgabe: Berechne den Koinzidenzindex $I$ des 10-Zeichen-Textes „ABRAKADABR". Interpretation?

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)$
A44·3 = 12
B22·1 = 2
R22·1 = 2
K11·0 = 0
D11·0 = 0
Rest00

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$

$I \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:

  1. Schlüssel ist echt zufällig (kein Pseudozufall).
  2. Schlüssellänge $\geq$ Klartextlänge.
  3. 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.