Files
2025-07-02 14:34:34 +02:00

85 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 🧠 GRUNDLAGEN DER HASHFUNKTIONEN
### Was ist eine Hashfunktion?
- Einwegfunktion: beliebig lange Eingabe → fester Hashwert (Ausgabe).
- Ziel: Aus Hashwert **kann nicht** auf Eingabe geschlossen werden.
- Ein Hashwert = „digitaler Fingerabdruck“.
### Eigenschaften einer **kryptografisch sicheren Hashfunktion**
1. **Einweg-Eigenschaft**: h(M) einfach berechenbar, aber M aus h(M) unberechenbar.
2. **Kollisionsresistenz**:
- _Schwach_: Für gegebenes x ist es schwer, x ≠ x mit h(x) = h(x) zu finden.
- _Stark_: Es ist schwer, zwei beliebige x ≠ x mit h(x) = h(x) zu finden.
---
## 🛠️ ANWENDUNGEN
- **Passwort-Speicherung** (nur Hash, kein Klartext)
- **Signaturen**: Signiere h(M), nicht M.
- **Integritätsprüfung**: Prüfsummen, Manipulationserkennung (MIC, MDC)
- **Authentifizierung**: MAC, HMAC
---
## 🔐 HASH-FUNKTIONSTYPEN
|Typ|Beschreibung|
|---|---|
|UHF|Unkeyed Hash Function: h(M)|
|KHF / MAC|Keyed Hash Function: h(M, k) oder h(M, s)|
---
## 📌 MDC & MAC UNTERSCHEIDUNG
### MDC Manipulation Detection Code
- **OWHF**: One-Way Hash Function = Einweg + schwache Kollision
- **CRHF**: Collision Resistant Hash Function = schwache + starke Kollision
### MAC Message Authentication Code
- nutzt Schlüssel + Nachricht
- Anforderungen:
- einfache Berechnung
- Kompression
- resistent gegen Manipulation
---
## 🔁 AUFBAU EINER HASHFUNKTION
1. Nachricht in Blöcke fester Länge teilen.
2. Padding auf Vielfaches der Blocklänge.
3. Iterative Verarbeitung mit Kompressionsfunktion.
4. Ergebnis: finaler Hashwert.
---
## 📚 HASH-ALGORITHMEN IM VERGLEICH
|Algorithmus|Hashlänge|Status / Schwächen|
|---|---|---|
|**MD2/MD4**|128 Bit|Veraltet, unsicher|
|**MD5**|128 Bit|Kollisionen bekannt, nicht mehr sicher|
|**SHA-1**|160 Bit|Kollisionen möglich (ab 2005), deprecated|
|**SHA-2**|224512 Bit|Aktuell sicher|
|**SHA-3**|224512 Bit|Alternative zu SHA-2 (Keccak)|
|**RIPEMD-160**|160 Bit|Sicher, europäische Alternative|
|**WHIRLPOOL**|512 Bit|Sicher, aber wenig untersucht|
---
## 🔁 HMAC (Hash-based MAC)
- **Verwendet Hash + geheimen Schlüssel**
- Schritte:
1. Schlüssel ggf. kürzen/padden auf Blockgröße
2. Zwei Pads: `ipad = 0x36`, `opad = 0x5C`
3. HMAC = H(opad ⊕ k ∥ H(ipad ⊕ k ∥ M))
- Einsatz in TLS, IPsec etc.
- **Sichert Authentizität & Integrität**, **keine digitale Signatur**
---
## 💥 ANGRIFFE
### Geburtstagsparadoxon
- Wahrscheinlichkeit für Kollision steigt stark mit Anzahl an Inputs.
- 50%-Kollisionschance bei ca. √(2^n) = 2^(n/2)
### Angriffstypen
|Typ|Beschreibung|
|---|---|
|**Pre-Image**|Gegeben h(x), finde ein x|
|**Second Pre-Image**|Gegeben x, finde x ≠ x mit h(x) = h(x)|
|**Collision**|Finde x, x ≠ x mit h(x) = h(x)|
---
## ❌ SICHERHEITSSCHWÄCHEN
### MD5
- Viele Kollisionen gefunden (z.B. durch Dobbertin, Wang, Stach)
- Nicht mehr vertrauenswürdig
### SHA-1
- Kollisionen mit 2^63 Berechnungen möglich (statt 2^80)
- Seit 2010 in den USA und vom BSI abgelehnt
---
## 📌 MERKREGELN FÜR DIE KLAUSUR
- **Hash = Fingerabdruck**, nicht rückrechenbar
- **Kollision = 2 verschiedene Eingaben → gleicher Hash**
- **MDC = prüft Integrität**, **MAC = prüft Integrität + Authentizität**
- **SHA-2 & SHA-3 = derzeit sicher**
- **HMAC ≠ Signatur**, da symmetrisch!