Vai al contenuto principale
Certyneo
Termine del glossario · F

Funzione di hash

Definizione

Una funzione di hash è una funzione matematica unidirezionale che trasforma un input di dimensione qualsiasi in un output di lunghezza fissa chiamato impronta (digest o hash). Qualsiasi modifica, anche di un solo bit, produce un''impronta radicalmente diversa. Le funzioni moderne (SHA-256, SHA-3) sono resistenti alle collisioni. Nella firma digitale, il documento viene prima sottoposto a hash, quindi l''impronta viene cifrata con la chiave privata — il che garantisce l''integrità del contenuto firmato.

Domande frequenti

Quali proprietà deve avere una funzione di hash?

Tre proprietà essenziali. È deterministica: un medesimo input produce sempre la medesima impronta. È a senso unico: non si può recuperare l'input a partire dall'impronta. Resiste alle collisioni: è praticamente impossibile trovare due input diversi che producano la medesima impronta. Si aggiunge l'effetto valanga, che stravolge l'impronta al minimo cambiamento.

Perché firmare l'impronta anziché l'intero documento?

Per ragioni di efficienza e di sicurezza. Le operazioni di crittografia asimmetrica sono lente e operano su dati di piccole dimensioni. L'impronta, di lunghezza fissa, rappresenta fedelmente il documento indipendentemente dal suo volume. Firmare l'impronta equivale quindi a firmare il documento, sia che sia di una pagina o di mille.

Quali algoritmi sono ancora considerati sicuri?

Le famiglie SHA-2, di cui SHA-256 è il membro più utilizzato, e SHA-3 sono consigliate. MD5 e SHA-1 non devono più essere utilizzati per la firma: le collisioni sono state prodotte in pratica, per SHA-1 nel 2017, il che permetterebbe di sostituire un documento con un altro senza invalidare la firma.

Hashing e crittografia, qual è la differenza?

La crittografia è reversibile: con la chiave giusta, si ritrova il messaggio originale. L''hashing non lo è: l''impronta non permette di ricostituire il documento. Gli obiettivi differiscono anche. La crittografia protegge la confidenzialità, l''hashing permette di verificare l''integrità. Una firma elettronica si basa sulla seconda, non sulla prima.

Pronto a mettere in pratica questi concetti?

Certyneo le permette di creare buste di firma conformi eIDAS in pochi clic, senza installazione.