Uma esponja absorve a entrada em um estado de 1600 bits por meio da permutação Keccak-f e espreme a saída a partir dele. O estado se divide em uma taxa (rate, a parte tocada pela entrada e pela saída) e uma capacidade c, que define a segurança; o SHA3-256 usa uma taxa de 1088 bits e uma capacidade de 512. Como a capacidade nunca vai para a saída, o SHA-3 é imune à extensão de comprimento, e SHA3-256(key ‖ message) é uma construção de MAC sólida, embora a padronizada seja o KMAC.
Vetor de teste: o SHA3-256 da string vazia é a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a. O “SHA3” do Ethereum é o Keccak-256 com o padding original e produz um digest diferente; o FIPS 202 acrescentou bits de separação de domínio.
Em software, o SHA-3 é mais lento que o SHA-256 em CPUs com instruções SHA-2: cerca de 1,01 GB/s para o SHA3-256 contra 2,85 GB/s para o SHA-256 em um núcleo de Apple M4 Max com OpenSSL 3.6.5. Ele foi padronizado como uma alternativa de reserva estruturalmente diferente do SHA-2, e não como substituto, e suas funções SHAKE são as principais primitivas de hash dentro do ML-KEM, do ML-DSA e do SLH-DSA.