Non si utilizza un hash crittografico - no.
Tuttavia potresti utilizzare un Fuzzy Hash oppure Hash sensibile alla località . Gli hash sfocati sono diversi dagli hash normali in quanto consentono a un contenuto simile di raggrupparsi nello spazio di collisione dell'hash *.
Tipicamente a senso unico significa che non puoi dedurre ciò che è stato sottoposto a hashing - ma con gli hash fuzzy, se conosci un file simile (immagine dell'impronta digitale) che corrisponde all'hash (collisioni), allora sai che cosa è stato generalmente sottoposto all'hash.
Indipendentemente dalla proprietà monodirezionale può esistere per un hash sfocato dipende dal fatto che l'attaccante debba ricorrere alla forza bruta per indovinare gli input per trovare un hash sfocato corrispondente. Questa è chiamata resistenza pre-immagine.
Considera che esistono molte impronte digitali uniche, almeno pari all'attuale popolazione di terra (~ 2 33 ) e che esiste un hash sfocato di impronte digitali che crolla in modo affidabile ( un ordine molto alto ) fino a questo spazio di collisione o più grande. Vuoi che gli attaccanti abbiano forza bruta attraverso 2 voci 33 invece di semplicemente invertire l'hash.
Se esisteva un tale hash sfocato, è possibile proteggersi dall'inversione diretta passando l'hash attraverso un hash crittografico secondario. Fornendo l'hash sfocato collassato in modo affidabile e coerente in primo luogo, non perderai alcuna precisione di abbinamento dopo il rimbalzo contro un hash crittografico con uno spazio di collisione molto più grande. Quindi buona fortuna conoscendo l'hash ad interim fuzzy, a condizione che l'hashing secondario aggiungesse un salt casuale.
Il componente fuzzy lo rende un hash unidirezionale non crittografico poiché la "sfocatura" delle corrispondenze dell'immagine contraddice la proprietà di una strong resistenza alle collisioni.
fuzz() = Mythical_perfectly_consistent_fuzzy_hash_function_for_fingerprints();
salt = application's public random salt
hash_result = SHA-512(salt, fuzz(fingerprint.input))
* A questo punto, tutti i crittografi nella stanza dovrebbero urlare un omicidio a sangue freddo e tirare fuori i loro Uzis :-)