La maggior parte degli usi di SHA-1 sono per l'interoperabilità: utilizziamo SHA-1 quando implementiamo protocolli in cui è richiesto SHA-1. Anche la facilità di sviluppo viene presa in considerazione: le implementazioni SHA-1 in vari linguaggi e ambienti di programmazione sono più comuni delle implementazioni SHA-512.
Inoltre, anche la maggior parte degli usi di funzioni hash non hanno problemi di prestazioni (almeno, nessun problema di prestazioni in cui la funzione hash è il collo di bottiglia), ci sono alcune architetture in cui SHA-1 è molto più efficiente di SHA-512 . Considera un router Linksys di base: utilizza una CPU derivata da Mips, con clock a 200 MHz. Tale macchina può essere riprogrammata, ad es. con OpenWRT (un piccolo Linux per sistemi embedded). Come router, ha una rete veloce (100 Mbit/s). Supponete di voler hash alcuni dati (ad esempio come parte di alcuni software VPN - un router sembra un buon candidato per l'esecuzione di una VPN). Con SHA-1, otterrai circa 6 MB/s, utilizzando la CPU completa. Questo è già molto più basso della larghezza di banda della rete. SHA-512 non fornirà più di 1,5 MB/s sulla stessa macchina. Su un tale sistema, la differenza di prestazioni non è trascurabile. Inoltre, se utilizzo SHA-1 sul mio router Linksys per alcuni protocolli di comunicazione, la macchina all'altra estremità del collegamento dovrà utilizzare anche SHA-1.
La buona notizia è che è in corso una competizione per selezionare una nuova funzione di hash standard, nome in codice SHA-3. Alcuni dei candidati in competizione offrono prestazioni simili a SHA-1, o anche leggermente migliori, pur continuando a fornire un output a 512 bit e sono (probabilmente) sicuri quanto lo SHA-512.
fonte
2010-04-15 19:47:30
SHA-1 non è ancora rotto. – Joe
non tutti gli usi di hash sono legati alla sicurezza – Javier
@Joe sei sicuro? Di recente ho sentito di hacking di tutti i tipi di crittografia con tutto questo accadendo in Quantum Computing, che può rompere un sacco di algoritmi in pochi secondi. – Earlz