¿Se pueden adjuntar datos a los mensajes sin cambiar el hash?

3

Hace poco aprendí sobre los códigos de autenticación de mensajes en la universidad y el profesor dijo que es importante usar un relleno para hacer que el mensaje sea un múltiplo entero de una cierta longitud antes del hash, ya que de otro modo la función de "muchos" hash permite agregar datos sin cambiarlos. el hash.

No lo he oído mal. Está en una diapositiva de la conferencia.

Esta diapositiva de la conferencia también muestra esta titulada "implementación real":

HMAC(Key, M) = H((Key ⊕ opad) ∥ H(Key ⊕ ipad ∥ M))

Significado de los símbolos:

M: message
H: cryptographic hash function
Key: symmetrical key
opad, ipad: inner/outer padding
∥: concatenation
⊕: XOR

En primer lugar, encuentro la "implementación real" bastante torpe. Eso probablemente debería ser opad y ipad n veces con n*length(opad) ≥ length(key) y n*length(ipad) ≥ length(key) .

Pero sobre todo, me resulta difícil de creer y parece que no puedo encontrar nada al respecto en Internet. ¿Esto ocurre realmente con las funciones hash criptográficas ?

    
pregunta UTF-8 24.12.2016 - 21:56
fuente

1 respuesta

2

¿Te refieres a un Attack de extensión de longitud ?

  

En criptografía y seguridad informática, un ataque de extensión de longitud es un tipo de ataque en el que un atacante puede usar Hash (mensaje1) y la longitud del mensaje1 para calcular Hash (mensaje1 2 mensaje2) para un mensaje2 controlado por un atacante. Este ataque se puede usar para firmar un mensaje cuando un hash basado en Merkle – Damgård se usa incorrectamente como un código de autenticación de mensaje, lo que permite la inclusión de información adicional.

     

Este ataque se puede realizar en hashes con construcción H (mensaje 1 cuando el mensaje y la longitud del secreto es conocida. Algoritmos como MD5, SHA-1 y SHA-2 que se basan en la construcción Merkle-Damgård son susceptibles a este tipo de ataque. 1 [2] [3] Tenga en cuenta que dado que HMAC no usa la construcción H (mensaje clave ∥), los hashes HMAC no son propensos a los ataques de extensión de longitud. [4] El algoritmo SHA-3 no es susceptible a este ataque. [5]

    
respondido por el Cort Ammon 25.12.2016 - 05:01
fuente

Lea otras preguntas en las etiquetas