Me di cuenta de que los tiempos de fuerza bruta (el tiempo que lleva encontrar un mensaje que contiene un hash determinado) de varios algoritmos de hash parece ser 2^(num_bits / 2)
. Por ejemplo, la gente dice que el% de fuerza forzada SHA1
(sin usar la vulnerabilidad que reduce el tiempo de fuerza bruta a 2^69
) es 2^80
. De hecho, si observa esta tabla , la columna "Seguridad (bits)" parece ser siempre la mitad del número de bits, y creo que se refiere al tiempo de búsqueda. ¿Cómo están obteniendo estos números? Pensaría que para forzar bruscamente un hash de 160 bits, uno debería al menos probar los mensajes 2^160
, o tal vez los valores 2^159
en promedio para encontrar mensajes. No creo que el ataque de cumpleaños sea relevante aquí, ya que parece tratarse de cualquier colisión, a diferencia de una colisión específica.