3.3 KiB
3.3 KiB
🧠 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
- Einweg-Eigenschaft: h(M) einfach berechenbar, aber M aus h(M) unberechenbar.
- 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
- Nachricht in Blöcke fester Länge teilen.
- Padding auf Vielfaches der Blocklänge.
- Iterative Verarbeitung mit Kompressionsfunktion.
- 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 | 224–512 Bit | Aktuell sicher |
| SHA-3 | 224–512 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:
- Schlüssel ggf. kürzen/padden auf Blockgröße
- Zwei Pads:
ipad = 0x36,opad = 0x5C - 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!