Einführung in Hash-Funktionen Der digitale Fingerabdruck

Autor / Redakteur: Dipl.-Ing. Andreas Maslo / Stephan Augsten

Eindeutige Zuordnungen sind in der Informatik unverzichtbar, denn nur so lassen sich Daten-Kollisionen vermeiden. Um einen kompakten Vergleichswert zu einer relativ großen Datenmenge zu erhalten, werden digitale Fingerabdrücke für diese Informationen generiert. Die Umrechnung der binären Daten in ihre individuelle Prüfsummen, so genannte Hash-Werte, übernehmen spezielle Hash-Algorithmen.

Anbieter zum Thema

Eine Hash-Funktion (aus dem Englischen: „to hash“ = zerhacken) generiert aus einer theoretisch beliebig großen Datenmenge einen skalaren Hash- beziehungsweise Streuwert. In der Informatik weist er eine Länge von 32 bis 512 Bit Länge auf und wird als Fingerprint (Fingerabdruck) bezeichnet.

Damit dienen Hash-Werte als wesentliches Unterscheidungsmerkmal für Daten, insbesondere bei der Datenverwaltung (Hash-Tabellen) oder der Datenverschlüsselung (Kryptographie). Anhand ihres kompakten Skalarwertes lassen sich mithilfe der Prüfsummen auch umfangreiche Daten eindeutig unterscheiden.

Die Aufgabe der Hash-Algorithmen besteht also darin, stets verschiedene Fingerprints für unterschiedliche Eingabedaten zu generieren. Ein redundanter Hash-Wert könnte bei der Datenverarbeitung zu Kollisionen führen.

Grundfunktionen eines Hash-Algorithmus

Damit der Algorithmus einen eindeutigen Streuwert generiert, rechnet er die mitunter sehr speicherintensiven Ausgangsdaten in einen eindeutigen Skalarwert um. Dieser ist erheblich kleiner, als die urspünglichen Informationen (Datenreduktion).

Bei diesem Vorgang muss sichergestellt werden, dass für ähnliche Quelldaten tatsächlich unterschiedliche Hash-Werte generiert werden. In der Regel sollte bereits die Änderung eines einzelnen Bit in den Quelldaten zu einer Änderung von mindestens 50 Prozent aller Bits im Hash-Wert führen. Die Berechnung muss zudem speicherschonend und schnell erfolgen.

Im Rahmen der Datenverschlüsselung muss neben der Kollisionsfreiheit sichergestellt sein, dass aus dem Hash-Wert keine Quelldaten wiederherstellbar sind. Der Hash-Algorithmus ist als solches demnach nicht umkehrbar.

Zahlreiche Anwendungsgebiete

Mithilfe von Hash-Werten lassen sich große Datenmengen einfach vergleichen und verifizieren. Die Prüfsummen dienen außerdem zur Identifikation heruntergeladener Dateien sowie zur Erkennung ihrer Veränderung oder Manipulation im Rahmen der Datenübertragung.

Innerhalb von Datenbank-Management-Systemen werden Hash-Funktionen bei einer Abfrage zur Indizierung über Hashtabellen genutzt. Bei der Datenverschlüsselung dienen Hash-Werte zur Signierung von Dokumenten oder zur Einwegverschlüsselung, die nicht umkehrbar ist. Auch im Rahmen komplexer Verschlüsselungsalgorithmen kommen Hash-Werte zum Einsatz.

In P2P-Netzwerken (Peer-to-Peer-Netzwerke) werden Hash-Werte zum Suchen und Identifizieren von Dateien sowie zum Erkennen und Prüfen getauschter Dateifragmente genutzt. Im Rahmen von Internet-Anwendungen werden Hash-Funktionen für die Anlage von Sitzungskennungen (Session-IDs) eingesetzt, die aus aktuellen Zeit- und IP-Adresswerten generiert werden.

Verschiedene Funktionen und Algorithmen

Es gibt eine Vielzahl unterschiedlicher Hash-Grundfunktionen. Darunter findet man beispielsweise die Divisions-Rest-Methode, das Doppel-Hashing, die Multiplikative Methode, die Mittquadratmethode, die Zerlegungsmethode, die Ziffernanalyse oder auch die Quersumme.

Zu den allgemeinen Hash-Algorithmen zählen die Verfahren Adler-32, Modulo-Funktion, Prüf- und Quersumme, Salted Hash, Hashtabellen, das Merkles Meta-Verfahren oder auch die Zyklische Redundanzprüfung zu den allgemeinen Hash-Algorithmen. Im Rahmen der Kryptographie kommen unter anderem die Algorithmen MD2, MD4, MD5, SHA, Tiger, HAVAL oder Whirlpool zum Einsatz.

Um die Sicherheit auf Dauer zu gewährleisten, werden permanent optimierte Hash-Algorithmen gesucht und neu entwickelt. So hat das National Institute of Standards and Technology (NIST) derzeit einen Wettbewerb ausgeschrieben. Die Organisation sucht nach einem neuen Standard, der die heute gebräuchlichen Security-Hash-Algorithmen ablösen kann.

Artikelfiles und Artikellinks

(ID:2002932)