Una lettera che ho scritto alla mailing list SHA-3 nel 2010: Da: Zooko O'Whielacronx A: hash-forum Data: 2010-10-14 03:46 UTC Gentili, Se un hash ha una resistenza all'immagine pre-immagine di 32 bit, significa che un attaccante potrebbe spendere circa 2³² risorse per trovare un'immagine pre-immagine. Se un hash ha una resistenza all'immagine pre-immagine di 64 bit, significa che un attaccante potrebbe spendere circa 2⁶⁴ risorse per trovare un'immagine pre-immagine. E se un hash ha una resistenza all'immagine pre-immagine di 512 bit? Cosa significherebbe? Che un attaccante potrebbe spendere circa 2⁵¹² risorse per trovare un'immagine pre-immagine in esso? Questa è una possibilità priva di significato da discutere, poiché 2⁵¹² risorse non esisteranno mai nella vita di questo universo, quindi non può significare questo, o se significa questo, allora non ha senso parlare di "resistenza all'immagine pre-immagine di 512 bit". Forse significa qualcos'altro? Per analogia, supponiamo che consideriate la costruzione di un ponte che resista a 10³ tonnellate di pressione. Potreste anche considerare un ponte che potrebbe resistere a 10⁶ tonnellate di pressione. Se il ponte fosse da utilizzare in una situazione in cui più di 10³ tonnellate ma meno di 10⁶ tonnellate potrebbero gravare su di esso, allora questa sarebbe una distinzione molto importante da fare. Ma cosa significherebbe discutere un progetto per un ponte che potrebbe resistere a 10¹⁵⁰ tonnellate di pressione? Una tale quantità di pressione non potrebbe mai essere applicata al ponte. Ci sarebbe qualche valore in una distinzione tra un progetto di ponte che resisterebbe a 10¹⁵⁰ tonnellate di pressione e un altro che resisterebbe a 10³⁰⁰? Anche se nessuno di essi potrebbe mai subire una pressione di 10¹⁵⁰ tonnellate, forse il secondo ponte sarebbe comunque più sicuro contro qualche altra minaccia: un errore da parte dei costruttori o dei progettisti o un evento stressante che non è stato incluso nel modello che abbiamo usato per valutare i nostri ponti in primo luogo. O forse no. Forse il ponte progettato per resistere a 10³⁰⁰ tonnellate di pressione è in realtà più probabile che fallisca rispetto all'altro quando colpito da questo evento imprevisto e non modellato. Chi può dirlo? Una posizione ragionevole da prendere è che sia stato un errore per il NIST specificare che alcuni degli hash SHA-3 dovevano avere una resistenza all'immagine pre-immagine di 512 bit. (Se è stato un errore, allora non ho davvero idea di cosa fare a questo punto!) Quella posizione afferma che c'è bisogno di una funzione hash che richieda molto più tempo CPU di quanto faccia SHA-3-256 per fornire una probabilità molto minore che un attaccante possa trovare un'immagine pre-immagine in essa rispetto a SHA-3-256, ma che questa "probabilità molto minore" non è in alcun senso significativo correlata all'idea di avere "resistenza all'immagine pre-immagine di 512 bit". Un'altra posizione ragionevole da prendere è che una funzione hash che si sa avere al massimo 384 bit di resistenza all'immagine pre-immagine è più probabile che fallisca rispetto a una che si sa avere al massimo 512 bit di resistenza all'immagine pre-immagine. Qui la mia limitata comprensione dell'analisi crittografica delle funzioni hash giunge al termine. È plausibile? Se ti do due funzioni hash di questo tipo, sei sicuro di poter imparare a trovare immagini pre-immagine nella prima prima di trovare immagini pre-immagine nella seconda? Quanto sei sicuro? È possibile che sia il contrario, che tu scopra un metodo per trovare immagini pre-immagine nella seconda prima di scoprire un metodo per trovare immagini pre-immagine nella prima? Se qualcuno che ha una vera esperienza nell'analisi crittografica delle funzioni hash e che prende la seconda posizione potesse spiegare cosa intende per "più probabile che fallisca", sarei affascinato di sentirlo. In ogni caso, sono abbastanza sicuro che come utente di funzioni hash ciò che mi interessa è "più probabile che fallisca" (e l'efficienza), non "bit di sicurezza" per qualsiasi livello di bit superiore a circa 128 (inclusa la considerazione degli attacchi quantistici, attacchi multi-obiettivo, ecc.). Grazie per aver dedicato del tempo a leggere questo. Cordiali saluti, Zooko Wilcox-O'Hearn
4,6K