Bruce Schneier ricorda per l’n-sima volta che, quando richiesto, è il caso di salare gli algoritmi di hash.
Di solito gli algoritmi di hash si usano per rappresentare con un valore gestibile (un numero) qualcosa che o non si vuole scrivere in chiaro (una password, un dato personale) oppure si vuole rappresentare in maniera compatta per una comparazione o ricerca più veloce. Ovviamente il secondo caso non deve essere salato e ci arrivano tutti a capire il motivo.
Spesso la funzione di hash è surgettiva, ma le collisioni sono un male accettabile e, per quanto riguarda le password, può anche andare bene che sia tale, in quanto il rischio che, mettendo una password casuale, si ottenga una collisione è tollerabile.
(altro…)