Une éponge absorbe l’entrée dans un état de 1600 bits au moyen de la permutation Keccak-f, puis en extrait (essore) la sortie. L’état se divise en un débit (rate, la partie touchée par l’entrée et la sortie) et une capacité c qui fixe la sécurité ; SHA3-256 utilise un débit de 1088 bits et une capacité de 512. Comme la capacité n’est jamais produite en sortie, SHA-3 est insensible à l’extension de longueur, et SHA3-256(key ‖ message) est une construction de MAC sûre, même si KMAC est la construction normalisée.
Vecteur de test : le SHA3-256 de la chaîne vide est a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a. Le « SHA3 » d’Ethereum est Keccak-256 avec le remplissage d’origine, et il donne un condensat différent ; FIPS 202 a ajouté des bits de séparation de domaine.
En logiciel, SHA-3 est plus lent que SHA-256 sur les processeurs dotés d’instructions SHA-2 : environ 1,01 Go/s pour SHA3-256 contre 2,85 Go/s pour SHA-256 sur un cœur d’Apple M4 Max avec OpenSSL 3.6.5. Il a été normalisé comme solution de secours de structure différente de SHA-2, et non comme son remplaçant, et ses fonctions SHAKE sont les principales primitives de hachage dans ML-KEM, ML-DSA et SLH-DSA.