update to local git repo

This commit is contained in:
fzzinchemical
2025-07-02 13:08:03 +02:00
commit 269b8a31ba
136 changed files with 12257 additions and 0 deletions

View File

@@ -0,0 +1,87 @@
## 🧠 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!
---
Wenn du willst, kann ich dir auch Lernkarten (Flashcards), ein Quiz oder eine Mindmap aus diesem Material erstellen. Sag einfach Bescheid!