Dado el resumen de hash, calculando cualquier entrada aleatoria

2

Entiendo que para una función hash hay una cantidad infinita de entradas posibles que podrían producir una salida específica. Entonces, si está tratando de encontrar una entrada específica que creó una salida que sería inviable.

Sin embargo, tome SHA256, si recibe una salida (resumen), ¿es bastante fácil calcular cualquiera de las entradas posibles si no le importa cuál?

    
pregunta Luke 11.02.2015 - 18:49
fuente

1 respuesta

6

No. Dada alguna salida x , cualquier entrada m tal que h ( m ) = x se llama una preimagen . Aunque hay muchas preimágenes posibles, no es factible encontrar cualquiera de ellas, es decir, si la función hash es criptográficamente fuerte.

Las tres propiedades clásicas de las funciones hash criptográficas son:

  • Resistencia a las imágenes previas: dado x , no es posible encontrar ningún valor m tal que h ( m ) = x .
  • Resistencia a las segundas preimágenes: dado m , no es posible encontrar ningún valor m ' tal que m m ' y h ( m' ) = h ( m ).
  • Resistencia a las colisiones: no es posible encontrar m y m ' de modo que m m' y h ( m ') = h ( m ).

En otras palabras:

  • Si te doy una salida de hash, no puedes encontrar una entrada que coincida, no solo la que usé en primer lugar, sino que tampoco puedes encontrar ninguna otra.
  • Si te doy una salida de hash y una entrada coincidente, no puedes encontrar otra entrada distinta que produzca la misma salida.
  • Aunque te permita elegir los mensajes que desees, sin ninguna restricción, no puedes encontrar dos entradas distintas que produzcan la misma salida.

Por supuesto, todas estas resistencias son hasta cierto esfuerzo computacional (muy alto). Por ejemplo, encontrar una preimagen se puede hacer con un método llamado "suerte", es decir, probar entradas aleatorias hasta que se encuentre una coincidencia. Si la función hash ofrece una salida de 256 bits, entonces la suerte encontrará una entrada coincidente en un promedio de 2 intentos 256 , que está totalmente fuera del alcance de la tecnología existente y futura (por un muy muy largo margen). Se dice que una función es "criptográficamente fuerte" si el tamaño de salida de la función hash es tal que la suerte no es práctica, y no hay un método mejor conocido.

    
respondido por el Thomas Pornin 11.02.2015 - 18:58
fuente

Lea otras preguntas en las etiquetas