Hash doble usando un hash relativamente nuevo y uno antiguo probado.

1

Nota: soy relativamente nuevo en la criptografía en general, así que, por favor, señale si hago algún comentario. error aquí.

He oído que siempre se deben usar funciones de cifrado / hash bien conocidas, que ya se han probado y estudiado exhaustivamente. -y estoy de acuerdo con eso- también leí que el uso de scrypt puede ser riesgoso porque todavía está en sus primeros años, pero parece resolver problemas como los ataques con FPGA o GPU.

"¡Mi" gran idea fue usar dos hashes! ¡Una ampliamente probada como PBKDF2 y scrypt después de eso! Por lo tanto, en teoría estaría protegido por Scrypt y si se encuentran errores / vulnerabilidades / problemas con él, todavía tengo la protección de la protección bien conocida proporcionada por PBKDF2!

¿Hay algún defecto en esta idea?

No, no es un duplicado de esta pregunta: Esta pregunta "Doble hashing" con 2 funciones hash diferentes dice que no me beneficiaría si utilizara dos hashes, pero tiene relación con sha256 y sha512, por lo que no estoy seguro de que esto también se aplique a PBKDF2 y scrypt.

Por otro lado, esta publicación aquí son algoritmos hash diferentes cada vez ¿se usan juntos? dice que si se usa como Composición ofrecería "la resistencia de preimagen es al menos tan buena como la más fuerte de las dos funciones, pero para colisiones, la función más débil define la resistencia general ". Por lo que sé, las colisiones no serían el problema aquí ...

Puede suponer que solo quiero cifrar y almacenar contraseñas.

    
pregunta Xaphanius 11.08.2015 - 22:18
fuente

2 respuestas

3

Realmente deberías alejarte de rodar tu propia implementación criptográfica. ¿Por qué no usar bcrypt para el almacenamiento de contraseñas? Ha sido probado extensivamente para eso y funciona bastante bien.

Algunas de las ventajas que tiene son:

  • Resistencia a la fuerza bruta
  • Resistencia a las tablas del arco iris
  • generación de sal
  • Velocidades escalables mediante la configuración de rondas de hash
  • Construido sobre el algoritmo Blowfish
respondido por el Wrathbelle 11.08.2015 - 22:33
fuente
-2

PBKDF2 no es un algoritmo de hashing per se. Es la función de derivación de claves (KDF) que "endurece" el algoritmo de hash que ha elegido. Scrypt también es un KDF, por lo que no ofrece ninguna protección adicional para usar dos funciones similares. Como escribiste, la fuerza será tan buena como la más fuerte de las dos elegidas.

Y, como dijo Revulai en su buena respuesta, no deberías jugar criptógrafo, déjalo en manos de los expertos en este tema. Simplemente deberíamos seguir las mejores prácticas actuales.

    
respondido por el boleslaw.smialy 12.08.2015 - 09:09
fuente

Lea otras preguntas en las etiquetas