Durante gli studi di sicurezza informatica all'università mi è stata posta questa domanda:
Esistono tre proprietà desiderabili per le funzioni hash crittografiche: Preimage resistant, Second preimage resistant e Collision-resistente. Per ciascuna delle seguenti applicazioni di hash funzioni, spiega quali di queste tre proprietà sono necessarie e quali non sono.
1) Alice pone a Bob un duro problema di matematica e afferma di aver risolto esso. Bob vorrebbe provarlo da solo, ma vorrebbe ancora esserne sicuro che Alice non sta bluffando. Pertanto, Alice la scrive soluzione, aggiunge alcuni bit casuali, calcola il suo hash e dice a Bob il valore hash (mantenendo la soluzione segreta). In questo modo, quando Bob arriva la soluzione da solo pochi giorni dopo, Alice può verificare la sua soluzione, ma essere ancora in grado di dimostrare che aveva un soluzione precedente.
2) Le password sono memorizzate in un file password, in formato hash. A autenticare un utente, la password presentata dall'utente viene sottoposta a hash e confrontato con l'hash memorizzato. Un utente che ottiene l'accesso in lettura a il file delle password non dovrebbe essere in grado di accedere con questo metodo. (Supponiamo che l'utente dispettoso non modifichi il sistema in alcuno prima di provare ad accedere.)
3) Un amministratore di sistema, preoccupato per possibili rotture, calcoli l'hash di importanti file binari di sistema e memorizza i valori hash in un file di sola lettura. Un programma periodicamente ricalcola i valori hash dei file contenenti i file binari del sistema e li confronta con i valori memorizzati. Un utente malintenzionato che è in grado di sovrascrivere uno di i file '' protetti '' non dovrebbero essere in grado di cambiare il file senza rilevamento.
Non riesco a trovare una risposta, se qualcuno potrebbe aiutarmi sarebbe molto gentile!