Glossar

Hashfunktion

Hash-AlgorithmusDigest-Funktion

Eine Hashfunktion bildet Eingabedaten praktisch beliebiger Länge auf einen Digest fester Größe ab.

Definition

Eine Hashfunktion nimmt Daten entgegen und berechnet einen Wert fester Größe, den man Hash, Digest oder Fingerabdruck nennt. Dieselben Eingabebytes liefern immer denselben Ausgabewert; schon eine kleine Änderung der Eingabe sollte den Digest normalerweise verändern.

Hashing ist keine Verschlüsselung. Ein Digest soll nicht in die ursprüngliche Nachricht zurückdecodiert oder entschlüsselt werden; er dient zum Vergleichen, Identifizieren, Prüfen der Integrität und als Baustein größerer kryptografischer Verfahren.

Kryptografische Eigenschaften

Eine kryptografische Hashfunktion soll gegen Urbildangriffe, zweite Urbildangriffe und Kollisionen widerstandsfähig sein. Vereinfacht gesagt soll es schwer sein, zu einem Digest eine Eingabe zu finden, zu einer gewählten Nachricht eine andere Eingabe mit demselben Digest zu finden oder überhaupt zwei Eingaben mit gleichem Digest zu finden.

Algorithmen wie SHA-256, SHA-512, SHA-3 und BLAKE2 werden in modernen Systemen verwendet. MD5 und SHA-1 tauchen noch in älteren Prüfsummen auf, ihre Kollisionsresistenz ist aber gebrochen und sie sollten keine sicherheitskritischen Daten schützen.

Einsatz und Verwechslungen

Hashes werden häufig als Hexadezimalzeichenketten angezeigt. SHA-256 erzeugt zum Beispiel 32 Bytes, meist geschrieben als 64 Hex-Zeichen. Vergleicht man einen neu berechneten Digest mit einem vertrauenswürdig veröffentlichten Digest, lässt sich erkennen, ob Daten verändert wurden.

Ein einfacher Hash authentifiziert nicht, wer die Daten erstellt hat. Wenn ein Angreifer Inhalte absichtlich ändern kann, braucht man HMAC oder eine digitale Signatur; für Passwortspeicherung nutzt man eine Passwort-Hashfunktion wie Argon2id oder bcrypt statt eines schnellen rohen Hashes.

Häufige Fragen

Nein. Ein Hash ist ein Einweg-Digest, kein Chiffretext. Man kann nur mögliche Eingaben raten, hashen und die Ergebnisse vergleichen.

Sie überschneiden sich in der Nutzung, aber nicht in der Sicherheit. Eine Prüfsumme erkennt unbeabsichtigte Änderungen; ein kryptografischer Hash soll bestimmten absichtlichen Angriffen widerstehen.

Sie können andere Algorithmen verwenden oder andere Bytes hashen. Leerzeichen, Zeilenenden, Unicode-Normalisierung, Textkodierung und Datei-gegen-Text-Eingabe beeinflussen das Ergebnis.

Siehe auch