Un hash crittografico strong rende improbabili le collisioni. Molti protocolli crittografici si basano su questo fatto. Ma Git sta usando gli hash SHA-1 come identificatori di oggetti. Quindi ci sono molti di hash già calcolati là fuori nei repository Git pubblici del web, insieme ai dettagli su come riprodurli.
C'è qualche attacco noto su qualche protocollo in cui questo potrebbe essere sfruttato? Qualcosa del tipo "beh, posso fare qualcosa di male se sostituisco questo testo in chiaro con un altro testo in chiaro con lo stesso hash SHA-1, quindi invece di calcolare una collisione ci tornerò su google". Naturalmente, lo spazio di tutti gli hash sono ancora lontani da quelli coperti da Git commit, ma comunque, immagino che tutto il commit di Git possa ammontare a un bel po 'di ore di CPU degli hash SHA-1. Non sono sicuro che tale ipotesi sia giustificata, però.
Per quanto posso vedere, un simile attacco funzionerebbe solo se l'hash è visibile, il testo semplice da cui è stato generato non lo è, ma un testo cifrato generato da è, e un testo diverso può anche essere crittografato . Quindi sembra che potrebbe essere applicato ad alcuni protocolli basati su chiave pubblica, in cui è possibile crittografare ma non decriptare. Inoltre, non si ha il controllo sul testo in collisione, quindi cose ovvie come mettere il proprio nome come beneficiario di alcune transazioni finanziarie non funzionerà. Ci sono scenari in cui tale collisione di hash crowd-sourced potrebbe causare seri problemi con probabilità non trascurabile?