...

Fill out the application and wait for a call from our specialists

Bitte aktiviere JavaScript in deinem Browser, um dieses Formular fertigzustellen.
Consent
Home/ Glossary/ Hash

Hash

Ein Hash ist die Ausgabe einer Hashfunktion, die beliebige Eingangsdaten (Text, Datei, Passwort, Zeichenkette, binäres Objekt) in eine feste Zeichenfolge umwandelt. Hashing wird zur Überprüfung der Datenintegrität, zur sicheren Speicherung von Passwörtern, zur Ermöglichung digitaler Signaturen, zur Unterstützung verteilter Systeme und für zahlreiche Netzwerk- und Servermechanismen verwendet.

Eine wichtige Eigenschaft eines Hashes ist die Unmöglichkeit, die ursprünglichen Daten aus dem resultierenden Wert zu rekonstruieren, sowie die hohe Empfindlichkeit gegenüber Änderungen im Eingang: Schon eine Änderung eines einzigen Zeichens verändert die Ausgabe vollständig.

Wie eine Hashfunktion funktioniert

Eine Hashfunktion verarbeitet eine Nachricht variabler Länge blockweise mittels mathematischer und logischer Operationen. Das Ergebnis ist ein Hash fester Größe. Beispielsweise erzeugt SHA-256 immer einen 256-Bit-Hash (64 Zeichen), unabhängig von der Größe der ursprünglichen Daten.

Hashing ist irreversibel: Die Funktion ist nicht für eine Rücktransformation ausgelegt. Es ist außerdem rechnerisch nicht durchführbar, eine andere Eingabe zu finden, die denselben Hash erzeugt (Kollisionsproblem), sofern die Funktion kryptografisch sicher ist.

IT Sicherheit Dienstleister

 

Wichtige Eigenschaften von Hashes

  • Determinismus. Dieselbe Eingabe erzeugt immer dieselbe Ausgabe.
  • Empfindlichkeit gegenüber Änderungen. Eine minimale Änderung der Eingabe verändert den Hash vollständig.
  • Irreversibilität. Es ist unmöglich, die ursprünglichen Daten aus einem Hash wiederherzustellen.
  • Kollisionsresistenz. Zwei unterschiedliche Nachrichten sollten nicht denselben Hash erzeugen.
  • Hohe Leistung. Algorithmen sind für schnelle Berechnung optimiert.

Arten von Hashfunktionen

  • Kryptografische Hashfunktionen. Für Sicherheitszwecke verwendet: SHA-2, SHA-3, BLAKE2, Whirlpool. Sie sind widerstandsfähig gegen Brute-Force-Angriffe und Kollisionen.
  • Nicht-kryptografische Hashfunktionen. Für Datenindizierung, Hashtabellen, verteiltes Rechnen: CRC32, MurmurHash, CityHash. Sie sind schnell, aber für sensible Daten ungeeignet.
  • Gesalzene Hashes (Salted Hashes). Ein Passwort wird vor dem Hashing mit einer zufälligen Zeichenkette (Salt) kombiniert. Dies schützt vor Wörterbuchangriffen und Rainbow Tables.

Wo Hashing verwendet wird

Hashes werden in Betriebssystemen, Netzwerkprotokollen, Datenbanken, Blockchains, Cloud-Diensten, Logsystemen und DevOps-Tools eingesetzt.

Beispiele:

  • Bei der Registrierung eines Benutzerpassworts speichert das System nur den Hash, nicht das Passwort selbst.
  • Bei digitalen Signaturen wird ein Hash zur Integritätsprüfung einer Nachricht verwendet.
  • Git speichert Dateiversionen anhand ihrer Hashes.
  • Eine Blockchain verknüpft Blöcke über den Hash des vorherigen Blocks.
  • CDNs und Browser prüfen anhand des Hashes, ob sich eine Datei geändert hat.
  • Hashtabellen nutzen Hashes für eine schnelle Datenabfrage.

Vorteile

Hashing bietet Datensicherheit ohne Speicherung der Originaldaten, beschleunigt Suche und Integritätsprüfung, reduziert die Systemlast und erhöht die Zuverlässigkeit der Infrastruktur. Es verhindert die unbefugte Wiederherstellung der ursprünglichen Informationen, und Kollisionsresistenz schützt vor Manipulation.

FAQ



Nein. Hashfunktionen sind als irreversibel konzipiert, daher ist die Wiederherstellung der ursprünglichen Nachricht unmöglich.


Verschlüsselung kann mit einem Schlüssel rückgängig gemacht werden; Hashing unterstützt keine Rücktransformation.


Ein Salt ist eine zufällige Zeichenkette, die einem Passwort vor dem Hashing hinzugefügt wird, um Wörterbuch- und Rainbow-Table-Angriffe zu verhindern.


Die Ausgabelänge hängt vom Algorithmus ab: SHA-1 hat 160 Bit, SHA-256 hat 256 Bit, SHA-3-512 hat 512 Bit.


MD5 und SHA-1 gelten aufgrund nachgewiesener Kollisionen als unsicher und werden für kritische Systeme nicht empfohlen.