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.
Che cos'è un hash SHA-1?
SHA-1 è una funzione di hash che calcola un valore fisso di 160 bit da dati di lunghezza qualsiasi. L'output si esprime in 40 caratteri esadecimali e lo stesso input dà sempre lo stesso valore. Questo strumento calcola l'hash SHA-1 della stringa inserita, nel vostro browser e in tempo reale. Ciò che digitate non viene inviato da nessuna parte.
Detto questo, SHA-1 non può più servire per nuovi scopi di sicurezza. Nel 2017 è stato dimostrato un attacco che produce di proposito lo stesso hash da due file diversi. Per firme, certificati e conservazione delle password scegliete SHA-256 o superiore. L'impiego di questo strumento si limita al confronto con valori prodotti da sistemi esistenti e all'osservazione del comportamento dell'algoritmo.
Passaggi per calcolare un hash SHA-1
- Inserite una stringa Digitate la stringa da sottoporre a hash. Viene calcolata mentre digitate e il risultato compare.
- Verificate il risultato Vengono mostrati quaranta caratteri esadecimali. Cambiate anche un solo carattere dell'input e il valore diventa del tutto diverso.
- Copiate e confrontate Il pulsante di copia lo mette negli appunti, pronto per essere confrontato con un valore esistente.
Consigli per sfruttarlo al meglio
- 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.
Quando un calcolo di hash SHA-1 torna utile
Confrontare con i valori di un sistema esistente
Confermate se coincidete con il valore prodotto da un sistema che gira ancora su SHA-1. Utile per le verifiche durante una migrazione.
Capire gli hash di Git
Generate lo stesso formato a 40 caratteri di un identificativo di commit e vedetelo di persona. Aiuta a cogliere con quali valori lavora Git.
Preparare dati di prova per un'implementazione
Dopo aver implementato un'elaborazione di hash, potete preparare qui valori noti da usare come risultati attesi.
Osservare le proprietà di una funzione di hash
Constatate voi stessi come il cambiamento di un solo carattere dell'input stravolga completamente l'output.
I termini dell'hash spiegati
- SHA-1
- Una funzione che produce un hash a 160 bit. È stata standardizzata nel 1995, ma la sua sicurezza è ormai violata.
- Collisione
- Lo stato in cui due dati diversi danno lo stesso hash. Per SHA-1 è stato dimostrato che le collisioni si possono costruire di proposito.
- SHAttered
- Il nome dell'attacco di collisione contro SHA-1 pubblicato nel 2017. Furono effettivamente prodotti due PDF con lo stesso hash.
- Notazione esadecimale
- Un modo di rappresentare i numeri con i simboli da 0 a F. I 160 bit di SHA-1 si esprimono in 40 caratteri esadecimali.
- SHA-256
- Una funzione che produce un hash a 256 bit. È tuttora ritenuta sicura e, per scopi nuovi, è questa o una più robusta che va scelta.
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.