Definition Hash, Hashwert und Hashfunktion

Was ist ein Hash?

| Autor / Redakteur: Linefeed / Peter Schmitz

Hashwerte und Hashfunktionen werden an vielen Stellen in der Informatik eingesetzt, unter anderem in der Kryptografie und zum Schutz von Passwörtern.
Hashwerte und Hashfunktionen werden an vielen Stellen in der Informatik eingesetzt, unter anderem in der Kryptografie und zum Schutz von Passwörtern. (Bild: gemeinfrei / CC0)

Hashwerte und Hashfunktionen spielen bei der Verschlüsselung eine wichtige Rolle, jedoch nicht nur in der Kryptographie. Programmierer begegnen dem Hash bereits bei den grundlegenden Datentypen. Es gibt aber auch verwandte Konzepte, die leicht verwechselt werden.

Als Hash oder Hashwert bezeichnet die Informatik die Ausgabe einer Hashfunktion, als Hash aber auch einen listenartigen Datentyp, bei dem der Zugriff auf die Elemente über deren Hashwert erfolgt, die Hashtabelle.

Die Hashfunktion bildet allgemein einen beliebigen Datenraum auf Daten fester Größe ab. Ihre typischen Eigenschaften unterscheiden sich teilweise in verschiedenen Anwendungsbereichen. Der Name leitet sich vom englischen Begriff für Zerhacken und Gehacktem ab und bietet eine anschauliche Analogie für die Arbeitsweise einer Hashfunktion beim Berechnen von Hashes aus den Informationen der Eingabewerte.

Für welche Anwendungen wird der Hash genutzt?

  • Datentyp Hashtabelle
  • Caching
  • Schutz sensibler Daten
  • Auffinden von Duplikaten
  • Suche nach ähnlichen Datensätzen oder Substrings in Zeichenketten
  • Test auf Enthaltensein in einer Menge
  • verschiedene Anwendungen in der Kryptographie

Die Basisanforderungen an eine Hashfunktion

Jede Hashfunktion muss zunächst bei mehrfacher Anwendung für jede Eingabe immer wieder dasselbe Ergebnis liefern, sie muss deterministisch sein. Das unterscheidet sie von einer Randomisierungsfunktion. In die Berechnung von Hashwerten dürfen also keine zufälligen Elemente einfließen, es sei denn, diese bleiben für die Nutzungsdauer des Hashs konstant. Das ist beispielsweise bei der Programmiersprache Python der Fall, deren Interpreter beim Start einen Zufallswert für die Randomisierung der Hashwerte generiert, sodass diese nur innerhalb eines Programmmablaufs gültig sind.

Weiterhin sollten sich die Ergebnisse, die eine Hashfunktion für ihre erwartbaren Eingaben liefert, möglichst gleichmäßig auf ihren Wertebereich verteilen. Insbesondere unterschiedliche Datensätze mit demselben Hashwert, sogenannte Kollisionen, sind meist unerwünscht. Beim Datentyp Hash erhöhen sie den Aufwand für das Auffinden der entsprechenden Elemente. In der Kryptographie stellen sie potentielle Angriffsvektoren dar. Kollisionen lassen sich aber nur in Sonderfällen vollständig vermeiden, man spricht dann von einem perfekten Hash und mathematisch betrachtet ist die Hashfunktion injektiv. Bei manchen Anwendungen sind Kollisionen sogar nützlich. Das ist der Fall, wenn sie etwa unwesentliche Informationen wie Unterschiede in der Groß-Klein-Schreibung der Eingabewerte ausblenden. Ebenso beim Locality-sensitive Hashing (LSH), das bei der Suche nach ähnlichen Dokumenten zum Einsatz kommt, beispielsweise nach kopierten Inhalten im Web.

Weitere charakteristische Hash-Eigenschaften

Neben der gleichmäßigen Verteilung der Hashwerte auf die Wertemenge der Hashfunktion, ist die Kontinuität ihrer Ergebnisse von Bedeutung, je nach Anwendungsfeld aber in unterschiedlicher Weise. In der Kryptographie sind Hashfunktionen erwünscht, die für verschiedene Eingaben möglichst unterschiedliche Werte liefern. Das erschwert Brute-Force-Angriffe, die den Ursprungswert durch systematisches Ausprobieren möglicher Eingabewerte zu erraten versuchen. Wird der Hash dagegen zum Auffinden ähnlicher Elemente genutzt, dann sollte die Hashfunktion, gerade im Gegenteil, möglichst kontinuierliche Werte liefern. Jeder Hashwert sollte sich bei dieser Anwendung also von dem einer ähnlichen Eingabe möglichst wenig unterscheiden.

Ein Hash ist keine Verschlüsselung!

Hashfunktionen werden häufig verwendet, um sensible Daten zu schützen. So sind zum Beispiel die Passwörter für den Shell-Zugang zu Unix und kompatiblen Systemen standardmäßig nur als Hashwert und nicht im Klartext in der Passwortdatei gespeichert. Dabei handelt es sich aber nicht um eine Verschlüsselung. Ein wesentlicher Unterschied besteht darin, dass eine Hashfunktion nicht invertierbar ist. Das heißt, es ist nicht möglich, den berechneten Hashwert wieder in den Ursprungswert zurückzurechnen, im genannten Beispiel in das Passwort. Genau das ist aber bei einem Verschlüsselungsalgorithmus erforderlich, damit der legitime Empfänger einer verschlüsselten Nachricht den Originaltext wieder sichtbar machen kann. Beim Passworthash ist das Zurückrechnen dagegen nicht gewollt, aber auch nicht notwendig, denn eine korrekte Passworteingabe kann einfach durch den Vergleich des daraus berechneten mit dem gespeicherten Hashwert verifiziert werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Hacker jagen mit dem Honeypot Deluxe

Security-Startups im Blickpunkt: Cybertrap

Hacker jagen mit dem Honeypot Deluxe

Unternehmen müssen heute eine Vielzahl an Schutzmechanismen auffahren um Hacker, Malware und Insider-Bedrohungen abwehren zu können. Das österreichische Startup Cybertrap hat einen ganz eigenen Ansatz, um Hacker wirksam zu bekämpfen: Man sperrt sie nicht aus, sondern öffnet ihnen die Türen! lesen

Lagebild Cyber- und Wirtschaftsspionage

ENTERPRISE MOBILITY SUMMIT 2017

Lagebild Cyber- und Wirtschaftsspionage

Timo Keim, zuständig für Spionageabwehr und Wirtschaftsschutz beim Landesamt für Verfassungsschutz (LfV) Hessen, ist Keynote Speaker auf dem Enterprise Mobility Summit der Vogel IT-Akademie. Er stellt hier das Lagebild der Cyber- und Wirtschaftsspionage dar und zeigt neue Bedrohungen durch den Einsatz mobiler Endgeräte auf. lesen

5 Schritte zur sicheren Active Directory-Umgebung

Mehr Sicherheit für Domänencontroller

5 Schritte zur sicheren Active Directory-Umgebung

Das Active Directory wird in vielen Unternehmen als zentrales Element zur Authentifizierung genutzt. Daher stehen die Domänencontroller auch im Fokus von Angreifern. Werden diese Systeme kompromittiert, dann ist oft das gesamte Netzwerk in Gefahr. Mit Bordmitteln lässt sich die Sicherheit aber deutlich erhöhen. lesen

Mehr Passwort-Sicherheit durch dezentrale Speicherung

Neuer Security-Ansatz von IBM Research

Mehr Passwort-Sicherheit durch dezentrale Speicherung

Unternehmen verlangen von ihren Kunden und Mitarbeitern immer komplexere Passwörter – mit Klein- und Großschreibung, Zahlen und Sonderzeichen. Das soll der Sicherheit der Daten dienen, dennoch erfahren Nutzer von Web-Applikationen regelmäßig, dass es Hacker geschafft haben, ihre Daten trotz dieser Maßnahmen zu erbeuten. lesen

Webseiten-Schutz für Jedermann!

Security-Startups im Blickpunkt: Patronus.io

Webseiten-Schutz für Jedermann!

Gerade bei KMU und kleinen Web-Agenturen fehlt oft das Knowhow für die nötige Sicherheit der Systeme. Das Berliner Startup Patronus.io bietet einen klassischen Schutz für Webseiten an, der sich ohne viel Schnick-Schnack an Bedarf des Kunden und an den derzeitigen Angriffsvektoren der Hacker und Cyberkriminellen orientiert und das zum KMU-tauglichen Preis. lesen

Admins und Admin-Konten vor Angriffen schützen

Privileged Access Management

Admins und Admin-Konten vor Angriffen schützen

Manipulationen in IT-Systemen oder Datendiebstahl gehen oft auf das Konto von Administratoren. Dieser vorsätzliche oder unwissentliche Missbrauch von erweiterten Rechten lässt sich durch Privilegd Access Management effizient und automatisiert eindämmen. Welche Anforderung eine solche Software, die den Zugang zu privilegierten Konten begrenzt, erfüllen muss. lesen

Passwörter knacken mit THC Hydra und John the Ripper

Windows-Kennwörter und Netzwerk-Accounts hacken

Passwörter knacken mit THC Hydra und John the Ripper

Das Knacken von Zugangsdaten sieht im TV immer recht einfach aus – die Realität ist glücklicherweise eine andere. An guten Kennwörter beißen sich Passwort-Cracker die Zähne aus, IT-Verantwortliche sollten sich aber mit den Tools zu Online- und Offline-Attacken auskennen. lesen

Malware-Prävention durch Machine Learning

Cyberabwehr mit mathematischen Modellen

Malware-Prävention durch Machine Learning

Die herkömmliche, signaturbasierte Abwehr von Cyber-Angriffen kommt immer häufiger an ihre Grenzen. Zu den neuen Methoden, die diese Schwächen ausgleichen, gehört das „Machine Learning“, das mit mathematisch-statistischen Modellen schädliche Dateien identifiziert. lesen

So knacken Sie WLAN-Verschlüsselungen

WEP, WPA2 und WPS hacken

So knacken Sie WLAN-Verschlüsselungen

WLAN-Verschlüsselungen aufzubrechen ist grundsätzlich machbar – wenn man die richtigen Werkzeuge hat. Die größte Hürde ist eine passende Passwortliste, die eigentlichen Tools sind kostenlos erhältlich und leicht zu bedienen. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44848166 / Definitionen)