mirror of
https://github.com/theoleuthardt/hwr-notes.git
synced 2026-06-06 01:21:09 +00:00
202 lines
No EOL
8.4 KiB
Markdown
202 lines
No EOL
8.4 KiB
Markdown
# Zusammenfassung: Kryptographie
|
||
|
||
**Vorlesung IT-Sicherheit – Gerrit Kalkbrenner, HWR Berlin, 2026**
|
||
|
||
---
|
||
## 1. Einführung
|
||
|
||
Kryptographie ist eine moderne, mathematisch geprägte Wissenschaft mit einer Geschichte von über 3.000 Jahren. Bekannte historische Beispiele sind das Babington-Komplott (1586), das Zimmermann-Telegramm (Erster Weltkrieg) und die Enigma-Entschlüsselung im Zweiten Weltkrieg. Heute ist Kryptographie allgegenwärtig – in Mobilfunk, EC-Karten, SSL/TLS, Bitcoin, Wegfahrsperren und vielen weiteren Bereichen.
|
||
|
||
> **Wichtig:** Kryptographie ≠ Sicherheit. Sie ist ein unverzichtbarer Baustein, aber kein vollständiger Ersatz für ein ganzheitliches Sicherheitskonzept.
|
||
|
||
---
|
||
|
||
## 2. Grundlagen der Verschlüsselung
|
||
|
||
### Begriffe
|
||
|
||
- **Klartext (Plaintext):** Die Originaldaten
|
||
- **Schlüsseltext / Chiffrat (Ciphertext):** Die transformierten, unlesbaren Daten
|
||
- **Verschlüsselung / Entschlüsselung:** Die mathematische Transformation und ihre Umkehrung
|
||
|
||
### Kryptographisches System (6-Tupel)
|
||
|
||
Ein Kryptosystem wird formal als **(M, C, KE, KD, E, D)** beschrieben:
|
||
|
||
- M = Klartextnachrichten, C = Kryptogramme
|
||
- KE / KD = Verschlüsselungs-/Entschlüsselungsschlüssel
|
||
- E / D = Ver-/Entschlüsselungsfunktion
|
||
|
||
**Grundprinzip (Kerckhoffs-Prinzip):** Der Algorithmus darf öffentlich bekannt sein – die Sicherheit beruht allein auf der Geheimhaltung des Schlüssels.
|
||
|
||
### Kryptoanalyse-Strategien
|
||
|
||
|Angriffsart|Beschreibung|
|
||
|---|---|
|
||
|**Ciphertext-only**|Nur der Schlüsseltext ist bekannt|
|
||
|**Known-plaintext**|Klartext-/Schlüsseltext-Paare verfügbar|
|
||
|**Chosen-plaintext**|Angreifer kann beliebige Klartexte verschlüsseln|
|
||
|**Brute Force**|Vollständige Schlüsselsuche (alle möglichen Schlüssel)|
|
||
|**Statistische Methoden**|Häufigkeitsanalyse von Buchstaben/Wörtern|
|
||
|**Trial & Error**|Reduktion des Schlüsselraums durch Teiltreffer|
|
||
|
||
### Sicherheitskategorien
|
||
|
||
- **Absolute Sicherheit:** Theoretisch unmöglich zu brechen (nur mit Einmal-Schlüssel/OTP)
|
||
- **Praktische/Rechnerische Sicherheit:** Brechen ist theoretisch möglich, aber praktisch nicht durchführbar
|
||
|
||
**Schlüssellängen und Brute-Force-Aufwand (Annahme: 10⁹ Versuche/s):**
|
||
|
||
|Schlüssellänge (Bit)|Aufwand (Jahre)|
|
||
|---|---|
|
||
|56|~1,14|
|
||
|64|~292|
|
||
|128|> 5 × 10²¹|
|
||
|256|> 10⁵⁹|
|
||
|
||
Aufgrund steigender Rechenleistung und Quantencomputer ist alle **10–15 Jahre** ein Wechsel der Algorithmen notwendig (64 Bit → 128 Bit AES → 256 Bit AES).
|
||
|
||
---
|
||
|
||
## 3. Elementarverschlüsselungen
|
||
|
||
### Einmal-Schlüssel (One-Time-Pad, OTP)
|
||
|
||
- Absolut sicheres Verfahren
|
||
- Schlüssel muss mindestens so lang wie die Nachricht sein
|
||
- Klartext und Schlüssel werden bitweise XOR-verknüpft
|
||
- Unpraktisch für den kommerziellen Einsatz (Schlüsselverteilungsproblem)
|
||
|
||
### Monoalphabetische Substitution
|
||
|
||
- Jedes Klartextzeichen wird durch ein festes anderes Zeichen ersetzt
|
||
- Leicht durch **Häufigkeitsanalyse** zu brechen (z. B. E = 17,4 % in Deutsch)
|
||
|
||
### Polyalphabetische Substitution (Vigenère)
|
||
|
||
- Verwendet mehrere Alphabete, gesteuert durch einen Schlüssel
|
||
- Verdeckt Häufigkeiten besser, aber bei langen Texten durch statistische Analyse angreifbar
|
||
|
||
### Transpositionsverfahren
|
||
|
||
- Zeichen des Klartextes werden nach fester Regel permutiert (vertauscht), nicht ersetzt
|
||
- Beispiele: Zick-Zack-Verfahren, spartanische Skytale (500 v. Chr.)
|
||
|
||
---
|
||
|
||
## 4. Symmetrische Verschlüsselung (Private-Key)
|
||
|
||
Sender und Empfänger verwenden denselben geheimen Schlüssel. Nachteil: Bei _n_ Teilnehmern werden **n(n−1)/2** Schlüssel benötigt (z. B. 66 Schlüssel bei 12 Teilnehmern).
|
||
|
||
### Wichtige Algorithmen
|
||
|
||
|Verfahren|Schlüssellänge|Status|
|
||
|---|---|---|
|
||
|DES|56 Bit|Veraltet, nicht mehr sicher|
|
||
|Triple DES (3-Keys)|168 Bit|Übergangsverfahren|
|
||
|IDEA|128 Bit|Als stark betrachtet|
|
||
|RC2, RC4, RC5|variabel|Teils veraltet|
|
||
|**AES (Rijndael)**|128 / 192 / 256 Bit|Aktueller Standard|
|
||
|
||
### AES (Advanced Encryption Standard)
|
||
|
||
- Entwickelt von Joan Daemen und Vincent Rijmen (patentfrei)
|
||
- Blockgröße: 128, 192 oder 256 Bit; Schlüssellänge: 128, 192 oder 256 Bit
|
||
- Anzahl der Runden: 10, 12 oder 14 (je nach Block-/Schlüssellänge)
|
||
- Jede Runde besteht aus vier Transformationen:
|
||
1. **ByteSub** – nichtlineare Byte-Substitution (S-Box)
|
||
2. **ShiftRow** – zyklisches Verschieben der Zeilen
|
||
3. **MixColumn** – Spaltenmultiplikation über einem Galoisfeld
|
||
4. **AddRoundKey** – XOR-Verknüpfung mit dem Rundenschlüssel
|
||
|
||
### Betriebsmodi
|
||
|
||
|Modus|Merkmal|Einsatz|
|
||
|---|---|---|
|
||
|**ECB**|Jeder Block unabhängig; identischer Klartext = identischer Schlüsseltext|Nur für spezielle Anwendungen|
|
||
|**CBC**|Verkettung mit Vorgängerblock; benötigt Initialisierungsvektor|Allgemein|
|
||
|**CFB**|Stromchiffre aus Blockchiffre; begrenzte Fehlerfortpflanzung; selbstsynchronisierend|Zeichenorientierte Übertragung|
|
||
|**OFB**|Keine Fehlerfortpflanzung; nicht selbstsynchronisierend|Störungsanfällige Kanäle (z. B. Satellit)|
|
||
|**CTR**|Parallelisierbar; wahlfreier Zugriff|Massendaten (Festplatte, ZIP)|
|
||
|**GCM**|Authenticated Encryption (AEAD); hoher Durchsatz|TLS, IPSec, SSH, IEEE 802.11|
|
||
|
||
---
|
||
|
||
## 5. Asymmetrische Verschlüsselung (Public-Key)
|
||
|
||
### Grundidee
|
||
|
||
Jeder Teilnehmer besitzt ein Schlüsselpaar:
|
||
|
||
- **Öffentlicher Schlüssel (Public Key):** Frei zugänglich, zum Verschlüsseln
|
||
- **Privater Schlüssel (Private Key):** Geheim, zum Entschlüsseln
|
||
|
||
Der private Schlüssel ist aus dem öffentlichen Schlüssel **nicht in vertretbarer Zeit ableitbar** (basiert auf mathematisch schwer lösbaren Problemen – sog. **One-Way-Trapdoor-Funktionen**).
|
||
|
||
### RSA (Rivest, Shamir, Adleman, 1978)
|
||
|
||
- Basiert auf der Schwierigkeit, das Produkt zweier großer Primzahlen zu faktorisieren
|
||
- Nutzbar für Verschlüsselung, digitale Signatur und Schlüsselmanagement
|
||
- Verschlüsselung: `c = m^e mod n` | Entschlüsselung: `m = c^d mod n`
|
||
- Empfohlene Schlüssellänge: ≥ 2048 Bit (1024 Bit gilt heute als unsicher)
|
||
|
||
### Digitale Signatur
|
||
|
||
- Mit dem **privaten Schlüssel** signiert → mit dem **öffentlichen Schlüssel** verifizierbar
|
||
- Entspricht einem digitalen Äquivalent zur handschriftlichen Unterschrift
|
||
- Setzt eine **Public-Key-Infrastruktur (PKI)** mit Zertifizierungsstellen (Trustcenter) voraus
|
||
|
||
### Diffie-Hellman (1976)
|
||
|
||
- Erster Public-Key-Algorithmus; dient **nur** dem gesicherten Schlüsselaustausch
|
||
- Keine direkte Verschlüsselung und keine Authentifizierung der Partner
|
||
- Grundlage für hybride Verschlüsselungsverfahren
|
||
|
||
---
|
||
|
||
## 6. One-Way-Hashfunktionen
|
||
|
||
### Grundlagen
|
||
|
||
Eine Hashfunktion H bildet eine beliebig lange Nachricht M auf einen **Hashwert h fester Länge** ab:
|
||
|
||
- `h = H(M)` – einfach zu berechnen
|
||
- Umkehrung: praktisch unmöglich (`M = f(h)` ist nicht berechenbar)
|
||
- **Kollisionsresistenz:** Es ist praktisch unmöglich, zwei verschiedene Nachrichten M und M' mit `H(M) = H(M')` zu finden
|
||
|
||
### Geburtstagsproblem
|
||
|
||
Durch das Geburtstagsparadox genügen statistisch ~2^(n/2) Versuche, um eine Kollision bei einer n-Bit-Hashfunktion zu finden → Hashwerte sollten deutlich länger als Schlüssellängen symmetrischer Verfahren sein (mind. 160 Bit).
|
||
|
||
### Wichtige Hashfunktionen
|
||
|
||
|Algorithmus|Hashwertlänge|Status|
|
||
|---|---|---|
|
||
|MD5|128 Bit|Veraltet – nicht mehr verwenden!|
|
||
|SHA-1|160 Bit|Veraltet|
|
||
|SHA-3 (Keccak)|224 / 256 / 384 / 512 Bit|Aktueller NIST-Standard (seit 2012)|
|
||
|RIPEMD|160 Bit|EU-Projekt RIPE (1992)|
|
||
|
||
### Message Authentication Code (MAC)
|
||
|
||
- Hashfunktion **mit geheimem Schlüssel** → nur der Schlüsselinhaber kann den Hashwert verifizieren
|
||
- Gewährleistet **Authentizität** (ohne Geheimhaltung des Inhalts)
|
||
- **CBC-MAC:** Basiert auf AES/DES im CBC-Modus; weit verbreitet im Bankwesen
|
||
- **HMAC:** Internet-Standard (RFC 2104), z. B. in IPSec; kombiniert Hashfunktion mit geheimem Schlüssel über XOR-Verknüpfungen mit ipad/opad
|
||
|
||
---
|
||
|
||
## 7. Zusammenfassung
|
||
|
||
- Kryptographische Verfahren sind die **Basis der meisten Sicherheitssysteme**
|
||
- Die Sicherheit hängt **niemals** von der Geheimhaltung des Algorithmus ab, sondern **ausschließlich** von der Geheimhaltung des privaten Schlüssels
|
||
- Algorithmen sollten so gewählt werden, dass:
|
||
- die **Kosten des Brechens** höher sind als der Wert der geschützten Informationen
|
||
- der **zeitliche Aufwand** länger ist als das Interesse an den Informationen
|
||
- Empfehlungen von Experten und Behörden beachten (in Deutschland: **BSI**, **Bundesnetzagentur**)
|
||
|
||
**Weiterführende Ressourcen:**
|
||
|
||
- [www.bsi.de](https://www.bsi.de)
|
||
- [www.bundesnetzagentur.de](https://www.bundesnetzagentur.de)
|
||
- [www.cryptool.de](https://www.cryptool.de) |