Klassische Verfahren
Caesar und Vigenère verschieben Buchstaben — der eine immer gleich, der andere im Takt eines Schlüsselworts. Beide lassen sich mit Statistik knacken.
Caesar-Verfahren
Jeder Buchstabe wird um \( k \) Stellen zyklisch verschoben (nach Z kommt A). Monoalphabetisch: Gleicher Klartextbuchstabe gibt immer denselben Geheimtextbuchstaben. Nur 25 sinnvolle Schlüssel — Brute Force ist trivial.
Häufigkeitsanalyse
Im Deutschen ist E mit etwa 17,4 % am häufigsten, dann N, I, S, R, A. Häufigster Geheimtextbuchstabe ↔ E liefert \( k \). Klappt bei jedem monoalphabetischen Verfahren, braucht aber genug Text.
Vigenère-Verfahren
Ein Schlüsselwort wird periodisch unter den Klartext geschrieben; jeder Schlüsselbuchstabe verschiebt um seinen Wert (A = 0 … Z = 25). Polyalphabetisch: Gleiche Klartextbuchstaben werden verschieden verschlüsselt, die Häufigkeiten verflachen.
Vigenère knacken
Kasiski-Test: Abstände wiederholter Folgen (ab 3 Buchstaben) bestimmen, die Schlüssellänge teilt sie. Dann jeden \( n \)-ten Buchstaben zu einem Teiltext zusammenfassen und jeden Teiltext wie Caesar knacken.
\( s_i \) ist der Schlüsselbuchstabe an Position \( i \), das Schlüsselwort wird periodisch wiederholt und rückt nur bei Buchstaben weiter. Beispiel: WOLKE mit Schlüssel AB → WPLLE.
Das Vigenère-Quadrat lesen
Zeile = Schlüsselbuchstabe, Spalte = Klartextbuchstabe, im Schnittpunkt steht der Geheimtextbuchstabe. Entschlüsseln: in der Zeile des Schlüsselbuchstabens den Geheimtextbuchstaben suchen und den Spaltenkopf ablesen. Ist das Alphabet mit A = 1 … Z = 26 nummeriert, gilt Verschiebung = Nummer − 1.
Wann ist ein Verfahren sicher?
Nur ein zufälliger Schlüssel, so lang wie der Text und nur einmal verwendet (One-Time-Pad), macht Vigenère unknackbar. Je kürzer und öfter benutzt der Schlüssel, desto leichter greifen Kasiski-Test und Häufigkeitsanalyse.
Symmetrische Verfahren
Ein gemeinsamer Schlüssel für beide Richtungen: vom eigenen Python-Programm über moderne Blockchiffren wie AES bis zur Frage, wann ein Verfahren wirklich sicher ist.
Symmetrische Verfahren
Ein gemeinsamer geheimer Schlüssel zum Ver- und Entschlüsseln (Caesar, Vigenère, AES). Schnell, deshalb für große Datenmengen: Festplatte, WLAN, ZIP-Archiv. Nachteil: Der Schlüssel muss vorher sicher ausgetauscht werden.
Kerckhoffs und Schlüsselraum
Die Sicherheit darf nur von der Geheimhaltung des Schlüssels abhängen, nicht vom Verfahren. Ein großer Schlüsselraum schützt vor Brute Force — aber nicht vor cleveren Angriffen wie der Häufigkeitsanalyse.
Ein Verfahren implementieren
Buchstabe → Zahl mit ord(z) - 65 (A = 0 … Z = 25), verschieben mit (x + k) % 26, zurück mit chr(x + 65). Python-% liefert auch für negative Zahlen 0 … 25, z. B. \(-3 \bmod 26 = 23\). Bei Vigenère rückt ein eigener Zähler nur bei Buchstaben weiter: schluessel[i % len(schluessel)]. Erst entwerfen (Struktogramm), dann codieren, dann mit bekanntem Beispiel testen.
Moderne Blockchiffren
Daten werden in Blöcke fester Länge zerlegt und aufgefüllt (Padding). AES: 128-Bit-Blöcke, Schlüssel mit 128/192/256 Bit, 10/12/14 Runden. Jede Runde: Substitution über S-Box (Konfusion), Permutation/Mischen (Diffusion), XOR mit dem Rundenschlüssel. Lawineneffekt: 1 geändertes Bit ändert etwa die Hälfte der Ausgabebits.
Betriebsmodi ECB und CBC
ECB verschlüsselt jeden Block einzeln — gleiche Klartextblöcke ergeben gleiche Geheimtextblöcke, Muster bleiben sichtbar. CBC verknüpft jeden Klartextblock vorher per XOR mit dem vorigen Geheimtextblock, den ersten mit einem zufälligen Initialisierungsvektor (IV). XOR ist selbstinvers: \((p\oplus k)\oplus k=p\).
Sicherheit beurteilen
Angriffsszenarien: nur Geheimtext, bekannter Klartext, gewählter Klartext. Kriterien: Schlüsselraum (heute mindestens \(2^{128}\)), keine statistischen Spuren, Kerckhoffs, Schlüssel nie wiederverwenden, sichere Schlüsselverteilung und Implementierung. Bei bekanntem Klartext fallen Caesar und Vigenère sofort: Schlüssel = Geheimtext − Klartext.
Jede der \( n \) Personen braucht mit jeder der \( n-1 \) anderen einen Schlüssel, jedes Paar zählt nur einmal. Beispiel: 30 Personen → 435 geheime Schlüssel, die vorher sicher ausgetauscht werden müssen (Schlüsselaustauschproblem). Asymmetrisch genügen 30 Schlüsselpaare.
\( n_i \) ist die Anzahl des \( i \)-ten Buchstabens. \( I \) ist die Wahrscheinlichkeit, dass zwei zufällig gewählte Buchstaben gleich sind. Deutsch ≈ 0,076, Zufall ≈ 1/26 ≈ 0,0385. Monoalphabetische Verfahren lassen \( I \) unverändert, Vigenère senkt ihn, gute moderne Verfahren liegen bei Zufall.
Muster verraten auch starke Verfahren
AES im ECB-Modus ist so sicher wie jeder einzelne Block — aber gleiche Datensätze bleiben als gleiche Geheimtextblöcke erkennbar. Deshalb CBC (oder ein anderer verkettender Modus) mit zufälligem IV, der mitgeschickt werden darf.
Zufällig aussehen heißt nicht sicher
Ein Koinzidenzindex nahe 0,0385 zeigt nur, dass keine Buchstabenhäufigkeiten mehr durchscheinen. Ein Urteil braucht alle Kriterien: Angriffsszenarien, Schlüsselraum, Kerckhoffs, Schlüsselverwendung.
Asymmetrie und Signaturen
Ein Schlüsselpaar löst das Austauschproblem, hybride Verfahren machen es schnell; Hashwerte, Signaturen und Zertifikate sichern Echtheit und Herkunft.
Asymmetrische Verfahren
Jede Person hat ein Schlüsselpaar: öffentlich (für alle) und privat (geheim). Verschlüsselt wird mit dem öffentlichen Schlüssel des Empfängers, entschlüsseln kann nur dessen privater Schlüssel. Idee (RSA): Multiplizieren großer Primzahlen ist leicht, Faktorisieren schwer.
Hybride Verfahren
Daten symmetrisch mit einem zufälligen Sitzungsschlüssel, den Sitzungsschlüssel asymmetrisch mit dem öffentlichen Schlüssel des Empfängers. Schnell und ohne geheimen Vorab-Austausch — so arbeiten HTTPS/TLS, PGP, S/MIME und Messenger.
Hashfunktion
Bildet eine beliebig lange Nachricht auf einen Wert fester Länge ab (SHA-256: 256 Bit). Kleinste Änderung → völlig anderer Wert; nicht umkehrbar; Kollisionen praktisch nicht auffindbar.
Digitale Signatur
Absender bildet den Hashwert und verschlüsselt ihn mit seinem privaten Schlüssel. Empfänger entschlüsselt mit dem öffentlichen Schlüssel des Absenders, berechnet den Hashwert selbst und vergleicht.
Zertifikat
Bestätigt, dass ein öffentlicher Schlüssel zu einer Person oder Domain gehört: Inhaber, öffentlicher Schlüssel, Aussteller (CA), Gültigkeitszeitraum, Signatur der CA (Standard X.509). Schützt vor Man-in-the-Middle-Angriffen.
Vertrauenskette
Der Browser prüft das Serverzertifikat mit dem öffentlichen Schlüssel der Zwischen-CA, deren Zertifikat mit der Wurzel-CA. Wurzelzertifikate sind im Betriebssystem oder Browser vorinstalliert. Dazu: Zeitraum, Domainname, Widerruf.
Stimmen beide Werte überein, sind Integrität (unverändert), Authentizität (Absender echt) und Nichtabstreitbarkeit gesichert. Signiert wird der kurze Hashwert, nicht die ganze Nachricht — das spart Rechenzeit.
Wessen Schlüssel?
Vertraulich senden: öffentlicher Schlüssel des Empfängers. Wer mit dem eigenen privaten Schlüssel verschlüsselt, macht die Nachricht für jeden lesbar, der den eigenen öffentlichen Schlüssel kennt. Asymmetrisch ist deutlich langsamer als symmetrisch — deshalb hybrid.
Signatur ist nicht Verschlüsselung
Eine Signatur macht eine Nachricht nicht vertraulich — jeder kann sie lesen. Für Vertraulichkeit wird zusätzlich verschlüsselt. Das Schloss im Browser zeigt nur eine verschlüsselte Verbindung zum Inhaber des Zertifikats, nicht dass die Seite seriös ist.
Die Regeln, an denen die Punkte hängen
Die meisten Punkte gehen in Kryptologie-Klausuren nicht durch Rechenfehler verloren, sondern durch vertauschte Richtungen und ungenaue Schlüsselangaben.
Regel 1 — Richtung und Zählweise
Verschlüsseln addiert, Entschlüsseln zieht ab; \( k \) = häufigster Geheimtextbuchstabe − E. Gezählt wird mit A = 0; im Quadrat mit A = 1 gilt Nummer − 1. Kurze Kontrolle: Den ersten Buchstaben zurückrechnen.
Regel 2 — Schlüssel immer mit Besitzer nennen
Nicht „mit dem öffentlichen Schlüssel“, sondern „mit dem öffentlichen Schlüssel von Bob“. Verschlüsseln: öffentlich Empfänger. Signieren: privat Absender. Prüfen: öffentlich Absender.
Regel 3 — Sicherheit mit Kriterien beurteilen
Angriffsszenario benennen (nur Geheimtext, bekannter oder gewählter Klartext), dann Schlüsselraum (Brute Force), bekannte Angriffe (Häufigkeitsanalyse, Kasiski-Test, Koinzidenzindex, Man-in-the-Middle), Betriebsmodus, Schlüssellänge im Verhältnis zur Textlänge und Wiederverwendung prüfen — jeweils am konkreten Fall begründen und mit einem klaren Urteil schließen.
Regel 4 — Code mit Tracetabelle und Testfall prüfen
Bei Implementieren- und Fehlersuche-Aufgaben: erst den Ablauf planen, dann codieren, dann an einem bekannten Beispiel mit Leerzeichen testen. Typische Punktverluste: Schlüsselindex zählt Leerzeichen mit, % 26 fehlt, ord/chr ohne Umrechnung auf 0 … 25.
