Kryptographische Hashfunktionen erklärt

Kryptographische Hashfunktionen erklärt

Was sind kryptographische Hashfunktionen?

Eine kryptographische Hashfunktion (cryptographic hash function) ist eine Art mathematische Formel, die ein Stück Information (z. B. einen Text, eine Datei oder ein Passwort) in einen kurzen „Fingerabdruck“ fester Länge umwandelt. Einen solchen Fingerabdruck nennen wir einen Hashwert.

Ein Hashwert sieht meist wie eine lange Reihe von Zahlen und Buchstaben aus. Wenn man z. B. das Wort "Hallo" durch die Hashfunktion SHA-256 (eine bekannte Hashfunktion, die von Bitcoin verwendet wird) laufen lässt, erhält man:

185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

Egal wie oft oder auf welchem Computer man dies tut: solange die Eingabe „Hallo“ ist, bleibt der Hashwert exakt derselbe. Der Hash ist also mit einem bestimmten Informationsstück verknüpft. Das macht ihn zu einer zuverlässigen Methode, um zu überprüfen, ob Daten nicht verändert wurden.


Wichtigste Erkenntnisse

  • Hashfunktionen erzeugen einen digitalen Fingerabdruck von Daten: dieselbe Eingabe ergibt immer denselben Hash, aber kleine Änderungen führen zu einem völlig anderen Ergebnis.

  • Hashes sind nicht umkehrbar: aus dem Hash kann man die ursprünglichen Daten nicht rekonstruieren, was sie für Sicherheit und Blockchains geeignet macht.

  • Anwendungen sind vielfältig: z. B. sichere Speicherung von Passwörtern, Integritätsprüfung, digitale Signaturen und Blockchain-Transaktionen.

  • Die Sicherheit variiert je nach Algorithmus: MD5 und SHA-1 sind gebrochen und unsicher, während SHA-2 und SHA-3 noch immer als sicher gelten.

  • In Blockchains sind Hashes entscheidend: sie verknüpfen Blöcke miteinander, sichern Transaktionen und ermöglichen Proof-of-Work-Mining.


Anwendungen einer Hashfunktion

Ein Hashwert wird häufig bei der digitalen Sicherung von Daten, Kommunikation und Systemen verwendet. Man findet sie unter anderem bei:

  • Passwortspeicherung: anstatt Passwörter im Klartext zu speichern, speichert ein System nur den Hashwert.
  • Integritätsprüfung: bei Downloads oder Software-Updates wird ein Hash mitgeliefert, damit Nutzer überprüfen können, ob die Datei nicht verändert wurde.
  • Digitale Signaturen und Zertifikate: Hashfunktionen sorgen dafür, dass ein signiertes Dokument nicht unbemerkt geändert werden kann.
  • Blockchains: jede Transaktion und jeder Block wird durch Hashing gesichert, wodurch die Kette unveränderlich bleibt.

Eigenschaften einer Hashfunktion

Wichtige Eigenschaften einer Hashfunktion sind:

  • Gleiche Eingabe, gleiche Ausgabe
    Gibt man dieselben Daten ein, erhält man immer exakt denselben Hash. Beispiel: ein Passwort. Das System speichert nur den Hash deines Passworts. Wenn du dich später erneut anmeldest, prüft das System, ob der neue Hash mit dem gespeicherten übereinstimmt. Nur so erhältst du Zugang.

  • Nicht umkehrbar
    Ein Hash lässt sich nicht auf die ursprüngliche Eingabe zurückrechnen. Dies macht ihn besonders geeignet für eine blockchain. Jeder Block in der Blockchain enthält nämlich einen eindeutigen Hash (und manchmal mehrere Hashes) mit darin enthaltenen Transaktionen. Außerdem enthält er den Hash des vorherigen Blocks. Versucht jemand, eine Transaktion zu manipulieren, ändert sich sofort der Hash. Da dieser Hash auch im nächsten Block steht, verändert sich die gesamte Kette. Dies wird sofort von den Validatoren oder Minern bemerkt. Ein Angreifer müsste alle folgenden Blöcke neu berechnen, was praktisch unmöglich ist. Dadurch wird Manipulation ausgeschlossen.

  • Empfindlich gegenüber kleinen Änderungen
    Ändert man nur einen Buchstaben oder sogar ein einzelnes Bit, sieht der Hash völlig anders aus. Beispiel: „Welt“ hat einen völlig anderen Hash als „Werl t“, obwohl sich die Wörter stark ähneln.

  • Kollisionen vermeiden
    Eine Kollision bedeutet, dass zwei verschiedene Eingaben denselben Hash haben. Das ist theoretisch möglich, bei sicheren Hashfunktionen jedoch praktisch unmöglich. Beispiel: bei SHA-256 würde man Milliarden Jahre benötigen, um zufällig zwei gleiche zu finden. Ältere Varianten wie MD5 und SHA-1 sind hierfür anfällig und werden daher nicht mehr verwendet.

Wie funktionieren Hashfunktionen?

Der Prozess, den Hashfunktionen ausführen, wird Hashing genannt. Eine Hashfunktion ist der Algorithmus, der die Berechnung ausführt, während Hashing der Prozess ist, bei dem diese Funktion auf Daten angewendet wird.

Eingabeverarbeitung

Die Daten (Text, Datei, Passwort usw.) werden in Blöcke fester Größe aufgeteilt.
Beispiel: „Hallo“ wird in Blöcke von z. B. 512 Bit aufgeteilt. Da es kürzer ist, wird zusätzliche Padding hinzugefügt.

Mathematische Transformationen

Jeder Block durchläuft Operationen wie Bitverschiebungen, Permutationen und modulare Additionen.
Beispiel: „Hallo“ ergibt nach SHA-256-Hashing:

185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

Kombinieren (Kompression oder Sponge)

Die Ergebnisse werden in einem internen Zustand zusammengeführt.

  • Bei SHA-2 über eine Kompressionsfunktion
  • Bei SHA-3 über eine Sponge-Konstruktion

Ausgabe

Nach der letzten Berechnung bleibt ein Hashwert übrig.
Beispiel:
„Hallo“ → 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
„Hallo!“ → 334d74c95ed3ceec833219cd94ef7a8320b9c9d98c14b622d0535fbe7bb3f3a4

Was ist der Avalanche-Effekt?

Der Avalanche-Effekt sorgt dafür, dass es unmöglich ist, Hashes voneinander abzuleiten, da selbst kleine Unterschiede in der Eingabe zu einem völlig anderen Hashwert führen. Auch wenn die Eingabewerte sich stark ähneln, entsteht eine völlig andere Zahlen- und Buchstabenfolge. Das macht es unmöglich, aus Hashes abzuleiten, wie die ursprünglichen Daten aussahen oder wie ähnlich zwei Eingaben sind.

Welche Hashfunktionen gibt es?

Im Laufe der Jahre wurden verschiedene kryptographische Hashfunktionen entwickelt oder verbessert. Bekannte Hashfunktionen sind:

  • MD5
    In den 1990er Jahren als Nachfolger früherer MD-Algorithmen entwickelt. Dieses Verfahren erzeugt einen 128-Bit-Hash und wurde jahrelang für Dateiprüfungen und digitale Zertifikate verwendet. MD5 gilt heute als unsicher, da seit 2004 Fälle bekannt sind, in denen zwei verschiedene Eingaben denselben Hashwert erzeugten (Collision). Deshalb wird MD5 heute nur noch für einfache Anwendungen genutzt, nicht mehr für Sicherheit.

  • SHA-1
    SHA-1 war lange Zeit der Standard für digitale Signaturen und SSL-Zertifikate. Es erzeugt einen 160-Bit-Hash. 2017 demonstrierten Google und CWI Amsterdam eine Collision: sie erzeugten zwei verschiedene PDF-Dateien mit exakt demselben SHA-1-Hash. Damit wurde bewiesen, dass sich Hashes in der Praxis fälschen lassen. Seitdem gilt SHA-1 als kryptographisch gebrochen und unsicher. Große Browser und Zertifizierungsstellen unterstützen es nicht mehr.

  • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
    Der Nachfolger von SHA-1. Dieser Algorithmus verwendet Blöcke von 512 oder 1024 Bit und erzeugt Ausgaben von 224, 256, 384 oder 512 Bit. Ein bekanntes SHA-2-System ist SHA-256, das in der Blockchain von Bitcoin eingesetzt wird. SHA-512 ist effizienter auf 64-Bit-Systemen. Bisher sind keine erfolgreichen Angriffe bekannt, sodass SHA-2 weiterhin eine der am weitesten verbreiteten kryptographischen Hashfunktionen ist.

  • SHA-3 (Keccak)
    2007 von Guido Bertoni, Joan Daemen, Michaël Peeters und Gilles Van Assche entwickelt und 2015 vom NIST als neuer Hashstandard unter dem Namen SHA-3 angenommen. Er wurde als Alternative neben SHA-2 eingeführt, falls dort künftig Schwachstellen gefunden würden. SHA-3 wird derzeit noch nicht häufig in der Praxis eingesetzt, da SHA-2 weiterhin sicher ist, weit verbreitet in Hardware unterstützt wird und tief in Protokolle wie TLS und SSL integriert ist.

Hashfunktionen in Kryptowährungen und Blockchain

Hashfunktionen spielen eine entscheidende Rolle in Blockchains. Hashing wird eingesetzt, um Transaktionen zu sichern, Blöcke zu verbinden und bildet den Kern von Blockchains, die Transaktionen mittels Mining validieren. Blockchains, die den Proof-of-Work-Konsensmechanismus verwenden, setzen Rechenleistung von Computern ein, um Hash-Puzzles zu lösen.

Einige Beispiele für bekannte Projekte:

  • Bitcoin → SHA-256 (für Mining und Hashing von Blöcken).
  • Litecoin → scrypt (schneller und weniger ASIC-anfällig als SHA-256).
  • Zcash → Equihash (speicherintensiv, für faireres Mining entworfen).
  • Dogecoin → scrypt (gleiches Verfahren wie Litecoin, merge-mined).
  • Ripple (XRP Ledger) → SHA-512/256 (eine verkürzte Variante von SHA-512).
  • Algorand → SHA-512/256 (für Schlüsselgenerierung und digitale Signaturen).

Fazit

Kryptographische Hashfunktionen sind ein unverzichtbarer Baustein der digitalen Welt. Sie bieten eine zuverlässige Möglichkeit, Daten zu sichern, Integrität zu gewährleisten und komplexe Systeme wie Blockchains zu ermöglichen. Während ältere Algorithmen wie MD5 und SHA-1 aufgrund nachgewiesener Schwachstellen nicht mehr sicher sind, bleiben moderne Varianten wie SHA-2 und SHA-3 robust und für aktuelle Anwendungen unerlässlich.

Die Stärke von Hashfunktionen liegt in ihrer Einfachheit und Effektivität: Einwegfunktionen, die kleine Unterschiede in der Eingabe in völlig unterschiedliche Ergebnisse umwandeln, ohne dass die ursprünglichen Daten zurückgewonnen werden können. Damit sind sie nicht nur entscheidend für Passwortsicherheit und digitale Signaturen, sondern auch für das Funktionieren von Kryptowährungen und des Internets im Allgemeinen.

Hashfunktionen werden auch in Zukunft eine Schlüsselrolle spielen – sowohl in bestehenden Anwendungen als auch in neuen Innovationen im Bereich Blockchain, digitale Sicherheit und Kryptographie.

Über Finst

Finst ist einer der führenden Anbieter von Kryptowährungen in den Niederlanden und bietet eine erstklassige Investitionsplattform zusammen mit Sicherheitsstandards auf institutioneller Ebene und ultra-niedrigeren Handelsgebühren. Finst wird vom ehemaligen Kernteam von DEGIRO geleitet und ist als Kryptowerte-Dienstleister von der niederländischen Finanzmarktaufsichtsbehörde (AFM) zugelassen. Finst bietet eine ganze Reihe von Kryptowerte-Dienstleistungen an, darunter Handel, Verwahrung, Fiat-On/Off-Ramp und Staking für private und institutionelle Anleger.

Die NextGen Krypto-Plattform

Wir sind hier, um dir die Funktionen, die Inspiration und die Unterstützung zu geben, die du benötigst, um ein besserer Investor zu werden.