Una carta que escribí a la lista de correo de SHA-3 en 2010: De: Zooko O'Whielacronx Para: hash-forum Fecha: 2010-10-14 03:46 UTC Gente: Si un hash tiene resistencia a la preimagen de 32 bits, esto significa que un atacante podría gastar alrededor de 2³² recursos para encontrar una preimagen. Si un hash tiene resistencia a la preimagen de 64 bits, esto significa que un atacante podría gastar alrededor de 2⁶⁴ recursos para encontrar una preimagen. ¿Qué pasaría si un hash tiene resistencia a la preimagen de 512 bits? ¿Qué significaría eso? ¿Que un atacante podría gastar alrededor de 2⁵¹² recursos para encontrar una preimagen en él? Esa es una posibilidad sin sentido de discutir, ya que 2⁵¹² recursos nunca existirán en la vida de este universo, así que no puede significar eso, o si significa eso, entonces no tiene sentido hablar de "resistencia a la preimagen de 512 bits". ¿Quizás significa algo más? Por analogía, supongamos que consideras la construcción de un puente que soportara 10³ toneladas de presión. También podrías considerar un puente que pudiera soportar 10⁶ toneladas de presión. Si el puente se desplegara en una situación donde más de 10³ toneladas pero menos de 10⁶ toneladas pudieran descansar sobre él, entonces esta sería una distinción muy importante a hacer. Pero, ¿qué significaría discutir un diseño para un puente que pudiera soportar 10¹⁵⁰ toneladas de presión? Tal cantidad de presión nunca podría aplicarse al puente. ¿Habría algún valor en una distinción entre un diseño de puente que soportaría 10¹⁵⁰ toneladas de presión y otro que soportaría 10³⁰⁰? A pesar de que ninguno de ellos podría experimentar tanto como 10¹⁵⁰ toneladas de presión, quizás el segundo puente aún sería más seguro contra alguna otra amenaza: un error por parte de los constructores o diseñadores o un evento estresante que no se incluyó en el modelo que utilizamos para evaluar nuestros puentes en primer lugar. O quizás no. Quizás el puente diseñado para soportar 10³⁰⁰ toneladas de presión es en realidad más propenso a fallar que el otro cuando se ve afectado por este evento no predicho y no modelado. ¿Quién puede decirlo? Una posición razonable a adoptar es que fue un error que NIST especificara que algunos de los hashes de SHA-3 debían tener resistencia a la preimagen de 512 bits. (Si fue un error, entonces realmente no tengo idea de qué hacer al respecto en este momento!) Esa posición dice que hay una necesidad de una función hash que requiera mucho más tiempo de CPU que SHA-3-256 para proporcionar mucha menos probabilidad de que un atacante pueda encontrar una preimagen en ella que en SHA-3-256, pero que esta "mucho menos probabilidad" no está correlacionada de ninguna manera significativa con la idea de tener "resistencia a la preimagen de 512 bits". Otra posición razonable a adoptar es que una función hash que se sabe que tiene como máximo 384 bits de resistencia a la preimagen es más propensa a fallar que una que se sabe que tiene como máximo 512 bits de resistencia a la preimagen. Aquí es donde mi comprensión limitada de la criptoanálisis de funciones hash llega a su fin. ¿Es eso plausible? Si te doy dos funciones hash así, ¿estás seguro de que podrías aprender a encontrar preimágenes en la primera antes de encontrar preimágenes en la segunda? ¿Qué tan seguro estás? ¿Es posible que sea al revés, que descubras un método para encontrar preimágenes en la segunda antes de descubrir un método para encontrar preimágenes en la primera? Si alguien que tiene verdadera experiencia en criptoanálisis de funciones hash y que adopta la segunda posición pudiera explicar lo que quiere decir con "más propenso a fallar", entonces estaría fascinado de escucharlo. En cualquier caso, estoy bastante seguro de que como usuario de funciones hash, lo que me importa es "más propenso a fallar" (y eficiencia), no sobre "bits de seguridad" para cualquier nivel de bits mayor que aproximadamente 128 (incluyendo la consideración de ataques cuánticos, ataques a múltiples objetivos, etc.). Gracias por tomarte el tiempo de leer esto. Saludos, Zooko Wilcox-O'Hearn
4,97K