Ein kryptografischer Hash ist die Ausgabe fester Länge, auch Hashwert oder Digest genannt, die eine kryptografische Hashfunktion aus einer Eingabe berechnet. Die Funktion ist so konzipiert, dass sie in eine Richtung funktioniert, das heißt, die Eingabe lässt sich praktisch nicht zurückgewinnen, und kollisionsresistent ist, das heißt, zwei unterschiedliche Eingaben mit demselben Ausgabewert zu finden, soll praktisch unmöglich sein. Bitcoin nutzt Hashes für den Proof of Work und die Verknüpfung von Blöcken.
Was macht eine kryptografische Hashfunktion?
Eine kryptografische Hashfunktion ist ein Algorithmus, der wie eine Fingerabdruckmaschine funktioniert. Sie verdichtet Daten beliebiger, praktisch handhabbarer Länge – etwa ein Wort, eine Datei oder eine Bitcoin-Transaktion – zu einem Fingerabdruck fester Größe, wobei dieselben Daten immer denselben Fingerabdruck ergeben. Die Funktion ist so ausgelegt, dass ein Computer sie leicht berechnen kann.
Die Ausgabe wird als kryptografischer Hash, Hashwert oder Digest bezeichnet, und Standards des National Institute of Standards and Technology (NIST) sprechen auch von einem „Message Digest“. Die Berechnung eines kryptografischen Hashwerts nennt man Hashing oder kryptografisches Hashing.
Die folgende Tabelle wendet den Secure Hash Algorithm 256 (SHA-256), eine weit verbreitete kryptografische Hashfunktion, auf zwei sehr unterschiedlich lange Eingaben an. Jeder Hashwert besteht aus 64 Hexadezimalzeichen. Hexadezimal ist eine Zahlendarstellung zur Basis 16, bei der ein Zeichen für 4 Bit steht, sodass 64 Zeichen 256 Bit entsprechen.
| Eingabe | Länge der Eingabe (Zeichen) | SHA-256-Hashwert |
|---|---|---|
abc | 3 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq | 56 | 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 |
Welche Eigenschaften machen einen Hash kryptografisch?
Ein kryptografischer Hash ist deterministisch. Dieselbe Eingabe ergibt auf jedem Computer und zu jedem Zeitpunkt denselben Hashwert, sodass jeder einen Hashwert neu berechnen und mit einem erhaltenen Wert vergleichen kann.
Ein kryptografischer Hash hat eine feste Länge. Kurze und lange Eingaben erzeugen beide eine Ausgabe gleicher Größe: Bei SHA-256 ergeben sowohl eine Eingabe mit 3 Zeichen als auch eine mit 56 Zeichen 256 Bit.
Ein kryptografischer Hash ist so konzipiert, dass er urbildresistent (preimage-resistant) ist, was die Hashfunktion zu einer Einwegfunktion macht. Hat man nur einen Hashwert, soll es praktisch unmöglich sein, eine Eingabe zu finden, die diesen erzeugt. Anders gesagt: Einen Hashwert zu berechnen ist einfach, die Eingabe daraus zurückzugewinnen soll jedoch unmöglich sein.
Ein kryptografischer Hash ist so konzipiert, dass er resistent gegen Zweitbild-Angriffe (second-preimage) ist. Dabei kennt der Angreifer eine bestimmte Eingabe und deren Hashwert, und die Aufgabe besteht darin, eine andere Eingabe zu finden, die denselben Hashwert ergibt. Das unterscheidet sich von der Urbildresistenz, bei der der Angreifer nur den Hashwert kennt.
Ein kryptografischer Hash ist so konzipiert, dass er kollisionsresistent ist. Eine Kollision liegt vor, wenn zwei unterschiedliche Eingaben denselben Hashwert ergeben; bei dieser Eigenschaft darf der Angreifer beide Eingaben frei wählen. Kollisionen müssen zwangsläufig existieren, da es mehr mögliche Eingaben als mögliche Ausgaben gibt: SHA-256 hat zum Beispiel 2 hoch 256 mögliche Hashwerte. Kollisionsresistenz bedeutet also, dass niemand in der Praxis eine Kollision finden können soll – nicht, dass keine existiert.
Ein kryptografischer Hash zeigt einen Lawineneffekt. Eine kleine Änderung der Eingabe verändert den Hashwert unvorhersehbar. Ändert man „abc“ in „abd“, ändern sich 122 der 256 Bit des SHA-256-Hashwerts, obwohl sich nur ein einziges Zeichen unterscheidet.
Wie unterscheidet sich ein kryptografischer Hash von einer Prüfsumme, Verschlüsselung und einer Signatur?
Ein kryptografischer Hash unterscheidet sich von einer Prüfsumme in seinen Entwurfszielen. Eine Prüfsumme ist ein Wert, der berechnet wird, um zufällige Änderungen zu erkennen, etwa bei der Übertragung beschädigte Daten. Wer sowohl die Daten als auch die zugehörige Prüfsumme ändert, kann diese Prüfung bestehen – eine Prüfsumme allein bietet also keinen Schutz vor absichtlicher Manipulation. Eine Prüfsumme muss dafür weder einwegfähig noch kollisionsresistent sein, während eine kryptografische Hashfunktion genau das sein soll.
Ein kryptografischer Hash ist keine Verschlüsselung. Verschlüsselung wandelt lesbare Daten mithilfe eines Schlüssels in Geheimtext um, und wer den Schlüssel besitzt, kann sie rückgängig machen. Eine schlüssellose kryptografische Hashfunktion wie SHA-256 nimmt nur die Daten als Eingabe und ist als Einwegfunktion konzipiert, sodass es nichts zu entschlüsseln gibt. Formulierungen wie „Hash-Verschlüsselung“ oder „einen Hash entschlüsseln“ vermischen zwei unterschiedliche Werkzeuge.
Ein kryptografischer Hash ist keine digitale Signatur. Eine digitale Signatur verwendet einen privaten Schlüssel zum Signieren und einen öffentlichen Schlüssel zur Überprüfung, und sie kann sowohl den Ursprung als auch die Integrität von Daten bestätigen. Hashing ist in der Regel Teil des Signierens: Die Nachricht wird zuerst gehasht, und die Signaturfunktion verarbeitet dann den Hashwert anstelle der gesamten Nachricht.
Was leisten Hashfunktionen bei Bitcoin?
Hashing bei Krypto leistet bei Bitcoin ganz konkrete Arbeit, das an fünf zentralen Stellen auf Hashfunktionen setzt. Bitcoin wendet SHA-256 meist zweimal an, was als Double-SHA-256 bezeichnet wird: Die Funktion läuft einmal über die Daten und dann erneut über ihre eigene Ausgabe.
Transaktions-IDs. Eine Transaktions-ID ist der Double-SHA-256-Hash der serialisierten Transaktionsdaten, ohne die Witness-Daten von Segregated-Witness-Transaktionen (SegWit). Eine Transaktions-ID ändert sich also, wenn sich eine Eingabe oder Ausgabe der Transaktion ändert.
Merkle-Baum. Ein Merkle-Baum ist eine Struktur, die viele Hashes zu einem einzigen verdichtet. Bitcoin hasht Transaktions-IDs paarweise, Ebene für Ebene, bis nur noch ein einziger Hash übrig bleibt. Dieser Hash ist die Merkle-Root, und er fasst alle Transaktionen des Blocks zusammen. Der Block-Header ist eine 80 Byte große Zusammenfassung eines Blocks und speichert die Merkle-Root.
Proof of Work. Beim Bitcoin-Mining hasht ein Miner den Block-Header. Der Header enthält eine Versionsnummer, den Hash des Headers des vorherigen Blocks, die Merkle-Root, einen Zeitstempel, eine kodierte Form des Zielwerts (Target) und eine Nonce. Die Nonce ist eine Zahl, die der Miner bei jedem Versuch ändert. Das Target ist ein durch die Bitcoin-Regeln festgelegter Schwellenwert, und ein Header ist nur gültig, wenn sein Double-SHA-256-Hashwert, als Zahl gelesen, bei oder unter diesem Target liegt.
Blockverknüpfungen. Ein kryptografischer Hash verbindet einen Block mit dem nächsten. Jeder Block-Header speichert den Hash des Headers des vorherigen Blocks in einem Feld namens „Hash des vorherigen Block-Headers“, und dieses Feld verkettet die Blöcke in der richtigen Reihenfolge.
Adressen. Ein kryptografischer Hash hilft auch beim Erstellen von Adressen. Legacy- und SegWit-Einzelschlüssel-Adressen werden abgeleitet, indem ein öffentlicher Schlüssel zunächst mit SHA-256 und anschließend mit RIPEMD-160 gehasht wird. RIPEMD-160 ist eine zweite Hashfunktion mit einer Ausgabe von 160 Bit. Script-Hash- und Taproot-Adressen werden anders aufgebaut, sodass nicht jede Bitcoin-Adresse diesem Muster folgt.
Warum macht Hashing die Blockchain-Historie manipulationssicher erkennbar?
Ein kryptografischer Hash macht eine Änderung an alten Blockchain-Daten sichtbar, weil die Hashes in jedem Block voneinander abhängen. Angenommen, jemand verändert eine Eingabe oder Ausgabe einer Transaktion in einem alten Block. Daraus folgen vier Dinge nacheinander:
- Die Transaktions-ID ändert sich, wodurch sich die Merkle-Root dieses Blocks ändert.
- Der Block-Header enthält die Merkle-Root, also ändert sich auch der Hash dieses Headers.
- Der nächste Block speichert den alten Header-Hash in seinem Feld „Hash des vorherigen Block-Headers“, und der gespeicherte Wert stimmt nicht mehr mit dem neu berechneten überein.
- Damit die Kette wieder konsistent wird, müsste jeder spätere Block neu aufgebaut werden, und für jeden müsste der Proof of Work erneut erbracht werden.
Da ein kryptografischer Hash deterministisch ist, kann jeder, der Kopien der Blöcke besitzt – einschließlich eines Full Node –, den Hash eines Headers neu berechnen und mit dem im nächsten Block gespeicherten Wert vergleichen. Ein Full Node ist ein Computer, der die Bitcoin-Software ausführt, die Kette speichert und empfangene Blöcke gegen die Konsensregeln prüft.
Verifizierbarkeit bezeichnet die Fähigkeit von Netzwerkteilnehmern, jede Transaktion oder jeden Block selbst zu überprüfen. Hashing trägt zur Verifizierbarkeit bei, da jeder Teilnehmer mit Kopien der Blöcke diesen Hash-Vergleich wiederholen kann.
Unveränderlichkeit ist die Widerstandsfähigkeit eines Blockchain-Netzwerks gegen Zensur und Veränderung. Hashing trägt zu dieser Widerstandsfähigkeit bei, indem es veränderte Historie sichtbar macht.
Manipulationssicher erkennbar (Tamper-evident) ist nicht dasselbe wie manipulationssicher (Tamper-proof). Durch Hashes verkettete Blöcke machen eine Änderung sichtbar und teuer in der Wiederholung, aber sie machen eine Änderung nicht logisch unmöglich. Die Hashrate ist die Anzahl der Hashes, die das Netzwerk pro Sekunde berechnet. Eine Gruppe, die die Mehrheit der Netzwerk-Hashrate kontrolliert, könnte die Historie zuverlässig umschreiben.
Was sagt Ihnen ein kryptografischer Hash nicht?
Ein kryptografischer Hash kann zeigen, dass sich Daten geändert haben, aber nicht, wer sie erstellt oder geändert hat. Die Urheberschaft ist die Aufgabe einer digitalen Signatur.
Ein kryptografischer Hash macht eine schwache Eingabe nicht sicher. Einen Hashwert umzukehren ist praktisch unmöglich, aber jeder kann Vermutungen hashen und die Ergebnisse vergleichen. Da eine Hashfunktion leicht zu berechnen ist, wird eine kurze oder gängige Eingabe – etwa ein einfaches Passwort oder eine vierstellige PIN – in der Regel schnell gefunden.
Eine kryptografische Hashfunktion ist so konzipiert, dass sie einwegfähig und kollisionsresistent ist. Dabei handelt es sich um Entwurfsziele, die NIST als erwartete Eigenschaften einer solchen Funktion beschreibt, nicht um bewiesene Garantien.
Eine Hashfunktion kann im Laufe der Zeit geschwächt werden, und SHA-1 ist dafür ein dokumentiertes Beispiel. NIST stufte SHA-1 im Jahr 2011 als veraltet ein und untersagte seine Verwendung für digitale Signaturen Ende 2013. Im Februar 2017 veröffentlichten Forscher des Centrum Wiskunde & Informatica (CWI) in Amsterdam und von Google die erste praktisch durchführbare SHA-1-Kollision. Im Dezember 2022 kündigte NIST an, dass SHA-1 bis Ende 2030 ausgemustert werden soll.
Stand Oktober 2026 führt NIST SHA-256 weiterhin als zugelassen, und auf der Hashfunktions-Seite des Instituts wird kein Kollisions- oder Urbild-Angriff auf die vollständige Funktion erwähnt. Das ist ein bisheriger Stand, keine Zusage für die Zukunft.
12. November 2026











