hashing doppio usando un hash relativamente nuovo e uno vecchio, testato

1

Nota: sono relativamente nuovo alla crittografia in generale, quindi per favore fai notare se ne faccio uno qualsiasi malinteso qui.

Ho sentito che dovresti sempre usare ben note funzioni di crypto / hash, che sono già state ampiamente testate e studiate. -e sono d'accordo - leggo anche che usare lo scrypt può essere rischioso perché è ancora nei suoi primi anni, ma sembra che risolva problemi come gli attacchi usando FPGA o GPU.

"La mia" grande idea era usare due hash! Uno ampiamente testato come PBKDF2 e lo scrypt dopo di esso! Quindi sarei in teoria protetto da scrypt e se vengono trovati bug / exploit / problemi con esso, ho ancora la protezione di una protezione ben nota fornita da PBKDF2!

Ci sono dei difetti in questa idea?

No, non è un duplicato di questa domanda: Questa domanda "Double hashing" con 2 diverse funzioni hash dice che non mi avvantaggerei usando due hash, ma riguarda sha256 e sha512, quindi non sono sicuro se questo si applica anche a PBKDF2 e scrypt.

D'altra parte, questo post qui I diversi algoritmi di hash di sempre usato insieme? dice che se usato come Composizione offrirà "la resistenza di preimage è almeno altrettanto buona come la più strong delle due funzioni, ma per le collisioni la funzione più debole definisce resistenza globale ". Per quanto ne so, le collisioni non sarebbero il problema qui ...

Si può presumere che voglio solo hash e memorizzare le password.

    
posta Xaphanius 11.08.2015 - 22:18
fonte

2 risposte

3

Dovresti davvero allontanarti dal rollare la tua implementazione crittografica. Perché non utilizzare bcrypt per l'archiviazione della password? E 'stato ampiamente testato per questo e funziona abbastanza bene.

Alcuni vantaggi che ha sono:

  • Resistenza alla forza bruta
  • Resistenza alle tavole arcobaleno
  • Generazione salata
  • Velocità scalabili tramite l'impostazione del ciclo di hashing
  • Basato sull'algoritmo blowfish
risposta data 11.08.2015 - 22:33
fonte
-2

PBKDF2 non è un algoritmo di hashing di per sé. La funzione di derivazione chiave (KDF) che "indurisce" l'algoritmo di hashing che hai scelto. Scrypt è anche un KDF, quindi non offre alcuna protezione aggiuntiva per utilizzare due funzioni simili. Come hai scritto, la forza sarà pari alla più strong tra le due scelte.

E, come ha detto Revulai nella sua buona risposta, non dovresti giocare al crittografo, lascialo a coloro che sono esperti in questa materia. Dovremmo solo seguire le attuali migliori pratiche.

    
risposta data 12.08.2015 - 09:09
fonte

Leggi altre domande sui tag