5Hashfunktionen

Der Begriff Hashfunktion stammt historisch aus der Informatik, wo er eine Funktion bezeichnet, die eine Folge einer beliebigen Länge in eine Folge einer fixen Länge zusammenfasst. Eine Änderung der Eingangsdaten wird (sehr wahrscheinlich) den Hashwert ändern. Hashfunktionen mit dieser Eigenschaft haben eine Reihe von allgemeinen Anwendungen in der Rechentechnik, aber in der Kryptographie werden sie wegen weiterer zusätzlicher Eigenschaften gewählt. Kryptographische Hashfunktionen können eingesetzt werden, um die Nachrichtenintegrität zu garantieren, um die Authentizität der Informationen zu schützen, um Risiken der Ablehnung (engl. repudiation) vorzubeugen und um Passwörter zu sichern. Im Unterschied zu den Algorithmen mit geheimen und öffentlichen Schlüsseln haben Hashfunktionen keinen Schlüssel.

An kryptographische Hashfunktionen werden die folgenden grundlegenden Anforderungen gestellt:

- beliebige Länge des Eingangs
- fixe Länge des Ausgangs
- Einfachheit der Berechnung des Hashwertes für jede Nachricht
- Unidirektionalität (rechnerische Unmöglichkeit der Ableitung der Nachricht vom gegebenen Hashwert)
- Unmöglichkeit einer Änderung der Nachricht ohne eine Änderung des Hashwertes
- Kollisionssicherheit (Unmöglichkeit des Findens von zwei unterschiedlichen Nachrichten, die den gleichen Hashwert haben)

Der Hashwert stellt eine längere Nachricht oder ein Dokument dar, von dem er berechnet wurde. Diese Kurzfassung (auf Englisch message digest genannt) ist ein „digitaler Fingerabdruck“ des größeren Dokumentes.

Die Hauptrolle einer kryptographischen Hashfunktion liegt bei digitalen Signaturen. Darüber hinaus kann der Hashwert veröffentlicht werden, ohne dass der Inhalt des Dokumentes verraten werden muss, von dem der Hashwert abgeleitet wurde.

5.1 Hashfunktion