Che cos'è SHA-3 e perché lo abbiamo modificato?

59

Il 2 ottobre il NIST ha deciso che SHA-3 è il nuovo algoritmo di hashing standard, significa che dobbiamo smettere di usare SHA-2 perché non è sicuro?

Che cos'è questo SHA-3 comunque?

    
posta Lucas Kauffman 04.10.2012 - 16:17
fonte

4 risposte

58

La competizione di hash SHA-3 era un processo aperto con il quale il NIST ha definito una nuova funzione di hash standard (standard per Usi federali statunitensi, ma le cose sono tali che questo probabilmente diventerà uno standard de facto in tutto il mondo). Il processo è stato avviato nel 2007. A quel tempo, erano stati riscontrati numerosi punti deboli e attacchi sui predecessori delle funzioni SHA-2 (SHA-256, SHA-512 ...), ovvero MD5 e SHA-1, quindi si temeva che SHA-256 sarebbe presto "rotto" o almeno indebolito. Poiché la scelta e la specificazione di una primitiva crittografica richiede tempo, il NIST ha iniziato il processo SHA-3, con l'intenzione non detta ma chiaramente compresa di trovare una sostituzione per SHA-2.

SHA-2 si è rivelato più robusto del previsto. Non sappiamo davvero perché; ci sono alcuni argomenti semi-cotti (l'espansione del messaggio è non lineare, la funzione accumula il doppio di molte operazioni elementari di SHA-1 ...) ma c'è anche il sospetto che SHA-256 sia rimasto illeso perché tutti i ricercatori erano occupati lavorando ai candidati SHA-3. Ad ogni modo, con il doom SHA-2 apparentemente rinviato indefinitamente, il NIST ha spostato i suoi obiettivi, e invece di scegliere un sostitutivo , ha definito un piano di backup : una funzione che può essere mantenuta in una vetrinetta, da utilizzare in caso di emergenza. Corrispondentemente, performance ha perso la maggior parte della sua rilevanza.

Questo evidenzia la scelta di Keccak : tra i finalisti della competizione, era la funzione che era più diversa da entrambi gli SHA -2 e AES; quindi ha ridotto il rischio che tutti gli algoritmi crittografici standard venissero interrotti simultaneamente e che il NIST venisse metaforicamente catturato con il loro kilt down.

Non essere frettoloso: non solo SHA-2 è ancora valido (sia ufficialmente che scientificamente), ma SHA-3 è solo annunciato : ci vorranno alcuni più mesi prima possiamo ottenere una specifica (sebbene possiamo preparare le implementazioni in base a ciò che è stato presentato per la competizione). Quello che deve essere fatto ora (e avrebbe dovuto essere fatto una decina di anni fa, in realtà) è di preparare protocolli e applicazioni per agilità dell'algoritmo , cioè la possibilità di cambiare funzione se necessario sorge (nello stesso modo in cui SSL / TLS ha "pacchetti cipher").

    
risposta data 04.10.2012 - 17:13
fonte
10

C'è almeno un utilizzo per il quale SHA-2 è apparentemente migliore di SHA-3 e questo è stretching chiave .

SHA-3 è stato progettato per essere molto efficiente nell'hardware ma è relativamente lento nel software. SHA-3 impiega circa il doppio del tempo rispetto a SHA-2 per funzionare nel software e circa un quarto del tempo per funzionare in hardware.

Dato che SHA-3 impiega il doppio del tempo necessario per l'esecuzione nel software, se si desidera utilizzare lo stesso tempo di gestione delle password sul server, è necessario eseguire la metà del numero di iterazioni. Ma gli hacker possono utilizzare un'implementazione hardware per il crack delle password. A causa di questo, gli hacker possono decifrare i codici hash SHA-3 otto volte più veloci delle password hash SHA-2 - 2 volte più veloci perché dobbiamo dimezzare il numero di iterazioni hash e 4 volte più veloci perché l'hardware SHA-3 è più veloce di SHA-2 hardware.

    
risposta data 05.10.2012 - 07:22
fonte
6

Il 2 ottobre 2012, il NIST ha deciso quale algoritmo doveva essere utilizzato per eseguire l'hashing. Questo era l'algoritmo di Keccak.

L'algoritmo di Keccak si basa sulla strategia di spugna ermetica . È il nuovo algoritmo standard. Usiamo gli standard per rendere migliore la compatibilità.

Keccak è stato progettato da Guido Bertoni, Joan Daemen (uno dei creatori di AES), Michaël Peeters e Gilles Van Assche. L'hanno creato in base al loro algoritmo di Radiogatùn .

Questo significa che SHA-2 non è sicuro? Nessun SHA-2 è ancora considerato sicuro, sappiamo solo che in futuro non sarà più sicuro e abbiamo bisogno di garanzie che ci sarà un'alternativa disponibile. Inoltre, non vogliamo passare da un giorno all'altro, quindi hanno già standardizzato un nuovo algoritmo di hashing, in modo che le persone possano avere il tempo di cambiare e di sapere che abbiamo un algoritmo sicuro a portata di mano quando ne abbiamo bisogno.

    
risposta data 04.10.2012 - 16:17
fonte
3

Un vantaggio che vedo di SHA-3 rispetto a SHA-1 e SHA-2 è che non è sensibile agli attacchi di estensione. Ciò significa che i protocolli basati su di esso (ad esempio i MAC) sono intrinsecamente più robusti.

    
risposta data 05.10.2012 - 08:03
fonte

Leggi altre domande sui tag