Kryptologie
~~~graph-easy --as=boxart
[ Kryptos (verborgen)] ---- [ Kryptologie ]
[ Logos (Lehre)] ---- [ Kryptologie ]
~~~2
3
4
Welche Bedeutung hat Kryptologie in unserem Alltag
- Kommunikation
- Sicherheit vor Beeinflussung
- Sicherheit vor (Daten-) Diebstahl
- Recht auf Privatsphäre
Ohne Verschlüsselung → keine sichere Kommunikation!
~~~graph-easy --as=boxart
[ Handy A ] ---- [ Server ]
[ Server ] ---- [ Handy B ]
~~~2
3
4
Militärische Bedeutung
Ukraine-Krieg 2022-2024:
- Ukrainische Streitkräfte nutzen AES-256 verschlüsselte Funkgeräte
- Russische Cyberangriffe gegen ukrainische Satellitenkommunikation
- WhisperGate-Malware zur Zerstörung ukrainischer Systeme (Januar 2022)
Cyber als Waffe:
- 13 Cyberangriffe pro Sekunde weltweit auf kritische Infrastruktur (2023)
- Verschlüsselung als Schutz und als Angriffswaffe
Quellen: CISA, Estonian Intelligence
Volkswirtschaftliche Bedeutung
Ransomware-Kosten 2024:
- Globale Schäden: 9,5 Billionen USD pro Jahr
Kritische Infrastruktur am härtesten getroffen:
- 70% aller Cyberangriffe zielen auf kritische Infrastruktur
- Gesundheitswesen: 444 Vorfälle in 2024, 170 Mio. Patientendaten betroffen
Quellen: eSentire, IBM Healthcare Report
Beispiel: Change Healthcare (2024)
Der größte Gesundheitsdaten-Hack aller Zeiten:
Was geschah?
- Februar 2024: Russische Gruppe ALPHV BlackCat greift an
- 190 Millionen Patientendaten gestohlen und verschlüsselt
- Krankenhäuser landesweit lahmgelegt (4 Wochen!)
Die Kosten:
- Lösegeld: 22 Millionen USD
- Gesamtschaden: 2,4 Milliarden USD
- Unbezahlbar: Verzögerte medizinische Versorgung
feh --scale-down ./assets/change-healthcare.pngQuelle: AHA, HIPAA Journal
Enigma: Verschlüsselung entschied den 2. Weltkrieg
- Deutsche Militär-Verschlüsselungsmaschine
- Galt als "unknackbar"
- Alan Turing (Bletchley Park) knackte den Code
- Verkürzte den Krieg um ca. 2 Jahre
- Rettete schätzungsweise 14 Millionen Leben
feh ./assets/enigma.jpgEnigma: Wie sah das aus?
Die Enigma-Maschine:
- Tastatur zum Eingeben
- Walzen zum Verschlüsseln
- Lampenpanel zeigt verschlüsselten Buchstaben
- Täglich wechselnde Einstellungen
Beispiel: Drücke "H" → Lampe "X" leuchtet auf Jeder Tastendruck ändert die Walzenposition!
feh ./assets/enigma-wiring.pngHeute: Der Kampf um Verschlüsselung & Privatsphäre
Die Frage: Sicherheit für alle vs. Überwachung für die Sicherheit?
feh ./assets/cook-fbi.jpgWichtige Begriffe
Klartext
- Die ursprüngliche, unverschlüsselte Nachricht
- Beispiel: "Treffen um 15 Uhr"
Geheimtext (Chiffretext)
- Die verschlüsselte Form
- Beispiel: "Wuhiihq xp rt Xku"
Wichtige Begriffe (2)
Schlüssel
- Geheime Information zum Ver- und Entschlüsseln 🔑
Verschlüsselung
- Der Prozess: Klartext + Schlüssel → Geheimtext
Achtung: Verschlüsselung vs Codierung!
Wichtige Begriffe (3)
Schlüsselraum
- Alle möglichen Schlüssel für eine Methode
- Vergleich:
- Alte verfahren: +-25 mögliche Schlüssel
- Modernes AES-256: 2²⁵⁶ Möglichkeiten (77-stellige Zahl!)
Je größer der Schlüsselraum, desto besser!
Antike Verschlüsselung
Die Geschichte der Kryptologie
Skytale (500 v. Chr.)
Die spartanische Lösung:
- Holzstab mit bestimmtem Durchmesser
- Lederband um den Stab wickeln
- Nachricht längs aufschreiben
- Band abwickeln → wirre Buchstaben!
Besonderheit: Transpositionsverfahren (Buchstaben bleiben gleich, nur die Reihenfolge ändert sich)
feh ./assets/skytale.pngSkytale: Beispiel
Vorgang:
- Nachricht: "ANGRIFF UM MITTERNACHT"
- Um Stab wickeln und aufschreiben
- Abwickeln
Ergebnis:
A I T M G T I R E F N F C U H M T A R N C HSchwäche: Nur wenige praktische Stabdurchmesser → einfach ausprobieren!
Polybios-Quadrat (150 v. Chr.)
Vom Griechen Polybios erfunden:
- Buchstaben in 5×5-Quadrat
- Jeder Buchstabe → Koordinaten (Zeile, Spalte)
Vorteil: Echte Substitution (Buchstaben werden verändert) Nachteil: Kein echter Schlüssel, immer gleich aufgebaut
Das Polybios-Quadrat
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| 1 | A | B | C | D | E |
| 2 | F | G | H | I | K |
| 3 | L | M | N | O | P |
| 4 | Q | R | S | T | U |
| 5 | W | X | Y | Z |
Polybios: Beispiel
# Polybios-Quadrat
quadrat = [
['A', 'B', 'C', 'D', 'E'],
['F', 'G', 'H', 'I', 'K'],
['L', 'M', 'N', 'O', 'P'],
['Q', 'R', 'S', 'T', 'U'],
['V', 'W', 'X', 'Y', 'Z']
]
klartext = "HALLO"
geheimtext = ""
for buchstabe in klartext:
for i, zeile in enumerate(quadrat):
if buchstabe in zeile:
j = zeile.index(buchstabe)
geheimtext += str(i+1) + str(j+1)+ " "
print(f"Klartext: {klartext}")
print(f"Geheimtext: {geheimtext}")2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Caesar-Verschlüsselung (100 v. Chr.)
Julius Caesar's Methode:
- Jeder Buchstabe um feste Anzahl verschoben
- Diese Zahl = der Schlüssel
- Caesar benutzte Schlüssel 3
Vorteil gegenüber Polybios: Endlich ein echter Schlüssel!
Schwäche: Nur 25 mögliche Schlüssel → Brute-Force!
feh ./assets/caesar-chiffre.svgCaesar: Beispiel
# Caesar-Verschlüsselung
def caesar(text, schluessel):
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ergebnis = ""
for buchstabe in text:
if buchstabe in alphabet:
alt_pos = alphabet.index(buchstabe)
neu_pos = (alt_pos + schluessel) % 26
ergebnis += alphabet[neu_pos]
else:
ergebnis += buchstabe
return ergebnis
klartext = "HALLO"
schluessel = 3
geheimtext = caesar(klartext, schluessel)
print(f"Klartext: {klartext}")
print(f"Schlüssel: {schluessel}")
print(f"Geheimtext: {geheimtext}")2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Monoalphabetische Substitution
Die Verbesserung:
- Nicht nur verschieben, sondern zufällig ersetzen!
- Jeder Buchstabe → beliebiger anderer Buchstabe
Beispiel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M2
3
Schlüsselraum: 26! = 403 Septillionen Möglichkeiten!
Sicher??
Monoalphabetische Substitution: Code
# Allgemeine monoalphabetische Substitution
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
schluessel = "QWERTYUIOPASDFGHJKLZXCVBNM"
klartext = "HALLO WELT"
geheimtext = ""
for buchstabe in klartext:
if buchstabe in alphabet:
pos = alphabet.index(buchstabe)
geheimtext += schluessel[pos]
else:
geheimtext += buchstabe
print(f"Klartext: {klartext}")
print(f"Geheimtext: {geheimtext}")2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Das Problem: Häufigkeitsanalyse
Al-Kindi (9. Jahrhundert) entdeckte:
- In jeder Sprache: manche Buchstaben häufiger als andere
- Im Deutschen: E (17%), N (10%), I (8%), S (7%), R (7%)
- Diese Häufigkeit bleibt auch im Geheimtext!
Angriff:
- Häufigste Buchstaben im Geheimtext zählen
- Mit deutscher Häufigkeit vergleichen
- Zuordnungen raten und verfeinern
Ergebnis: 403 Septillionen Schlüssel, aber in Minuten geknackt!
feh ./assets/letters-german.jpgVigenère-Chiffre (16. Jahrhundert)
"Le chiffre indéchiffrable" - Die unknackbare Verschlüsselung
Die Idee:
- Mehrere Caesar-Verschiebungen kombinieren!
- Schlüsselwort bestimmt die Verschiebungen
- Gleicher Buchstabe wird unterschiedlich verschlüsselt
Beispiel:
Klartext: H A L L O
Schlüssel: S C H L U (wiederholt)
↓ ↓ ↓ ↓ ↓
Geheimtext: Z C S W I2
3
4
Das Vigenère Quadrat
feh ./assets/vigenere-example.pngVigenère: Code
# Vigenère-Verschlüsselung
def vigenere(klartext, schluessel):
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
geheimtext = ""
schluessel_pos = 0
for buchstabe in klartext:
if buchstabe in alphabet:
# Position im Alphabet
k_pos = alphabet.index(buchstabe)
# Schlüsselbuchstabe
s_buchstabe = schluessel[schluessel_pos % len(schluessel)]
verschiebung = alphabet.index(s_buchstabe)
# Verschlüsseln
neu_pos = (k_pos + verschiebung) % 26
geheimtext += alphabet[neu_pos]
schluessel_pos += 1
else:
geheimtext += buchstabe
return geheimtext
klartext = "HALLO WELT"
schluessel = "SCHLUESSEL"
geheimtext = vigenere(klartext, schluessel)
print(f"Klartext: {klartext}")
print(f"Schlüssel: {schluessel}")
print(f"Geheimtext: {geheimtext}")2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Kasiski-Test: Vigenère knacken (1863)
Friedrich Kasiski fand die Schwachstelle:
- Wiederholungen finden im Geheimtext
- Abstand messen zwischen Wiederholungen
- Schlüssellänge bestimmen (gemeinsamer Teiler)
- Text aufteilen in Spalten (Länge = Schlüssellänge)
- Häufigkeitsanalyse auf jede Spalte einzeln
Warum funktioniert das? Jede Spalte = nur eine Caesar-Verschiebung!
Die Lehre aus der Geschichte
Fortschritt der Verschlüsselung:
- Skytale → Polybios → Caesar → Substitution → Vigenère
- Jede Methode verbesserte die vorherige
- Jede wurde irgendwann geknackt
Wichtige Erkenntnisse:
- Großer Schlüsselraum allein reicht nicht
- Muster im Klartext dürfen nicht im Geheimtext erkennbar bleiben
- Sicherheit ist ein ständiger Wettlauf
Heute: Moderne Computer + Mathematik = noch sicherere Methoden
Symmetrische Verschlüsselung
- Symmetrisch = Gleicher Schlüssel zum Ver- und Entschlüsseln!
- Sprung ins digitale Zeitalter
Reminder -> Computer kennt nur 0 und 1
- Verschlüsselung passiert immer auf binärer Form
- Kompletter Ablauf:
- Codierung zu binär
- Verschlüsselung
- Versenden
- Entschlüsseln
- Decodieren zu [Text, Bild, Ton, etc.]
Text → Binär: ASCII-Codierung
Jedes Zeichen hat einen numerischen Code:
| Zeichen | ASCII | Binär (8-Bit) |
|---|---|---|
| A | 65 | 01000001 |
| H | 72 | 01001000 |
| a | 97 | 01100001 |
Beispiel: "Hi"
H → 01001000
i → 011010012
Text → Binär: Code
# Text zu Binär
text = "Hi"
for buchstabe in text:
ascii_wert = ord(buchstabe)
binaer = bin(ascii_wert)[2:].zfill(8)
print(f"{buchstabe} → ASCII {ascii_wert} → {binaer}")2
3
4
5
6
7
Ausgabe:
H → ASCII 72 → 01001000
i → ASCII 105 → 011010012
XOR - Die Basis moderner Verschlüsselung
XOR (Exklusives ODER):
| Bit 1 | Bit 2 | Ergebnis |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Regel: Ergebnis = 1, wenn Bits unterschiedlich sind
XOR-Verschlüsselung
Verschlüsseln:
Klartext (H): 01001000
Schlüssel: 01001011
⊕ XOR
Geheimtext: 000000112
3
4
Entschlüsseln:
Geheimtext: 00000011
Schlüssel: 01001011
⊕ XOR
Klartext (H): 010010002
3
4
Magische Eigenschaft: Ver- und Entschlüsselung identisch!
XOR mit Schlüsselwiederholung
Problem: Schlüssel kürzer als Text? Lösung: Schlüssel wiederholen!
Text: 01001000 01100001 01101100 (Hal)
Schlüssel: 10101010 10101010 10101010 (wiederholt)
⊕ XOR
Geheimtext: 11100010 11001011 110001102
3
4
Achtung: Wiederholung = Schwachstelle! → Muster können erkennbar werden
Problem: ECB-Modus (Electronic Codebook)
Beispiel - Gleiche Blöcke bleiben erkennbar:
Klartext: EINE SEHR KLEINE SENSATION
Geheimtext: @-. ZFVMHUXI@-. ZFVKITGLU,2
Was fällt auf?
- "EINE" → "@-. " (beide Male!)
- Gleicher Klartext-Block → gleicher Geheimtext-Block
- Muster bleiben sichtbar 🚨
Schwachstellen:
- Angreifer erkennt Wiederholungen
- Blöcke können manipuliert werden
XOR-Verschlüsselung: Code
# XOR-Verschlüsselung
def xor_encrypt(text_bits, key_bits):
result = ""
for i in range(len(text_bits)):
# Schlüssel wiederholen
text_bit = text_bits[i]
key_bit = key_bits[i % len(key_bits)]
# XOR
result += '0' if text_bit == key_bit else '1'
return result
text = "01001000" # H
key = "10101010"
geheimtext = xor_encrypt(text, key)
print(f"Klartext: {text}")
print(f"Schlüssel: {key}")
print(f"Geheimtext: {geheimtext}")2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CBC-Modus (Cipher Block Chaining)
Das Problem mit einfacher XOR Verschlüsselung:
- Gleiche Blöcke → gleicher Geheimtext
- Muster bleiben erkennbar
Die Lösung: Blöcke verketten!
~~~graph-easy --as=boxart
[ Block 1 ] --> [ Block 2 ] --> [ Block 3 ]
~~~2
3
- Jeder Block hängt vom vorherigen ab!
CBC: Der Prozess
Block 1:
Klartext Block 1 ⊕ IV → Ergebnis ⊕ Schlüssel = Geheimtext 1Block 2:
Klartext Block 2 ⊕ Geheimtext 1 → Ergebnis ⊕ Schlüssel = Geheimtext 2Block 3:
Klartext Block 3 ⊕ Geheimtext 2 → Ergebnis ⊕ Schlüssel = Geheimtext 3Initialisierungsvektor (IV)
Warum brauchen wir einen IV?
- Erster Block hat keinen "vorherigen" Geheimtext
- IV = zufällige Bitfolge für den Start
- Jede Nachricht bekommt neuen IV
Wichtig:
- IV muss nicht geheim sein
- IV wird mit Geheimtext übertragen
- IV sorgt dafür: gleiche Nachricht → unterschiedlicher Geheimtext
CBC: Visualisierung
Block 1:
┌─────────────┐
│ Klartext │ 01001000
└──────┬──────┘
│ ⊕
┌──────┴──────┐
│ IV │ 11110000
└──────┬──────┘
│ ⊕
┌──────┴──────┐
│ Schlüssel │ 10101010
└──────┬──────┘
│
┌──────▼──────┐
│ Geheimtext 1│ ──────┐
└─────────────┘ │
│
Block 2: │
┌─────────────┐ │
│ Klartext │ │
└──────┬──────┘ │
│ ⊕ ◄──────────┘
┌──────┴──────┐
│ Schlüssel │
└──────┬──────┘
│
┌──────▼──────┐
│ Geheimtext 2│
└─────────────┘2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Kerckhoffs'sches Prinzip (1883)
Die Sicherheit eines Verschlüsselungssystems darf nicht von der Geheimhaltung des Algorithmus abhängen, sondern nur von der Geheimhaltung des Schlüssels.
Was bedeutet das?
- ✅ Algorithmus (z.B. AES, CBC) darf öffentlich sein
- ✅ Nur der Schlüssel muss geheim bleiben
- ❌ "Security by Obscurity" funktioniert nicht
Warum ist Kerckhoffs wichtig?
Vorteile offener Algorithmen:
- Transparenz: Experten können Schwachstellen finden
- Vertrauen: Keine versteckten Hintertüren
- Standards: Ermöglicht globale Standards (AES, TLS)
- Bessere Sicherheit: Viele Augen = weniger Fehler
Beispiele heute:
- AES-256: Öffentlich dokumentiert, weltweit verwendet
- TLS/HTTPS: Offener Standard für sichere Kommunikation
Moderne Algorithmen: AES
Advanced Encryption Standard (2001):
- Blockgröße: 128 Bit
- Schlüssellänge: 128, 192 oder 256 Bit
- Mehrere Runden: 10, 12 oder 14
- Kombiniert: Substitution, Permutation, XOR
Verwendet von:
- HTTPS (sichere Websites)
- WhatsApp, Signal (verschlüsselte Messenger)
- Banken, Regierungen, Militär
AES-256: Praktisch unknackbar! (2²⁵⁶ Schlüssel)
Zusammenfassung: Moderne Symmetrische Verschlüsselung
Der Ablauf:
- Text → Binär (ASCII)
- Verschlüsselung mit XOR (und mehr)
- Block-Verkettung (CBC-Modus)
- Algorithmus öffentlich, Schlüssel geheim (Kerckhoffs)
Von Vigenère zu AES:
- Gleiche Grundidee: Symmetrische Verschlüsselung
- Moderne Umsetzung: Binär, mathematisch, sicher
- Basis unserer digitalen Sicherheit heute
Asymmetrische Verschlüsselung
Das fundamentale Problem der symmetrischen Verschlüsselung:
Wie tauscht man den Schlüssel sicher aus?
Das Schlüsselaustausch-Problem
Das Dilemma:
- Alice und Bob müssen sich auf einen Schlüssel einigen
- Der Schlüssel muss geheim bleiben
- Aber wie bekommt Bob den Schlüssel, ohne dass ein Angreifer ihn abfängt?
~~~graph-easy --as=boxart
[ Alice ] ---- Schlüssel??? ---- [ Bob ]
~~~2
3
Wenn Alice den Schlüssel über das Internet schickt, kann ein Angreifer ihn einfach mitlesen!
Die Revolution: 1976
Whitfield Diffie und Martin Hellman:
Was wäre, wenn es zwei verschiedene Schlüssel gäbe?
Das Konzept:
- Öffentlicher Schlüssel (Public Key): Darf jeder kennen, zum Verschlüsseln
- Privater Schlüssel (Private Key): Muss geheim bleiben, zum Entschlüsseln
feh ./assets/key-pair.svgDie magische Eigenschaft
Was mit dem öffentlichen Schlüssel verschlüsselt wird, kann nur mit dem zugehörigen privaten Schlüssel entschlüsselt werden!
Alice verschlüsselt mit Bobs öffentlichem Schlüssel
↓
Nur Bob kann mit seinem privaten Schlüssel entschlüsseln2
3
Selbst wenn jeder den öffentlichen Schlüssel kennt, kann niemand damit entschlüsseln!
Die Briefkasten-Analogie
Stell dir Bobs öffentlichen Briefkasten vor:
- Jeder kann einen Brief einwerfen (verschlüsseln mit Public Key)
- Aber nur Bob hat den Schlüssel zum Öffnen (Private Key)
- Selbst die Person, die den Brief eingeworfen hat, kann ihn nicht mehr herausholen!
feh ./assets/asymm-encryption.svgEntscheidend
Der Schlüssel kann nicht vom Schloss nachgebaut werden
Aufgabe Teil 1
Berechne 41 * 83 auf Papier. Wie lange brauchst du? Wie gehst du vor?
Aufgabe Teil 2
Schaffst du es, die Zahl 3397 in Ihre zwei Primfaktoren zu zerlegen? Und 1117?
RSA-Verschlüsselung (1977)
Rivest, Shamir und Adleman:
Zwei große Primzahlen zu multiplizieren ist einfach - aber das Ergebnis wieder in die ursprünglichen Primzahlen zu zerlegen ist extrem schwer!
feh ./assets/key-pair-generation.svgRSA Schlüsselerzeugung: Schritt 1-2
Schritt 1: Zwei Primzahlen wählen
- p = 11
- q = 13
Schritt 2: n berechnen
- n = p × q = 11 × 13 = 143
Diese Zahl n ist Teil des öffentlichen Schlüssels. Bei sehr großen Zahlen würde die Faktorisierung Millionen Jahre dauern!
RSA Schlüsselerzeugung: Schritt 3-5
Schritt 3: φ(n) berechnen
- φ(n) = (p-1) × (q-1) = 10 × 12 = 120
Schritt 4: Öffentlichen Exponenten e wählen
- e = 7 (teilerfremd zu φ(n))
Schritt 5: Privaten Exponenten d berechnen
- d = 103 (sodass (e × d) mod φ(n) = 1)
RSA: Das Ergebnis
Öffentlicher Schlüssel: (e=7, n=143) → Darf jeder kennen
Privater Schlüssel: (d=103, n=143) → Muss geheim bleiben
Wichtig: Die Primzahlen p und q werden sofort gelöscht - niemand darf sie kennen!
RSA: Verschlüsselung und Entschlüsselung
Nachricht vorbereiten: Zahl 42
Verschlüsseln (Alice mit Bobs Public Key):
Geheimtext = 42^7 mod 143 = 100Entschlüsseln (Bob mit seinem Private Key):
Klartext = 100^103 mod 143 = 42Warum ist RSA sicher?
Primfaktorzerlegung:
Gegeben eine große Zahl n, finde die beiden Primzahlen p und q.
Beispiel:
- Einfach: 143 = 11 × 13
- Schwer: Eine 617-stellige Zahl faktorisieren würde selbst mit den schnellsten Supercomputern länger dauern als das Alter des Universums!
Solange niemand einen schnellen Algorithmus findet, bleibt RSA sicher.
Das Problem: Asymmetrisch ist langsam! 🐌
Vergleich:
- AES (symmetrisch): Verschlüsselt Gigabytes pro Sekunde
- RSA (asymmetrisch): Verschlüsselt Kilobytes pro Sekunde
100-1000 mal langsamer!
Stell dir vor, du willst ein HD-Video verschlüsselt übertragen - mit RSA würde das Stunden dauern statt Sekunden!
Die Lösung: Hybride Verschlüsselung
Das Beste aus beiden Welten:
feh ./assets/symm-asymm-encryption.svgHybride Verschlüsselung: Der Ablauf
Schritt 1: Alice erzeugt zufälligen AES-Schlüssel
Schritt 2: Alice verschlüsselt AES-Schlüssel mit Bobs Public Key (RSA)
Schritt 3: Alice verschlüsselt Nachricht mit AES-Schlüssel
Schritt 4: Alice sendet verschlüsselten AES-Schlüssel + verschlüsselte Nachricht
Schritt 5: Bob entschlüsselt AES-Schlüssel mit Private Key (RSA)
Schritt 6: Bob entschlüsselt Nachricht mit AES-Schlüssel
Vorteile der Hybriden Verschlüsselung
- ✅ Kein Schlüsselaustausch-Problem - Der AES-Schlüssel wird sicher übertragen
- ✅ Schnell - Nur der kleine Schlüssel wird mit RSA verschlüsselt
- ✅ Sicher - Kombiniert die Stärken beider Verfahren
- ✅ Praktisch - Wird überall verwendet
Wo begegnet dir das jeden Tag?
HTTPS (Sichere Webseiten):
- Browser holt öffentlichen Schlüssel des Servers
- Einigung auf AES-Schlüssel (verschlüsselt mit RSA)
- Alle Daten werden mit AES verschlüsselt
WhatsApp, Signal, Telegram:
- Jedes Gerät hat RSA-Schlüsselpaar
- Für jede Nachricht neuer AES-Schlüssel
- Nur Sender und Empfänger können lesen
VPN, SSH, E-Mail (PGP):
- Hybride Verschlüsselung für sichere Verbindungen
Zusammenfassung: Asymmetrische Verschlüsselung
Von Symmetrisch zu Asymmetrisch:
- Symmetrisch: Schnell, aber Schlüsselaustausch-Problem
- Asymmetrisch: Löst Schlüsselaustausch, aber langsam
- Hybrid: Kombiniert beide = perfekte Lösung!
RSA basiert auf:
- Primfaktorzerlegung ist extrem schwer
- Zwei Schlüssel: Public (verschlüsseln) & Private (entschlüsseln)
Unsere digitale Welt wäre ohne hybride Verschlüsselung nicht möglich!