O Que É SHA-3? Um Guia para o Mais Novo Padrão Hash

16 Jun 2026 635 words

O Que É SHA-3?

SHA-3 (Secure Hash Algorithm 3) é o membro mais recente da família Secure Hash Algorithm, publicado pelo NIST em 2015. Diferentemente do SHA-2, que é baseado na construção Merkle-Damgård, o SHA-3 usa um design fundamentalmente diferente chamado construção esponja. Esta diferença torna o SHA-3 resistente a certas classes de ataques que ameaçam o SHA-2.

O algoritmo originalmente chamado Keccak (pronuncia-se "ketchak") venceu a competição de funções hash do NIST em 2012 após um processo de avaliação pública de cinco anos. O NIST padronizou quatro comprimentos de hash: SHA3-224, SHA3-256, SHA3-384 e SHA3-512, além de duas funções de saída extensível (XOFs): SHAKE128 e SHAKE256.

Como o SHA-3 Funciona

SHA-3 usa a construção esponja, que consiste em duas fases: absorção e compressão. Na fase de absorção, os dados de entrada são alimentados no estado interno em blocos. Na fase de compressão, a saída do hash é extraída.

O estado interno do SHA-3 é um array 3D de lanes 5×5, cada um contendo 64 bits, para um tamanho total de estado de 1600 bits. A função de permutação, chamada Keccak-f, é aplicada iterativamente durante ambas as fases para misturar o estado.

Este design dá ao SHA-3 várias vantagens:

  • Não é vulnerável a ataques de extensão de comprimento que afetam o SHA-2
  • A construção esponja fornece uma prova de segurança
  • Tem bom desempenho em implementações de hardware
  • As variantes XOF produzem saída de comprimento arbitrariamente longo

SHA-3 vs SHA-2

Característica SHA-2 SHA-3
Construção Merkle-Damgård Esponja (Keccak)
Publicado 2001 2015
Tamanhos de saída 224, 256, 384, 512 224, 256, 384, 512 + XOF
Extensão de comprimento Vulnerável Resistente
Velocidade em software Mais rápido Mais lento
Velocidade em hardware Moderada Excelente
Resistência a canal lateral Boa Melhor

Quando Usar SHA-3

SHA-3 não pretende substituir SHA-2 imediatamente. SHA-2 permanece seguro, e nenhum ataque prático reduz sua segurança abaixo de níveis aceitáveis. SHA-3 existe como um backup caso SHA-2 seja eventualmente quebrado.

Use SHA-3 quando:

  • Você precisa de resistência a ataques de extensão de comprimento
  • Sua aplicação roda em hardware com aceleração SHA-3
  • Você quer diversificar dependências criptográficas do SHA-2
  • Você precisa de uma função hash com um design fundamentalmente diferente (defesa em profundidade)
  • Você precisa de saída de comprimento variável do SHAKE128 ou SHAKE256

Exemplos de Código

// PHP
echo hash('sha3-256', 'hello');
echo hash('sha3-512', 'hello');
import hashlib

print(hashlib.sha3_256(b'hello').hexdigest())
print(hashlib.sha3_512(b'hello').hexdigest())

# SHAKE (saída extensível)
print(hashlib.shake_128(b'hello').hexdigest(16))  # 16 bytes de saída
print(hashlib.shake_256(b'hello').hexdigest(32))  # 32 bytes de saída
// Node.js
const crypto = require('crypto');
console.log(crypto.createHash('sha3-256').update('hello').digest('hex'));
console.log(crypto.createHash('sha3-512').update('hello').digest('hex'));

SHAKE128 e SHAKE256

SHAKE (Secure Hash Algorithm KEccak) é uma função de saída extensível (XOF). Diferentemente das funções hash de comprimento fixo, as XOFs produzem saída de qualquer comprimento desejado. SHAKE128 fornece segurança de 128 bits com comprimento de saída arbitrário, enquanto SHAKE256 fornece segurança de 256 bits.

XOFs são úteis para:

  • Gerar chaves criptográficas de comprimento arbitrário a partir de uma semente
  • Criar valores de mascaramento em esquemas de criptografia
  • Construir cifras de fluxo e geradores de números aleatórios

Ferramenta Online

O Gerador de Hash SHA-3 no Help2Code calcula hashes SHA3-224, SHA3-256, SHA3-384 e SHA3-512 instantaneamente. Compare a saída com hashes SHA-2 usando o Gerador de Hash Múltiplo.

Conclusão

SHA-3 é uma função hash moderna e bem projetada com uma margem de segurança conservadora. Embora SHA-2 continue sendo o padrão para a maioria das aplicações, SHA-3 é uma excelente escolha quando você precisa de uma função hash de backup para defesa em profundidade, ou quando precisa das capacidades únicas das funções de saída extensível SHAKE.


About this article

Aprenda o que é SHA-3, como difere do SHA-2 e quando você deve usar o mais novo padrão hash NIST em suas aplicações.


Related Articles


Related Tools

Help2Code Logo
Menu