Vale la pena implementare sia SHA2 che SHA3 contemporaneamente?

1

Sto creando un sistema di archiviazione delle password per un server Web che sto creando per divertimento.

Sarebbe più sicuro per me utilizzare sia SHA2 che SHA3 per l'hashing, e quindi memorizzarli in un database? Se utilizzo entrambi gli algos, sarei in grado di rilevare se qualcuno ha tentato di inviare una collisione SHA2 (per quanto improbabile possa essere), poiché l'hash SHA3 sarebbe sbagliato.

Ma SHA2 / SHA3 è così sicuro che tutto questo sforzo è del tutto inutile?

    
posta Michael 22.05.2015 - 23:02
fonte

1 risposta

3

Stai sbagliando e stai pensando male. Il problema con l'hashing della password non è, e non è mai stato, sulle collisioni. I problemi principali con l'hashing della password sono velocità (le funzioni di hash sono troppo veloci) e parallelismo (una funzione di hash è sempre uguale a se stessa).

C'è molta teoria sull'hash delle password. Come introduzione, leggi questa risposta . Il semplice sommario di una riga è: usa bcrypt .

Fare qualcosa di meglio (cioè più sicuro) di bcrypt è difficile (alcune persone sono provare , e farlo nel modo giusto: con una competizione aperta, ricerca pubblica e anni di sforzi). Tuttavia, creare qualcosa che è molto peggio di bcrypt è molto semplice, e molte persone riescono a ottenere quello che sembra senza sforzo. Con il tuo schema con una combinazione di SHA-2 e SHA-3, saresti sulla buona strada per aggiungere un'altra persona alla deprimente lunga lista di persone che pensavano che la creatività fosse una buona cosa nella crittografia, e pagata cara per questo .

(Niente di questo dice nulla su SHA-2 o SHA-3 come funzioni hash generiche, ma, nonostante i nomi, hashing e hashing password sono in effetti molto attività distinte, non hanno gli stessi requisiti e non dovrebbero usare gli stessi algoritmi).

    
risposta data 22.05.2015 - 23:35
fonte

Leggi altre domande sui tag