c't 7/2021
S. 64
Titel
Security-Grundwissen: Hashfunktionen
Bild: Albert Hulm

Deterministisches Chaos

Was kryptografische Hashfunktionen leisten müssen

Hashes begegnen Computer­nutzern überall, auch wenn sie sich nicht für IT-Security interessieren. Mit ihnen werden Downloads überprüft und Daten identifiziert. Sie schützen Passwörter und verketten Blockchains. Aber was sind Hashes, wie leisten sie all das und wie berechnet man sie?

Von Sylvester Tremmel

Als Hash oder Hashwert bezeichnet man – wenig überraschend – die Ausgabe einer Hashfunktion. Der Name leitet sich wohl von der englischen Bezeichnung „hash“ für ein ungeordnetes Durcheinander ab, weil die Ausgaben typischer Hashfunktionen möglichst chaotisch sind. Klassischerweise nutzt man Hashes als Indexwerte für Hashtabellen, aber sie haben auch für viele andere Dinge Verwendung gefunden – oft in Varianten, die auf den jeweiligen Zweck spezialisiert sind. Im Kontext von IT-Security sind mit „Hashes“ in der Regel kryptografische Hashfunktionen gemeint, um die es in diesem Artikel gehen soll.

Eine kryptografische Hashfunktion nimmt beliebig viele Daten entgegen und generiert daraus eine kurze Bitfolge fester Länge. Die Hashfunktion MD5 generiert zum Beispiel immer Hashes mit 128 Bit Länge, die Funktion SHA-256 liefert – wie der Name nahelegt – 256-Bit-Hashes. Egal, wie viele Eingabedaten es sind, die Ausgabe ist immer gleich lang. Berechnet wird diese Ausgabe streng deterministisch: Füttert man zweimal dieselben Daten in eine Hashfunktion, entsteht exakt dieselbe Bitfolge.

Kommentare lesen (1 Beitrag)