Saltar al contenido
uencoder

Merkle-Damgård Construction

La construcción de Merkle-Damgård es el marco clásico del hash iterativo: el mensaje se divide en bloques y se encadena mediante la función de compresión f: h_i=f(h_{i-1}, m_i).

Propósito

Extiende una función de compresión de longitud de entrada fija a un hash de entrada arbitraria; la estructura subyacente de MD5/SHA-1/SHA-2.

Mecanismo

El mensaje se rellena hasta un múltiplo de la longitud de bloque (incluyendo la codificación de longitud); partiendo del valor inicial h_0=IV, se itera h_i=f(h_{i-1}, m_i) y se emite h_n. Debilidades: ataques de extensión de longitud y multicolineiones.

Casos de uso

  • Fundamento de MD5/SHA-1/SHA-2
  • Diseño de hashes iterativos
  • Docencia de criptografía

Herramientas relacionadas

References