Calcolo dell'hash SHA-1
Calcola in tempo reale nel browser l'hash SHA-1 del testo inserito. Produce un valore a 160 bit, ma nel 2017 l'attacco SHAttered ne ha dimostrato la collisione: se ne sconsiglia l'uso in nuovi progetti.
Consigli
- SHA-1 (Secure Hash Algorithm 1) è una funzione hash a 160 bit progettata dalla NSA e standardizzata dal NIST nel 1995. L'output si rappresenta con 40 cifre esadecimali.
- Nel 2017 un gruppo di ricerca di Google e del CWI di Amsterdam ha presentato l'attacco SHAttered, riuscendo a costruire due file PDF diversi con lo stesso hash SHA-1 e decretando di fatto la fine dell'algoritmo.
- Dal 2017 i principali browser considerano non validi i certificati SSL/TLS firmati con SHA-1. Git ha usato SHA-1 per identificare i commit, ma la migrazione a SHA-256 è in corso.
- SHA-1 si incontra spesso come hash dei commit di Git: poiché Git non lo utilizza a fini di sicurezza, allo stato attuale i problemi pratici sono limitati.
- Nella progettazione di sistemi nuovi scegliete algoritmi SHA-256 o superiori al posto di SHA-1.
Domande frequenti
A proposito — SHAttered: la collisione dimostrata con miliardi di miliardi di calcoli
Nel febbraio 2017 un gruppo di Google e dell'istituto olandese CWI ha presentato l'attacco di collisione battezzato «SHAttered». Costruire due PDF diversi con lo stesso hash SHA-1 ha richiesto una quantità di calcolo enorme: l'equivalente di 99.000 core attivi per oltre due anni su Google Cloud Platform.
Fu il momento in cui l'attacco a SHA-1 passò da «teoricamente possibile» a «effettivamente dimostrato». Subito dopo, servizi come GitHub e Google accelerarono l'abbandono delle dipendenze da SHA-1 e Git avviò ufficialmente il proprio piano di migrazione a SHA-256.
Benché «rotto», SHA-1 sopravvive in moltissime implementazioni sparse per il mondo. Nei dispositivi embedded e nei vecchi sistemi aziendali l'aggiornamento è difficile, e la dismissione del SHA-1 di eredità resta una questione aperta per l'intero settore.