Alexander Neitzel · geprüft 25.10.2026 · aktualisiert 25.10.2026 · 8 Min. Lesezeit
In Kürze
Eine Hash Function (Hashfunktion) bildet Daten nahezu beliebiger Länge auf einen Wert fester Länge ab, den Hashwert; beim Verfahren SHA-256 hat er 256 Bit.
Den Hashwert zu einer Eingabe zu berechnen ist leicht; bei einer kryptografischen Hash Function ist es dagegen rechnerisch nicht machbar, aus einem Hashwert die Eingabe zu finden, solange sich die Eingabe nicht erraten lässt; anders als bei einer Verschlüsselung gibt es keinen vorgesehenen Rückweg.
Bei Hash-Algorithmen wie SHA-256 aus dem Standard FIPS 180-4 führt jede Änderung an den Daten mit sehr hoher Wahrscheinlichkeit zu einem anderen Hashwert, und Bitcoin nutzt Hash Functions, um Blöcke zu verketten: Jeder Block Header enthält den Hash des vorigen.
Nach einem Entwurf von NIST sind die von NIST standardisierten Hash Functions deutlich weniger anfällig für bekannte Quantenangriffe als Public-Key-Standards, zu denen ECDSA gehört.
NiveauEinstiegStufe 1 von 3
Eine Hash Function (Hashfunktion) bildet eine Nachricht nahezu beliebiger Länge auf einen Wert fester Länge ab. Dieser Artikel erklärt, was dabei geschieht, warum ein Hash keine Verschlüsselung ist und wofür Bitcoin Hash Functions nutzt.
01Was macht eine Hash Function?
Die Eingabe einer Hash Function heißt Nachricht (englisch Message). Ihre Ausgabe heißt Digest, und während die Länge der Nachricht schwanken kann, ist die Länge des Digest fest. Für das Ergebnis sind drei Namen üblich: Message Digest, Hash Value (Hashwert) oder Hash Output. Ein Beispiel ist das Verfahren SHA-256, das einen Hashwert von 256 Bit erzeugt.
Im mathematischen Sinn ist eine Hash Function eine Funktion H, die einer Eingabe s den Wert H(s) zuordnet; als Funktion liefert sie für dieselbe Eingabe stets denselben Hashwert. Schutzmechanismen brauchen eine kryptografische Hash Function: Bei ihr ist es leicht, den Hashwert zu einer Eingabe zu berechnen, aus einem Hashwert die Eingabe zu finden dagegen rechnerisch nicht machbar.
Grafik 1 · Der Weg durch eine kryptografische Hash Function. Vorwärts ist der Hashwert leicht zu berechnen; vom Hashwert zurück zur Eingabe zu kommen, ist rechnerisch nicht machbar, solange sich die Eingabe nicht erraten lässt.Grafik 1 in Worten
Die Grafik zeigt drei Stationen. Im Querformat stehen sie von links nach rechts nebeneinander, im Hochformat von oben nach unten untereinander. Die erste Station ist die Eingabe, die Nachricht, mit nahezu beliebiger Länge. Ein Pfeil führt zur zweiten Station, der Hash Function (kryptografische Hashfunktion), die jeder Eingabe einen Wert zuordnet. Ein weiterer Pfeil mit der Beschriftung „leicht“ führt zur dritten Station, dem Hashwert (Digest) mit fester Länge; dieser Kasten ist gold umrandet. Vom Hashwert führt ein gestrichelter Bogen zurück zur Eingabe. Er ist mit einem Kreuz durchgestrichen und trägt die Beschriftung „zurück: rechnerisch nicht machbar“. Die Beschriftung „leicht“ steht dafür, dass der Hashwert vorwärts leicht zu berechnen ist. Dargestellt ist eine kryptografische Hash Function. Die Grafik zeigt keinen echten Hashwert.
Für Fortgeschrittene: Welche Standards gibt es?
Der Standard FIPS 180-4 legt mehrere Hash-Algorithmen fest, darunter SHA-1 und SHA-256. Für SHA-1 plant das NIST den Ausstieg: Bis zum 31. Dezember 2030 will es die Nutzung von SHA-1 für den kryptografischen Schutz in allen Anwendungen beenden. Für das Erzeugen neuer digitaler Signaturen hatte das NIST die Nutzung von SHA-1 schon 2011 abgekündigt. Der Standard FIPS 202 legt die SHA-3-Familie fest. Sie besteht aus vier kryptografischen Hash Functions und zwei Extendable-Output Functions (Funktionen mit erweiterbarer Ausgabe, kurz XOFs). SHA-3 ergänzt die Hash Functions aus FIPS 180-4, also SHA-1 und die SHA-2-Familie. Nach NIST bieten beide Standards zusammen Widerstandskraft gegen künftige Fortschritte in der Analyse von Hash Functions, weil sie auf grundverschiedenen Entwurfsprinzipien beruhen.
02Was passiert, wenn sich die Eingabe ändert?
Bei den Hash-Algorithmen aus FIPS 180-4 führt jede Änderung an einer Nachricht mit sehr hoher Wahrscheinlichkeit zu einem anderen Hashwert. Für die meisten Anwendungen ist außerdem erwünscht, dass sich der neue Hashwert nicht vorhersagen lässt.
Daraus ergibt sich der Zweck: Mit Hashwerten lässt sich erkennen, ob eine Nachricht verändert wurde, seit ihr Hashwert gebildet wurde. Ein Hashwert, der als Prüfwert mit den Daten mitgeliefert wird, erkennt so zufällige Änderungen; wer Daten aber gezielt verändert, kann auch den mitgelieferten Prüfwert passend zu den geänderten Daten ändern. Gegen solche Angriffe muss die Funktion gut gewählt sein, etwa eine kryptografische Hash Function, und das Ergebnis muss selbst kryptografisch geschützt sein, zum Beispiel durch eine Digital Signature (digitale Signatur).
03Was unterscheidet eine kryptografische Hash Function?
Eine kryptografische Hash Function ist gezielt so entworfen, dass sie besondere Eigenschaften hat, darunter Collision Resistance (Kollisionsresistenz) und Preimage Resistance (Urbild-Resistenz). Im Einzelnen geht es um diese Eigenschaften:
Preimage Resistance: Zu einem gegebenen Hashwert ist es rechnerisch nicht machbar, eine passende Eingabe zu finden; diese Eigenschaft heißt auch Einweg-Eigenschaft.
Second Preimage Resistance (Zweit-Urbild-Resistenz): Zu einer vorgegebenen Eingabe ist es rechnerisch nicht machbar, eine zweite Eingabe mit demselben Hashwert zu finden.
Collision Resistance: Es ist rechnerisch nicht machbar, überhaupt zwei verschiedene Eingaben mit demselben Hashwert zu finden.
Nach Angaben des Standards FIPS 180-4 heißen seine Algorithmen sicher, weil es rechnerisch nicht machbar sei, zu einem Hashwert eine passende Nachricht oder zwei verschiedene Nachrichten mit gleichem Hashwert zu finden. Für SHA-1 schränkt die NIST-Empfehlung SP 800-107 das bei den Kollisionen ein: Nach den neuesten Analysen, auf die sie verweist, kann die Collision Resistance von SHA-1 erheblich unter der erwarteten Stärke von 80 Bit liegen.
Die digitale Signatur zum Beispiel braucht von der Hash Function sowohl Collision Resistance als auch Second Preimage Resistance. Wird statt der Nachricht ihr Hashwert signiert, sorgt die Collision Resistance dafür, dass die Nachricht nicht gegen eine andere mit demselben Hashwert und damit derselben Signatur ausgetauscht worden sein kann. Nach Angaben von SP 800-107 eignet sich SHA-1 nicht für allgemeine Anwendungen digitaler Signaturen, die 112 Bit Sicherheit verlangen, weil es die dafür nötigen 112 Bit Collision Resistance nicht bietet.
Für Fortgeschrittene: Wie stark sind die drei Eigenschaften?
Die NIST-Empfehlung SP 800-107 nennt für eine Hash Function mit einem Hashwert von L Bit eine erwartete Stärke von L Bit für die Preimage Resistance; für SHA-256 sind das erwartete 256 Bit. Für die Second Preimage Resistance von SHA-256 nennt sie erwartete 256 Bit, doch bei manchen Hash Functions hängt diese Stärke auch von der Länge der Nachricht ab. Für SHA-256 gibt ihre Tabelle 1 dafür eine Spanne von 201 bis 256 Bit an; der untere Wert gilt für Nachrichten, die so lang sind, wie die Hash Function höchstens zulässt. Für die Collision Resistance beträgt die erwartete Stärke nur L/2 Bit, bei SHA-256 also 128 Bit. Zum Vergleich: Irgendein Paar zweier Eingaben mit gleichem Hashwert zu finden, kostet nur einen Rechenaufwand in der Größenordnung von 2 hoch n/2 bei einem Hashwert von n Bit.
04Ist ein Hash dasselbe wie Verschlüsselung?
Nein, denn Verschlüsselung ist umkehrbar: Die Entschlüsselung stellt verschlüsselte Daten in ihrer ursprünglichen Form wieder her. Eine Hash Function hat diesen Rückweg nicht; die Algorithmen aus FIPS 180-4 sind als Einweg-Hash-Functions beschrieben. Auch ein Birthday Attack (Geburtstagsangriff) findet zu einem gegebenen Hashwert eine passende Eingabe nicht in kürzerer Zeit als bloßes Durchprobieren. Lässt sich die Eingabe aber erraten, etwa ein Passwort, kann schon Durchprobieren reichen: Bei einem Dictionary Attack (Wörterbuchangriff) werden der Reihe nach die Einträge einer langen Liste möglicher Passwörter ausprobiert.
Auch bei einer digitalen Signatur wird nicht die Nachricht selbst umgewandelt: Zuerst wird sie in eine Hash Function gegeben, und erst der Hashwert wird mit dem Private Key (privater Schlüssel) des Unterzeichners kryptografisch umgewandelt.
05Wofür nutzt Bitcoin Hash Functions?
Das Bitcoin-Whitepaper beschreibt einen Zeitstempel-Server: Er bildet den Hash eines Blocks von Einträgen und veröffentlicht diesen Hash. Jeder Zeitstempel nimmt den vorigen in seinen Hash auf, so entsteht eine Kette.
In Bitcoin enthält jeder Block Header (Blockkopf) den doppelten SHA-256-Hash des vorigen Block Headers; so kann kein früherer Block geändert werden, ohne auch diesen Header zu ändern. Ein neuer Block wird mit dem Hash des akzeptierten Blocks als Verweis auf den Vorgänger gebaut.
Grafik 2 · Die Verkettung. Jeder Block Header enthält den Hash des vorigen Block Headers; der nächste Block wird mit dem Hash des akzeptierten Blocks gebaut.Grafik 2 in Worten
Die Grafik zeigt drei Blöcke, Block A, Block B und Block C. Im Querformat stehen sie von links nach rechts nebeneinander, im Hochformat von oben nach unten untereinander. Jeder Block trägt die Zweitzeile „(Block Header)“ und den Text „enthält den Hash des vorigen Headers“. Ein Pfeil mit der Beschriftung „Hash von A“ führt von Block A zu Block B, ein zweiter Pfeil mit der Beschriftung „Hash von B“ von Block B zu Block C. Die Pfeile zeigen, dass der Hash eines Blocks in den nächsten Block eingeht.
Beim Proof of Work (Arbeitsnachweis) wird ein Wert gesucht, dessen Hash, etwa mit SHA-256 berechnet, mit einer bestimmten Zahl von Null-Bits beginnt. Dazu wird eine Nonce (hochgezählte Zahl) im Block so lange erhöht, bis der Hash des Blocks die geforderten Null-Bits hat. Der durchschnittliche Aufwand wächst exponentiell mit der Zahl der geforderten Null-Bits, die Prüfung braucht dagegen einen einzigen Hash. In der Bitcoin Developer Reference ist die Vorgabe genauer gefasst: Der Hash eines Block Headers muss als Zahl kleiner oder gleich einem Target (Zielwert) sein. Sind alle Werte der Nonce durchprobiert, kann zum Beispiel die Zeitangabe im Header geändert werden. Wer einen fertigen Block ändern will, muss diese Arbeit neu leisten, und zwar auch für alle Blöcke, die danach angehängt wurden.
Auch die Transaktionen eines Blocks werden gehasht, und zwar in einem Merkle Tree (Hash-Baum); nur seine Wurzel geht in den Hash des Blocks ein. Diese Merkle Root (Wurzel-Hash) wird aus den Hashes aller Transaktionen des Blocks abgeleitet, sodass keine davon geändert werden kann, ohne den Header zu ändern.
06Was bedeuten Quantencomputer für Hash Functions?
Nach dem Entwurf NIST IR 8547 sind die bestehenden NIST-Standards der symmetrischen Kryptografie, darunter Hash Functions, deutlich weniger anfällig für bekannte Quantenangriffe als die Standards der Public-Key Cryptography (Kryptografie mit öffentlichem Schlüssel), zu denen FIPS 186 gehört. FIPS 186 legt unter anderem den Elliptic Curve Digital Signature Algorithm (ECDSA) fest, und diese Verfahren sind auf einem kryptografisch relevanten Quantencomputer für Shors Algorithmus anfällig.
Im selben Entwurf schreibt NIST, es erwarte nicht, die symmetrischen Standards im Zuge der Umstellung auf Post-Quantum-Kryptografie ablösen zu müssen. In seinen Antworten auf häufige Fragen kündigt NIST an, Hinweise zu einem Übergang bei Hash Functions zu geben, sobald ein Bedarf dafür absehbar ist.
Welche Narrative gerade breit besprochen werden, zeigt der Orbit.
07Häufige Missverständnisse
Kann man einen Hashwert entschlüsseln?
Nein. Entschlüsseln heißt, verschlüsselte Daten in ihre ursprüngliche Form zurückzuführen, und diesen Rückweg gibt es bei einer Hash Function nicht. Zu einem zufällig gewählten Hashwert eine passende Eingabe zu finden, ist rechnerisch nicht machbar. Auch ein Geburtstagsangriff findet sie nicht in kürzerer Zeit als bloßes Durchprobieren. Lässt sich die Eingabe aber erraten, etwa ein Passwort, kann ein Angreifer mögliche Passwörter der Reihe nach durchprobieren und die Ergebnisse mit gespeicherten Werten abgleichen.
Verschlüsselt eine digitale Signatur die Nachricht?
Nein. Zuerst wird die Nachricht in eine Hash Function gegeben. Danach wird der Hashwert mit dem privaten Schlüssel des Unterzeichners kryptografisch umgewandelt, nicht die Nachricht selbst.
Brechen Quantencomputer Hash Functions so wie ECDSA?
Nach einem Entwurf von NIST nicht in gleicher Weise. Die bestehenden NIST-Standards der symmetrischen Kryptografie, darunter Hash Functions, sind danach deutlich weniger anfällig für bekannte Quantenangriffe als die Public-Key-Standards. ECDSA dagegen ist auf einem kryptografisch relevanten Quantencomputer für Shors Algorithmus anfällig.