Funzione crittografica di hash
classe speciale delle funzioni di hash / Da Wikipedia, l'enciclopedia encyclopedia
Caro Wikiwand AI, Facciamo breve rispondendo semplicemente a queste domande chiave:
Puoi elencare i principali fatti e statistiche su Funzione crittografica di hash?
Riassumi questo articolo per un bambino di 10 anni
Una funzione crittografica di hash, in informatica, è una classe speciale delle funzioni di hash, che dispone di alcune proprietà che la rendono adatta all'uso in crittografia.
Si tratta di un algoritmo matematico che mappa dei dati di lunghezza arbitraria (messaggio) in una stringa binaria di dimensione fissa chiamata valore di hash, ma spesso viene indicata anche con il termine inglese message digest (o semplicemente digest). Tale funzione di hash è progettata per essere unidirezionale (one-way), ovvero una funzione difficile da invertire: l'unico modo per ricreare i dati di input dall'output di una funzione di hash ideale è quello di tentare una ricerca di forza-bruta di possibili input per vedere se vi è corrispondenza (match). In alternativa, si potrebbe utilizzare una tabella arcobaleno di hash corrispondenti.
La funzione crittografica di hash ideale deve avere alcune proprietà fondamentali:
- deve identificare univocamente il messaggio, non è possibile che due messaggi differenti, pur essendo simili, abbiano lo stesso valore di hash;
- deve essere deterministico, in modo che lo stesso messaggio si traduca sempre nello stesso hash;
- deve essere semplice e veloce calcolare un valore hash da un qualunque tipo di dato;
- deve essere molto difficile o quasi impossibile generare un messaggio dal suo valore hash se non provando tutti i messaggi possibili.
Tali caratteristiche permettono alle funzioni crittografiche di hash di trovare ampio utilizzo negli ambiti della sicurezza informatica, quali firme digitali, codici di autenticazione dei messaggi (MAC) e altre forme di autenticazione. Possono essere utilizzati anche come funzioni di hash ordinarie, per indicizzare i dati nelle tabelle di hash, per la rilevazione di impronte digitali, per rilevare dati duplicati o identificare in modo univoco i file e come checksum per rilevare la corruzione accidentale dei dati. Infatti, nei contesti di sicurezza informatica, i valori di hash crittografici sono talvolta chiamati «impronte digitali» o «checksum» anche se tutti questi termini hanno funzioni più generali con proprietà e scopi piuttosto diversi.