Lessico IT › Sicurezza › GHASH

GHASH

Sicurezza Svenska → Aggiornato: 2026-10-13

L'hash universale all'interno di GCM, che trasforma il testo cifrato in un polinomio e lo valuta in un punto segreto.

GHASH divide i dati associati, il testo cifrato e un blocco finale con le lunghezze in pezzi da 128 bit e li tratta come coefficienti di un polinomio sul campo GF(2128). Il polinomio viene valutato in H = E_K(0¹²⁸), cioè il cifrario a blocchi applicato a un blocco di soli zeri. Il risultato è combinato in XOR con un blocco contatore cifrato, e ne esce il tag di autenticazione. McGrew e Viega lo inserirono in GCM nel 2004; da quando Intel ha introdotto l'istruzione PCLMULQDQ nel 2010, in hardware costa quasi nulla.

Il problema è che tutto poggia su H. Se si riusa un nonce, un attaccante può impostare un'equazione che restituisce H, dopodiché può falsificare i tag a piacere. Inoltre l'ordine dei bit è riflesso in un modo che ha fatto imprecare generazioni di implementatori; POLYVAL, in GCM-SIV, è la stessa idea con un ordine dei byte comprensibile a un essere umano.

← Torna al lessico