Kryptographische Hashfunktion

Eine kryptographische Hashfunktion oder kryptologische Hashfunktion ist eine Hashfunktion (Streuwertfunktion), die bestimmte Eigenschaften erfüllt, mit denen sie für kryptographische Anwendungszwecke geeignet ist.

Eine Hashfunktion erzeugt effizient aus einem Eingabewert, etwa einer Nachricht oder einer Datei, einen Ausgabewert fester Länge: den Hashwert. Für den kryptographischen Einsatz werden weitere Eigenschaften gefordert: eine kryptographische Hashfunktion stellt eine Einwegfunktion dar, bietet Kollisionsresistenz und erzeugt einen pseudozufälligen Hashwert.

Es gibt viele kryptographische Hashfunktionen. Zu den in der Praxis verwendeten Funktionen, die 2025 öffentlich verfügbar und nach aktuellem Kenntnisstand sicher sind (insbesondere starke Kollisionsresistenz aufweisen, siehe unter Eigenschaften Punkt 6), gehören die von der NIST standardisierten SHA-2 und SHA-3 (Keccak), sowie BLAKE.

Die schon länger verfügbaren Funktionen MD4, MD5, SHA-0 und SHA-1 können nicht mehr generell als sicher angesehen werden, denn sie gewährleisten keine starke Kollisionsresistenz. Zum Teil sind sie für bestimmte Anwendungen mit eingeschränkten Anforderungen noch nutzbar, beispielsweise für Authentifizierungsverfahren wie HOTP und TOTP, die vor allem bei der Zwei-Faktor-Authentisierung eingesetzt werden.