#️⃣ 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