Léxico de TI › Segurança › GHASH

GHASH

Segurança Svenska → Atualizado: 2026-10-13

O hash universal dentro do GCM, que transforma o texto cifrado em um polinômio e o avalia em um ponto secreto.

O GHASH divide os dados associados, o texto cifrado e um bloco final de comprimentos em pedaços de 128 bits e os trata como coeficientes de um polinômio sobre GF(2128). Esse polinômio é avaliado em H = E_K(0¹²⁸) — a cifra de bloco aplicada a um bloco só de zeros. O resultado passa por um XOR com um bloco contador cifrado, e daí sai a tag de autenticação. McGrew e Viega o incluíram no GCM em 2004; desde que a Intel lançou a instrução PCLMULQDQ em 2010, ele é quase de graça em hardware.

O problema é que tudo depende do H. Reutilize um nonce e o atacante monta uma equação que entrega o H, e a partir daí pode forjar tags à vontade. A ordem dos bits ainda é refletida de um jeito que já fez gerações de implementadores xingarem; o POLYVAL, no GCM-SIV, é a mesma ideia com uma ordem de bytes que humanos conseguem acompanhar.

← Voltar ao léxico