Zum Inhalt springen
ecdsa.com

Kryptografische Hashfunktion

Eine Funktion, die eine Eingabe beliebiger Länge auf einen Digest fester Länge abbildet, sodass es mit realistischem Rechenaufwand unmöglich ist, ein Urbild, ein zweites Urbild oder überhaupt eine Kollision zu finden.
Auch geschrieben alshash functioncryptographic hashhash

Drei Eigenschaften zählen: Urbildresistenz (zu einem Digest irgendeine Eingabe finden), Resistenz gegen zweite Urbilder (zu einer Eingabe eine andere mit demselben Digest finden) und Kollisionsresistenz (irgendwelche zwei Eingaben finden, die kollidieren). Bei einem n-Bit-Digest liegen die generischen Kosten bei etwa 2ⁿ, 2ⁿ und 2ⁿᐟ², der letzte Wert wegen des Geburtstagsparadoxons; deshalb bietet SHA-256 eine Kollisionsresistenz von 128 Bit.

Standardfunktionen: SHA-2 (SHA-224 bis SHA-512, FIPS 180-4) und SHA-3 mit den Extendable-Output-Funktionen SHAKE (FIPS 202) sind zugelassen; BLAKE2 (RFC 7693) ist außerhalb des NIST-Umfelds weit verbreitet; bei MD5 und SHA-1 ist die Kollisionsresistenz gebrochen, sie dürfen nicht eingesetzt werden, wo ein Angreifer Eingaben wählen kann. Konstruktionen nach Merkle–Damgård (MD5, SHA-1, SHA-2) sind anfällig für Length Extension, Sponge-Konstruktionen (SHA-3) und HAIFA-Konstruktionen (BLAKE2) nicht.

Ein Hash ist kein MAC, kein Passwort-Hash und keine Verschlüsselung: Nutze HMAC oder KMAC für Integrität mit Schlüssel, Argon2id, scrypt oder PBKDF2 für Passwörter und ein AEAD für Vertraulichkeit. Quantencomputer betreffen Hashes kaum: Der Grover-Algorithmus bringt bei Urbildern höchstens eine Beschleunigung um die Quadratwurzel, und der Entwurf des Übergangsplans von NIST lässt SHA-256 und SHA-3 weiterhin zu.

Standards und Quellen

Alle Begriffe