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.