KryptoRatgeber

Glossar

Keccak-256

Aktualisiert 12. Juni 2026

Keccak-256 ist eine kryptografische Hashfunktion, die eine beliebig lange Eingabe in einen deterministischen 256-Bit-Ausgabewert umwandelt – dargestellt als 64-stellige Hexadezimalzeichenkette. Sie bildet das kryptografische Fundament von Ethereum und kommt überall dort zum Einsatz, wo Integrität und Einwegigkeit von Daten sichergestellt werden müssen.

Funktionsweise: Sponge-Konstruktion statt Merkle-Damgård

Keccak-256 wurde von Guido Bertoni, Joan Daemen, Michaël Peeters und Gilles Van Assche entwickelt und gewann den SHA-3-Wettbewerb des US-amerikanischen Normierungsinstituts NIST. Technisch basiert die Funktion auf einer sogenannten Sponge-Konstruktion mit einem internen Zustand von 1600 Bit und einer Rate von 1088 Bit. Eingabedaten werden dabei schrittweise in den Zustand „aufgesaugt" (Absorb-Phase) und anschließend als Hashwert „ausgedrückt" (Squeeze-Phase).

Dieser Ansatz unterscheidet sich grundlegend von älteren Merkle-Damgård-Konstruktionen wie SHA-1 oder SHA-2. Jene sind anfällig für sogenannte Length-Extension-Attacks, bei denen ein Angreifer aus einem bekannten Hash und der Länge der Eingabe einen gültigen Hash für eine verlängerte Nachricht berechnen kann – ohne die ursprüngliche Eingabe zu kennen. Die Sponge-Konstruktion verhindert diesen Angriffspfad strukturell.

Zusätzlich erzeugt der ausgeprägte Lawineneffekt der Funktion bei jeder minimalen Eingabeänderung – selbst einem einzelnen Bit – einen vollständig anderen Hashwert. Die Einweg-Eigenschaft stellt sicher, dass eine Rekonstruktion der Eingabe aus dem Hashwert rechnerisch nicht durchführbar ist.

Keccak-256 ≠ SHA-3

Ein häufiger Irrtum: Keccak-256 und der NIST-Standard SHA-3 sind nicht identisch. Ethereum nutzt eine frühere Variante der Keccak-Familie, die vor der abschließenden Standardisierung durch NIST implementiert wurde. NIST nahm im Zuge der Standardisierung Änderungen am Padding-Verfahren vor, sodass SHA-3-256 und Keccak-256 bei identischer Eingabe unterschiedliche Hashwerte liefern. Um Verwechslungen in der Praxis zu vermeiden, empfiehlt Solidity seit Version 0.4.3 explizit die Funktion keccak256() anstelle des früheren Alias sha3().

Einsatzbereiche in Ethereum

In der Praxis ist Keccak-256 für mehrere zentrale Prozesse im Ethereum-Protokoll verantwortlich:

  • Adressableitung: Aus dem öffentlichen Schlüssel eines Schlüsselpaars wird per Keccak-256 eine 20-Byte-Wallet-Adresse berechnet.
  • Function Selector: Smart Contracts identifizieren aufrufbare Funktionen anhand der ersten vier Bytes des Keccak-256-Hashes der Funktionssignatur.
  • Storage Slots: Die Speicheradressen von Mapping-Einträgen in Smart Contracts werden ebenfalls durch Keccak-256 ermittelt.
  • Merkle-Proofs: Keccak-256 bildet die Hashfunktion in Ethereums Merkle-Patricia-Trie, der zur Verifikation von Transaktionen und Zustandsdaten dient.

Verwandte Begriffe