#️⃣ Hash-Funktionen – Interaktive Demo © M. Meili

Kryptographische Einwegfunktionen verstehen und erleben

Was ist eine Hash-Funktion?

Definition: Eine Hash-Funktion wandelt eine beliebig lange Eingabe (Nachricht, Datei, Passwort …) in einen fest langen Ausgabewert (Hash / Fingerabdruck) um. Der Prozess ist nicht umkehrbar.
Hallo Welt
SHA-256
wird berechnet…

✅ Deterministisch
Gleiche Eingabe → immer gleicher Hash
⚡ Schnell
Berechnung ist effizient (Millisekunden)
🚫 Einwegfunktion
Hash → Original ist praktisch unmöglich

Gut zu wissen: Verschiedene Eingaben → komplett anderer Hash

Teste es selbst: Ändere nur ein Zeichen und beobachte den Unterschied!

Die drei wichtigsten Eigenschaften

🚪

Einwegfunktion

Aus dem Hash kann die Eingabe nicht zurückgerechnet werden

🛡️

Schwache Kollisionsresistenz

Zu einem gegebenen Wert ist kein zweiter Wert mit demselben Hash findbar

🏰

Starke Kollisionsresistenz

Es ist unmöglich, irgendzwei Nachrichten mit gleichem Hash zu finden


Interaktiver Einweg-Beweis

🤔 Denksport: Du siehst nur den Hash. Kannst du die ursprüngliche Eingabe erraten?
Hash wird geladen …

Der Lawineneffekt (Avalanche Effect)

Prinzip: Eine winzige Änderung der Eingabe (z.B. ein einzelnes Bit) führt zu einem komplett anderen Hash-Wert. Im Durchschnitt ändern sich ca. 50 % der Ausgabe-Bits.

Unterschiedliche Hex-Zeichen (rot = geändert):

■ Gleich ■ Verschieden

Bit-für-Bit Demonstration

Tippe ein Zeichen in das Feld und beobachte in Echtzeit, wie stark sich der Hash verändert.

Hash-Algorithmen im Vergleich

Überblick: Es gibt viele verschiedene Hash-Algorithmen, die sich in Geschwindigkeit, Hash-Länge und Sicherheitsniveau unterscheiden.

💡 Tipp: Über eine Zeile fahren, um den vollständigen Hash anzuzeigen.

Algorithmus Bit-Länge Sicherheit Hash-Wert
MD5 128 Bit / 32 Hex ❌ Gebrochen berechne…
SHA-1 160 Bit / 40 Hex ⚠️ Veraltet berechne…
SHA-256 256 Bit / 64 Hex ✅ Sicher berechne…
SHA-512 512 Bit / 128 Hex ✅ Sehr sicher berechne…

❌ MD5 (1991)
Kollisionen wurden nachgewiesen. Nicht mehr für Sicherheitszwecke geeignet. Heute nur noch für Checksummen.
⚠️ SHA-1 (1995)
Google gelang 2017 eine SHA-1-Kollision (SHAttered). In modernen Systemen nicht mehr empfohlen.
✅ SHA-256 (2001)
Teil der SHA-2-Familie. Standard in Bitcoin, TLS, digitalen Signaturen. Gilt als sicher.
✅ SHA-512 (2001)
Längerer Hash = mehr Sicherheitsreserve. Schneller auf 64-Bit-Prozessoren als SHA-256.

Passwort-Hashing & Salt

Warum Hash statt Klartext? Datenbanken speichern niemals das echte Passwort, sondern nur dessen Hash. Beim Login wird das eingegebene Passwort gehasht und mit dem gespeicherten Hash verglichen.

🧂 Wie funktioniert ein Salt?

Problem ohne Salt: Wenn zwei Benutzer dasselbe Passwort haben, ist auch ihr gespeicherter Hash identisch. Angreifer können sogenannte Rainbow-Tables nutzen – vorgefertigte Listen von Millionen Passwörtern und ihren Hashes – um das Passwort sofort nachzuschlagen.

Schritt-für-Schritt: Salt beim Registrieren & Einloggen

❌ Ohne Salt – unsicher
🔑 "geheim"
SHA-256
a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a
🔑 "geheim"
SHA-256
a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a ⚠️ identisch!
✅ Mit Salt – sicher

Vor dem Hashen wird ein zufälliger, einzigartiger Salt erzeugt und mit dem Passwort kombiniert. Der Salt wird zusammen mit dem Hash in der Datenbank gespeichert (er muss nicht geheim sein!).

👤 Benutzer A
🔑 "geheim"
+
🧂 Salt: a3f8c1…
SHA-256
3d9f2a…
💾 DB speichert: salt=a3f8c1… + hash=3d9f2a…
👤 Benutzer B (gleiches Passwort!)
🔑 "geheim"
+
🧂 Salt: 7b2e94…
SHA-256
f17c3b… ✅ anders!
💾 DB speichert: salt=7b2e94… + hash=f17c3b…
🔓 Login-Ablauf mit Salt
1️⃣
Benutzer gibt Passwort ein
"geheim"
2️⃣
Server holt Salt aus DB
a3f8c1…
3️⃣
Hash neu berechnen
SHA-256(salt + pw)
4️⃣
Vergleich mit DB-Hash
✅ Gleich → Zugang
❌ Ohne Salt (unsicher)

Problem: Gleiches Passwort = gleicher Hash! → Rainbow-Tables

✅ Mit Salt (sicher)
Salt:

Gleiche Passwörter → unterschiedliche Hashes!


Login-Simulation

Registriere ein Passwort. Dann logge dich ein – mit richtigem und falschem Passwort.

Blockchain – Hash-Ketten

Prinzip: Jeder Block enthält den Hash des vorherigen Blocks. Ändert man einen Block, werden alle nachfolgenden Hashes ungültig – die Kette ist gebrochen.

Klicke auf den Inhalt eines Blocks und ändere ihn. Beobachte, wie die Kette bricht!

🎯 Wissensquiz – Hash-Funktionen