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
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  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

Lösungsansatz: Blockchain und DSGVO-Konformität

LegalThings

Lösungsansatz: Blockchain und DSGVO-Konformität

Die EU-Datenschutzgrundverordnung (DSGVO) ist am 25. Mai 2018 in Kraft getreten und sorgt in den Medien und vielen Unternehmen für Unruhe. Unter anderem steht die These im Raum, dass die Blockchain-Technologie mit der DSGVO unvereinbar sei. Das niederländische Unternehmen LegalThings One hat jedoch einen Weg gefunden, um dieses Problem zu lösen. lesen

„Gemeinsam mit der Industrie bringen wir IOTA auf das nächste Level“

Interview mit Dominik Schiener

„Gemeinsam mit der Industrie bringen wir IOTA auf das nächste Level“

Die neue Technologie IOTA steckt noch in den Kinderschuhen, dennoch gilt sie schon jetzt als echte Alternative zu Bitcoin und Blockchain. Dominik Schiener, Co-Founder von IOTA, sprach mit uns über Gemeinsamkeiten und Unterschiede, das große Thema Sicherheit, aber auch über die Zukunftspläne von IOTA. lesen

Was ist ein Hardware-Sicherheitsmodul (HSM)?

Definition Hardware Security Module / Hardware-Sicherheitsmodul (HSM)

Was ist ein Hardware-Sicherheitsmodul (HSM)?

Ein Hardware-Sicherheitsmodul ist eine eigenständige Hardware-Komponente, die kryptografische Verfahren absichert. Je nach Typ kann das Hardware-Sicherheitsmodul Schlüssel für kryptografische Verfahren erzeugen oder verwalten, Signaturen und Identitäten schützen oder die Übertragung von Daten absichern. lesen

Blockchain-Alternativen für das Internet der Dinge

Alternative Blockchain-Verfahren

Blockchain-Alternativen für das Internet der Dinge

Blockchain ist in der IT ein globaler Trend und fast täglich gibt es Meldungen über neue Einsatzgebiete für die Technologie. Gerade im Zusammenhang mit großen IoT-Netzwerken hat Blockchain aber diverse Probleme und Mängel. Forscher arbeiten bereits daran, diese durch neue Verfahren, die ebenfalls sicher sind und Vertrauen verdienen, zu verbessern. lesen

Neue Gefahr Cryptojacking

Digitaler Goldrausch

Neue Gefahr Cryptojacking

Als „Cryptojacking“ – eine Wortneuschöpfung aus den englischen Begriffen „Cryptocurrency“ (Kryptowährung) und „Hijacking“ (Entführung) – bezeichnet man das Kapern des Browsers eines Endanwenders mit dem Ziel, dessen Computer für das unerwünschte Schürfen digitaler Währungen zu missbrauchen. Der Angriff erfreut sich bei Cyberkriminellen neuerdings großer Beliebtheit. lesen

IT-Forensik mit Kali Linux

Kali Linux Workshop, Teil 4

IT-Forensik mit Kali Linux

In vierten Teil unserer Workshop-Serie zu Kali Linux geht es um die forensischen Werkzeuge, die Teil der Pentesting-Distribution sind. Mit diesen Tools lassen sich Daten retten, Images erzeugen, Dateien aufspüren oder auch PDFs auf Malware untersuchen. lesen

So funktioniert Mobile Connect

Das Smartphone als Identitätsnachweis

So funktioniert Mobile Connect

Die Anmeldung per Nutzername und Passwort gilt als umständlich und nicht mehr zeitgemäß. Mit Mobile Connect hat die weltgrößte Mobilfunkorganisation GSM Association (GSMA) eine Alternative entwickelt, die das Handy als Identitätsnachweis nutzt. In Deutschland haben bereits die großen Mobilfunkbetreiber angekündigt, das Verfahren im Laufe des Jahres einzuführen, aber wie funktioniert Mobile Connect und wie sicher ist es wirklich? lesen

Blockchain: Vielseitig? Aber sicher!

Anwendungsszenarien der Blockchain

Blockchain: Vielseitig? Aber sicher!

Blockchain ist mehr als Bitcoin. Jetzt revolutionieren Unternehmen ihre Prozesse mit der innovativen Technologie. Trotz aller Unterschiede in den Details geht es immer um die Übertragung von Werten auf digitalem Wege – und dabei hat die Blockchain ihre Tauglichkeit bereits bewiesen. lesen

Security Awareness für Programmierer

Security-Startups im Blickpunkt: Securai

Security Awareness für Programmierer

Hacker, Malware und Cyberspionen wirksam den Zugriff auf digitale Unternehmenswerte zu verwehren ist nicht einfach. Man investiert dafür in clevere Software, durchdachte Prozesse und letztendlich auch in Security Awareness beim Mitarbeiter, der als engagierter Wächter ebenfalls Bedrohungen erkennen und eliminieren soll. Gerade Gruppen wie Programmierer bleiben bei diesen Maßnahmen aber oft inhaltlich ausgeschlossen, da man nicht auf Ihre Bedürfnisse eingeht. 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)