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.

Copiato!

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

Non per finalità di sicurezza (firme digitali, certificati, hash delle password). L'attacco SHAttered del 2017 ne ha dimostrato la collisione: scegliete SHA-256 o superiore.

No, il calcolo avviene interamente nel browser. Il testo inserito non viene mai inviato a un server.

SHA-1 produce un hash a 160 bit (40 caratteri), MD5 a 128 bit (32 caratteri). Per entrambi sono state dimostrate collisioni: nessuno dei due è adatto a scopi di sicurezza.
Tool-kun

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.