Tal como lo entiendo, la cantidad de entropía en una contraseña representa la cantidad de conjeturas necesarias para saber cuál es esa contraseña. Cada bit es una sola decisión de sí o no, e idealmente, el atacante obtendría una "contraseña correcta" o un resultado de "contraseña incorrecta" (por lo tanto, tienen que adivinar todo el asunto, todos a la vez). Para n bits de entropía, eso requiere 2 ^ n conjeturas.
La fuerza deseada depende de qué tipo de amenaza esperas enfrentar. En particular, depende de la rapidez con que el atacante puede hacer conjeturas y de cuánto tiempo esperas que el atacante siga intentando.
Una vez que tenga esos números, su entropía mínima objetivo (en bits) debe ser:
n = log_2(totalGuesses) = log_2(guesses/sec * durationInSeconds)
La persistencia del atacante es algo que no sé cómo estimar. En aras de la discusión, supongamos que desea que su contraseña esté segura durante 1 semana después de que el atacante comience a adivinar.
El número de intentos por segundo depende de cómo se protege la contraseña y del tipo de acceso que tiene el atacante. Para un ataque en línea (es decir, probar el formulario de inicio de sesión de un sitio web), podría limitarlo a un valor bastante bajo; 10 por segundo sería alcanzable. Para MD5 sin sal, es más seguro asumir miles de millones de conjeturas por segundo. Para un algoritmo de hash fuerte como bcrypt, estará en algún punto intermedio (MUCHO más lento que MD5, en cualquier caso).
Por lo tanto, a 1 mil millones de hashes por segundo (craqueo de MD5 sin conexión), deberá defenderse contra un total de 6 * 10 ^ 14 conjeturas, que requieren aproximadamente 49 bits de entropía. A 10 conjeturas por segundo (en línea, ataque de velocidad limitada), debe defenderse contra aproximadamente 6 * 10 ^ 6 conjeturas, por lo que necesita aproximadamente 22. bits de entropía.
Por supuesto, las estimaciones por carácter de la entropía de Shannon no estimarán con precisión la dificultad de descifrar una contraseña, y el porcentaje de error variará enormemente dependiendo de varios factores. El enfoque que está tomando solo dará resultados razonablemente precisos para las contraseñas generadas por computadora, NO para las contraseñas generadas por humanos.