Hashwert
Ein Hashwert – auch digitaler Fingerabdruck genannt – wird in der Datenverarbeitung und -sicherheit angewandt und ermöglicht eine schnelle, eindeutige Identifizierung von Daten.
Mit DOCUmedia finden Sie passende Ausschreibungen & Aufträge: Jetzt Auftragschancen entdecken!
Definition: Das ist der Hashwert
Ein Hashwert, auch als Digest oder digitaler Fingerabdruck bekannt, ist ein unverkennbarer numerischer Wert, der einem konkreten Inhalt zuzuordnen ist. Sobald sich dieser Inhalt auch nur minimal ändert, ändert sich der gesamte Hashwert vollständig. Der Wert kann von Suchalgorithmen also zur Identifikation von Inhalten genutzt werden.
Hashing: die Umwandlung von Zeichenfolgen
Hashing, ist ein Verfahren, bei dem eine Eingabe in eine oftmals kürzere Zeichenfolge fester Länge umgewandelt wird. Diese Zeichenfolge ist oftmals numerisch und wird als Hashwert bezeichnet. Hashing wird oft in der Informationssicherheit genutzt, um die Datenintegrität zu überprüfen. Wird eine Datei heruntergeladen, kann der Benutzer den Hashwert der Datei berechnen und mit dem vom Server bereitgestellten Hashwert vergleichen und so sicherstellen, dass die Datei unverändert und unbeschädigt ist. Hashing wird auch in der Datenanalyse und Integritätsprüfung von Datenbanken eingesetzt. Hier wird mit Hashing die Suche nach Daten effizienter gestaltet und mögliche Manipulationen erkannt. Auch Passwörter werden beispielsweise als Hashwerte in einer Datenbank gespeichert.
Hashwerte: Anwendungsbereiche
Hashwerte finden in verschiedenen Bereichen Anwendung. Ein Beispiel ist die Eintragung von Städten in Datenbanken. Um die Suche nach den Städten zu erleichtern, wird für jede Stadt ein eindeutiger Hashwert erstellt, über den alle Informationen, die zu der jeweiligen Stadt gehören, gefunden und aufgerufen werden können.
Sind in einer Datenbank beispielsweise die Städte Graz, Innsbruck, Salzburg und Wien eingetragen, so erhält jeder Stadtname einen individuellen Hashwert wie z.B. 1485 für Graz, 5976 für Salzburg und 3143 für Wien. Anstatt jedes Zeichen aller Stadtnamen durchzuscannen bis eine Übereinstimmung gefunden wird, greift der Algorithmus auf eindeutige Zahlenabfolgen zurück.
So funktioniert die Suche mit dem Hashwert
Der Hashwert kann dazu verwendet werden, innerhalb einer Datenbank nach Namen zu suchen. Um den Wert zu ermitteln, wird für die Suche dieselbe Hash-Funktion verwendet, die bereits für die Erstellung angewandt wurde. Anhand des Hashwertes kann nun nach Deckungsgleichheiten geschaut werden. Grundsätzlich ist die Suche mittels Hashwert mit wenigen Ziffern deutlich schneller als die Suche nach einem Wert mit mehr Ziffern, da die Kombinationsmöglichkeiten deutlich weniger sind.
Digitale Signaturen: Verschlüsselung mit dem Hashwert
Ein weiterer Anwendungsbereich von Hashwerten ist die Ver- und Entschlüsselung digitaler Signaturen. So werden numerische Schlüssel von Verschlüsselungsprogrammen verwendet, um Absender und Empfänger von E-Mails zu authentifizieren. Bei der Erstellung einer digitalen Signatur wird die Nachricht zuerst gehasht, um einen Hashwert zu erzeugen. Dieser wird auch Message Digest genannt. Anschließend wird der Hashwert mit dem privaten Schlüssel des Absenders verschlüsselt.
Message Digest: Entschlüsselung durch den Empfänger
Der Empfänger kann die Signatur überprüfen, indem er den Hashwert der empfangenen Nachricht berechnet und mit dem entschlüsselten Hashwert aus der Signatur vergleicht. Wenn die beiden Hashwerte übereinstimmen, ist die Signatur gültig und die Integrität der Nachricht ist gewährleistet. Wenn die Hashwerte nicht übereinstimmen, wurde die Nachricht möglicherweise manipuliert und die Signatur ist ungültig.
Anforderungen an Hash-Algorithmen
Eine Hash-Funktion muss bestimmte Anforderungen erfüllen, um als sicher und zuverlässig angesehen zu werden. Insbesondere Determinismus hat bei Hashfunktionen eine große Bedeutung. Das heißt, dass für eine bestimmte Eingabe immer derselbe Hashwert erzeugt werden muss. So dürfen keine zufälligen Werte generiert werden, wie es bei Randomisierungsfunktionen üblich ist. Um die Sicherheit des Hashwerts zu gewährleisten, darf eine Hashfunktion von anderen Algorithmen nicht umkehrbar und somit leicht zu entschlüsseln sein. Weiterhin muss eine Hash-Funktion kollisionsresistent sein. Das bedeutet, dass die Generierung des gleichen Hashwerts aus zwei unterschiedlichen Eingaben vermieden wird.
Arten kryptografischer Hashfunktionen
Zur Verschlüsselung von Informationen stehen unterschiedliche Arten von Hashfunktionen zur Verfügung. Neben HAVAL, Tiger etc. finden insbesondere Algorithmen wie MD4, MD5 und MD6 in der Informationssicherheit Anwendung. Letztere Message-Digest-Algorithmen werden für die Ver- und Entschlüsselung digitaler Signaturen verwendet. Da es in der Vergangenheit zu Angriffen auf die einzelnen Hash-Algorithmen kam, gelten beispielsweise MD4 und MD5 als unsicher. Einen weiteren Hash-Algorithmus, der als besonders schützend vor Manipulationen gilt, stellt der SHA dar. Der Secure-Hash-Algorithmus wurde von der NSA entwickelt und wird heutzutage als Standard verwendet.