SHA-256

Função de hash criptográfica da família SHA-2

NSA / NIST · FIPS 180-4 · resumo de 256 bits

Função de Hash

O que é uma função de hash criptográfica

Hash
O SHA-256 transforma uma entrada de tamanho arbitrário em um resumo fixo de 256 bits (a "impressão digital" do dado). É a base da integridade: qualquer alteração, por menor que seja, muda o resumo de forma imprevisível.

Pré-imagem

Dado o hash, é inviável achar uma entrada que o gere (≈ 2256).

Resistência a colisão

Inviável achar duas entradas com o mesmo hash (≈ 2128, limite do aniversário).

Efeito avalanche

Mudar 1 bit da entrada altera ~50% dos bits do resumo.

Construção: Merkle–Damgård

A mensagem é preenchida (incluindo seu tamanho) e dividida em blocos de 512 bits, processados em cadeia por uma função de compressão de 64 rodadas.

IV inicial H₀ compressão bloco 1 H₁ compressão bloco 2 · · · Resumo 256 bits ↑ bloco da mensagem (512 bits) ↑ bloco da mensagem (512 bits)

Cada bloco mistura-se ao estado encadeado (H); as constantes vêm das raízes cúbicas de números primos.

Atenção (extensão de comprimento): a construção Merkle–Damgård permite o ataque de length-extension. Por isso, para autenticar mensagens, use HMAC em vez de H(chave ‖ mensagem) — ou prefira o SHA-3 (esponja), imune a esse ataque.

Usos, segurança e o caso das senhas

Onde é usado

  • Verificação de integridade de arquivos e atualizações.
  • Dentro de assinaturas digitais e de HMAC.
  • Identificadores no Git e na prova de trabalho do Bitcoin.
  • Certificados digitais (X.509).

Status de segurança

Sem ataques práticos conhecidos. É a escolha-padrão atual, ao lado do SHA-3 (Keccak, construção em esponja).

Não use SHA-256 puro para senhas: ele é rápido demais, o que ajuda o atacante. Use funções lentas e com sal: Argon2, bcrypt ou scrypt.
Ex.: sha256sum arquivo.iso gera o resumo que você compara com o valor publicado pelo distribuidor para garantir que o download não foi corrompido nem adulterado.

Em resumo

O SHA-256 é a função de hash padrão: resumo de 256 bits, forte resistência a colisão e pré-imagem, base da integridade, das assinaturas e do HMAC. Para mensagens autenticadas use HMAC (não H(chave‖msg)); para senhas, use Argon2/bcrypt.

HMAC SHA-1 MD5 Todos os algoritmos
Voltar aos Pilares