- 1 Section
- 10 Lessons
- unbegrenzt
- Verschlüsselung & Kryptografie10
- 1.1Grundbegriffe der Kryptografie
- 1.2Symmetrische Verschlüsselung: AES, DES
- 1.3Asymmetrische Verschlüsselung: RSA, ECC
- 1.4Hybridverschlüsselung
- 1.5Hash-Funktionen: MD5, SHA-256
- 1.6Digitale Signatur und Zertifikate (X.509)
- 1.7Public Key Infrastructure (PKI)
- 1.8TLS/SSL: HTTPS Handshake Schritt für Schritt
- 1.9Ende-zu-Ende-Verschlüsselung
- 1.10IHK-Aufgaben Kryptografie
Hash-Funktionen: MD5, SHA-256
Du lädst eine Software herunter und möchtest prüfen, ob die Datei manipuliert wurde. Der Hersteller gibt einen SHA-256-Hash an. Du berechnest den Hash der heruntergeladenen Datei – stimmt er überein, ist die Datei identisch mit dem Original. Ändert ein Angreifer auch nur ein einziges Bit der Datei, sieht der Hash vollständig anders aus. Hash-Funktionen sind das kryptografische Werkzeug für Integrität: Sie verstecken nichts, aber jede Manipulation wird sofort sichtbar.
Eine Hash-Funktion ist eine mathematische Einwegfunktion. Sie nimmt eine Eingabe beliebiger Länge – eine einzelne Zahl, ein Dokument, eine gesamte Festplatte – und erzeugt daraus eine Ausgabe fester Länge, den sogenannten Hash oder Message Digest. Drei Eigenschaften machen eine Hash-Funktion kryptografisch sicher: sie ist nicht umkehrbar (aus dem Hash lässt sich die Eingabe nicht rekonstruieren), sie ist kollisionsresistent (es ist praktisch unmöglich, zwei verschiedene Eingaben mit demselben Hash zu finden) und sie zeigt den Avalanche-Effekt (minimale Eingabeänderungen führen zu einem vollständig anderen Hash).
1) Der Avalanche-Effekt – live und interaktiv
Der Avalanche-Effekt ist das eindrucksvollste Merkmal guter Hash-Funktionen. Ändert man nur ein einziges Zeichen der Eingabe, ändern sich im Durchschnitt etwa 50 % aller Hash-Bits. Die folgende Demo nutzt die echte SHA-256-Implementierung des Browsers (Web Crypto API). Probiere es: Ändere einen Buchstaben, einen Großbuchstaben, füge ein Leerzeichen ein.
2) Hash-Algorithmen: was ist sicher, was ist gebrochen?
Nicht alle Hash-Algorithmen sind gleich. MD5 und SHA-1 waren jahrelang Standard, wurden aber durch praktische Kollisionsangriffe gebrochen – ein Angreifer kann heute in Sekunden zwei verschiedene Dateien mit demselben MD5-Hash erzeugen. Das ist fatal für Integrätsprüfungen: Eine manipulierte Datei könnte denselben Hash haben wie das Original. Für neue Systeme gilt: SHA-256 oder SHA-3, für Passwörter ausschließlich spezialisierte Passwort-Hash-Funktionen.
3) Passwort-Hashing: warum der Salt entscheidend ist
Ein häufiger Fehler ist es, Passwörter direkt mit SHA-256 zu hashen und in der Datenbank zu speichern. Das Problem: Wenn zwei Nutzer dasselbe Passwort haben, haben sie denselben Hash – ein Angreifer sieht das sofort. Noch schlimmer: Mit vorberechneten Rainbow-Tables kann ein Angreifer Millionen von Passwörtern in Sekunden rückwärts aus Hashes ermitteln. Die Lösung ist ein zufälliger Salt – eine zufällige Zeichenkette, die vor dem Hashen an das Passwort angehängt wird. Jeder Nutzer hat einen anderen Salt, also auch bei gleichem Passwort einen anderen Hash.
4) Einsatzbereiche von Hash-Funktionen
| Einsatzbereich | Algorithmus | Warum? |
|---|---|---|
| Passwort-Speicherung | Argon2id, bcrypt | Langsam + Memory-Hard + Salt → Brute-Force teuer |
| Dateiintegrität | SHA-256 | Manipulation sofort erkennbar, kein Schlüssel nötig |
| Digitale Signaturen | SHA-256, SHA-384 | Nur den kleinen Hash signieren, nicht die gesamte Datei |
| TLS-Zertifikate | SHA-256 (SHA-2 Familie) | Browser akzeptieren nur noch SHA-2 und höher |
| Blockchain / Bitcoin | SHA-256 | Proof of Work + unveränderliche Blockkette |
| HMAC (Nachrichtenintegrität) | HMAC-SHA-256 | Hash + geheimer Schlüssel → Authentizität und Integrität |
Zusammenfassung
Hash-Funktionen erzeugen aus beliebig langer Eingabe einen Fingerabdruck fester Länge – nicht umkehrbar, deterministisch, kollisionsresistent, mit starkem Avalanche-Effekt. MD5 und SHA-1 sind gebrochen und dürfen nicht mehr für Sicherheitszwecke verwendet werden. SHA-256 ist der Standard für Integrität, digitale Signaturen und Zertifikate. Für Passwörter gilt: ausschließlich Argon2 oder bcrypt mit Salt – plain SHA-256 ist zu schnell für Passwort-Speicherung. Das Schutzziel Integrität wird direkt durch Hash-Funktionen adressiert.
