Usando múltiples hashes para verificar un archivo

0

Estoy soñando con un servicio donde un cliente envía a mi servicio un hash de un archivo que genera localmente desde ese archivo. La idea es que tener tal hash sería suficiente para mostrar que el usuario realmente está sosteniendo ese archivo.

Mi servicio dependería de que nadie pueda crear colisiones hash, preferiblemente también en el futuro. En otras palabras, nadie debería poder crear un archivo ligeramente modificado (es decir, cambiar una palabra en un pdf o en una imagen) que generaría el mismo hash que otro archivo. Cosas simples de seguridad de hash que todas las funciones de hash no rotas pueden administrar, pero lo que me preocupa es la longevidad. ¿Un hash generado hoy todavía sería seguro en 10 años?

Entonces, mi pregunta es, ¿no sería una buena idea diseñar la API para que el usuario tenga que generar y enviar múltiples hashes con diferentes funciones hash? ¿No sería mucho más difícil (incluso en 10 años) diseñar colisiones de hash que colisionen en todas esas funciones de hash? Mi intuición es que mi pensamiento es incorrecto, pero no puedo entender por qué sería.

    
pregunta vegai 27.04.2018 - 18:54
fuente

1 respuesta

4

Dado que ninguno de los hashes comunes tiene en realidad una resistencia matemáticamente comprobada contra los ataques, no es una mala idea usar múltiples hashes con diferentes algoritmos al mismo tiempo. Esta idea no es nueva y ya hay un lugar donde se usa. Para obtener la mejor mejora de seguridad, podría ser útil usar algoritmos basados en ideas muy diferentes, como SHA-2 (es decir, SHA-256, SHA-384) y SHA-3.

    
respondido por el Steffen Ullrich 27.04.2018 - 19:03
fuente

Lea otras preguntas en las etiquetas