24 / 736HASH

Hash

kryptografischer Fingerabdruck

Ein kurzer digitaler Fingerabdruck, mit dem sich Daten vergleichen und Änderungen erkennen lassen.

Ein Hash ist das Ergebnis einer Berechnung über Daten, etwa eine Datei oder eine Bitcoin-Transaktion. Gleiche Daten und dasselbe Verfahren liefern denselben Fingerabdruck. Bei einem kryptografischen Hash soll es schwer sein, andere Daten mit demselben Ergebnis oder einen passenden Eingangswert zu einem vorgegebenen Ergebnis zu finden. Er ist keine verschlüsselte Kopie der Daten.

Sie laden eine Installationsdatei herunter. Der Herausgeber hat einen Hashwert zur Überprüfung veröffentlicht. Sie berechnen nun mit demselben Algorithmus den Hashwert Ihrer Kopie. Unterscheiden sie sich, sind die Daten nicht identisch: Die Datei könnte beschädigt, ausgetauscht oder verändert worden sein. Eine Übereinstimmung mit einem vertrauenswürdigen Fingerabdruck gibt dagegen starke Gewissheit, dass Sie die richtige Kopie haben. Die ganze Datei muss nicht von Hand verglichen werden. SHA-256 erzeugt beispielsweise ein Ergebnis von 256 Bit, meist als 64 Hexadezimalzeichen dargestellt, unabhängig davon, ob die Eingabe eine kurze Nachricht oder eine große Datei ist. [1] [3]

Entscheidend ist, woher der Vergleichswert stammt. Tauscht ein Angreifer auf einer Website sowohl die Datei als auch ihren veröffentlichten Hash aus, passen beide zusammen. Zum Hashen ist kein geheimer Schlüssel nötig; öffentliche Daten kann jeder hashen. Ein Hash ist daher etwas anderes als eine digitale Signatur, mit der ein Schlüsselinhaber Daten bestätigt. Bei Bitcoin Core werden neben dem Dateihash auch die Signaturen der Prüfsummenliste und die Vertrauenswürdigkeit der Signaturschlüssel geprüft. Ein Hash allein belegt weder den Urheber noch die Sicherheit eines Programms oder die Wahrheit eines Dokuments. [3]

Beim Hashen gibt es keinen umgekehrten Schritt „entschlüsseln“. Das Ergebnis fester Länge enthält nicht den gesamten Dateiinhalt und eignet sich deshalb nicht als Sicherungskopie. Trotzdem verbirgt ein Hash nicht automatisch jede Eingabe sicher. Bei einem kurzen, häufigen Passwort kann ein Angreifer wahrscheinliche Passwörter ausprobieren und deren Hashes vergleichen. Er muss die Funktion nicht umkehren, sondern nur die Eingabe erraten. Ein schneller Hash allein ersetzt daher weder ein starkes Passwort noch ein Verfahren zur sicheren Passwortspeicherung. [1] [5]

Bei einer Preimage-Suche ist ein Hash vorgegeben; gesucht werden Daten, die ihn erzeugen. Bei einer Kollision genügen beliebige zwei unterschiedliche Eingaben mit demselben Hash. Kollisionen existieren mathematisch, denn es gibt mehr mögliche Eingaben als Ergebnisse fester Länge. Sicherheit bedeutet bei einer kryptografischen Funktion, dass solche Fälle praktisch nicht auffindbar sind, nicht dass sie unmöglich wären. „Hash“ bezeichnet außerdem keinen einzelnen Algorithmus: Nicht jede Hashfunktion ist für kryptografische Sicherheit gedacht. [1]

Bitcoin nutzt Hashes als Transaktionskennungen, zur Verknüpfung von Blöcken und zur Prüfung der Miningarbeit. Die genaue Berechnung unterscheidet sich aber. Ein Blockheader wird zweimal mit SHA-256 gehasht; HASH160 kombiniert SHA-256 mit RIPEMD-160. Ein tagged hash trennt zusätzlich unterschiedliche Verwendungszwecke durch eine Kennzeichnung. Für eigene Prüfungen benötigen Sie den richtigen Algorithmus und die exakten Eingabebytes, also die grundlegenden Dateneinheiten. Der Text „61“ besteht aus anderen Bytes als das einzelne Byte mit dem Hexadezimalwert 61, das in ASCII den Buchstaben a darstellt. Die angezeigte Schreibweise zu hashen statt der Daten ist deshalb eine andere Berechnung. [2] [4]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit SHA-256, Proof of Work, Block Header, Transaktion, Merkle Tree, Bitcoin. Auf diesen Eintrag verweisen außerdem SHA-256, Nonce, HTLC, Hashcash.

DOC · 001NIST FIPS 180-4: Secure Hash StandardPrimärquelle DOC · 002Bitcoin Core v29.0: hash constructionsPrimärquelle DOC · 003Bitcoin Core: Verify your downloadPrimärquelle DOC · 004BIP340: tagged hashesPrimärquelle DOC · 005NIST SP800-63B: Password verifiersPrimärquelle
Überarbeitet: Quellenbasiert · Keine Anlageberatung