O que é SHA-256?
SHA-256 (Secure Hash Algorithm de 256 bits) é uma função hash criptográfica da família SHA-2 que recebe uma entrada de comprimento arbitrário e produz um resumo fixo de 256 bits (32 bytes), projetada para ser uma função unidirecional em que a saída não revela nada sobre a entrada.
Também conhecido como: SHA-2, Secure Hash Algorithm
Uma função hash criptográfica deve satisfazer três propriedades: resistência à pré-imagem (dado um hash, é inviável encontrar a entrada original), resistência à segunda pré-imagem (dada uma entrada, é inviável encontrar uma entrada diferente com o mesmo hash) e resistência a colisões (é inviável encontrar duas entradas distintas que produzam o mesmo hash). O SHA-256 satisfaz as três e permanece sem ser quebrado desde sua publicação pelo NIST em 2001.
O SHA-256 produz uma saída de 256 bits independentemente do tamanho da entrada: fazer o hash de um único caractere e o de um arquivo de um gigabyte produzem ambos um resumo de 32 bytes. O efeito avalanche garante que alterar até mesmo um bit da entrada produza um hash completamente diferente sem nenhum padrão discernível. Isso torna o SHA-256 útil para a verificação de integridade: armazene o hash de um arquivo e, mais tarde, calcule novamente o hash do arquivo para confirmar que ele não foi modificado.
O SHA-256 não é um algoritmo de criptografia: o hashing é uma operação unidirecional sem descriptografia correspondente. Ele é usado como peça de construção em muitas construções criptográficas: HMAC-SHA256 para a autenticação de mensagens, PBKDF2-SHA256 para a derivação de chave, as impressões digitais de certificados, a prova de trabalho de blockchain e os esquemas de assinatura digital. Sua ampla adoção em protocolos e plataformas o torna uma das primitivas mais importantes da criptografia moderna.
Como o Vaulted usa SHA-256
O SHA-256 é a função hash que está por trás do processo de derivação de chave da Vaulted. Quando uma frase-senha é usada para proteger um segredo, o PBKDF2 aplica HMAC-SHA256 de forma iterativa (100.000 rodadas) para derivar uma chave de encapsulamento a partir da frase-senha e de um salt aleatório. O SHA-256 também é a função hash usada no cálculo HMAC que gera os tokens das páginas de status, garantindo que apenas o criador do segredo possa acessar a página de status de seu segredo.