Verfasst von Pablo Gómez
Founder & CEO von Metlabs · Geprüft am 11. Oktober 2026
Keccak-256 beruht auf der Schwammkonstruktion (Sponge) der Keccak-Familie, entworfen von Guido Bertoni, Joan Daemen, Michael Peeters und Gilles Van Assche. Es arbeitet mit der Permutation Keccak-f[1600] auf einem 1600-Bit-Zustand, absorbiert die Nachricht und presst anschließend eine 256-Bit-Ausgabe heraus. Keccak gewann 2012 den SHA-3-Wettbewerb des NIST, und Ethereum übernahm es in seinem Opcode KECCAK256, bevor der Standard abgeschlossen war.
Am meisten Verwirrung stiftet, dass Keccak-256 nicht mit SHA3-256 austauschbar ist. Der einzige Unterschied liegt im Domain-Separation-Byte des Paddings: Das ursprüngliche Keccak verwendet 0x01, das offizielle SHA3-256 verwendet 0x06. Gleiche Permutation, andere Ausgabe. Dazu kam es, weil das NIST das Padding der ursprünglichen Einreichung änderte und FIPS 202 im August 2015 veröffentlichte, während das Yellow Paper von Ethereum das Keccak des Wettbewerbssiegers spezifiziert, nicht die FIPS-Version.
Keccak-256 trägt drei systemische Mechanismen von Ethereum. Eine Adresse besteht aus den letzten 20 Bytes des Hashes des öffentlichen Schlüssels. Ein Funktionsselektor besteht aus den ersten 4 Bytes des Hashes der Funktionssignatur: keccak256("transfer(address,uint256)") ergibt 0xa9059cbb. Auch die Speicherpositionen von Mappings und Arrays werden mit Keccak-256 berechnet. Der Adress-Checksummen-Standard EIP-55 stützt sich ebenfalls darauf, was diese Funktion zu einem strukturellen Baustein des gesamten EVM-Stacks macht.
Auch bekannt als
- Keccak256





