Esencialmente, ¿cuál es el siguiente paso hacia arriba desde el almacenamiento de contraseñas de texto simple? Sospecho que la respuesta será MD5, pero no estoy familiarizado con una variedad lo suficientemente amplia de ejemplos para estar seguro.
La razón por la que pregunto es que estoy tratando de determinar la fuerza adecuada para disparar cuando se generan frases de contraseña. Sé que una plataforma de craqueo dedicada como esta puede ejecutar hashes MD5 en alrededor de 300 mil millones por segundo, por lo que estoy pensando un mínimo de alrededor de 67 bits de entropía (~ 10 años para romper).
¿Es razonable tratar a MD5 como el límite inferior para el hashing de contraseñas?
EDITAR: Para aclarar, no estoy tratando de almacenar contraseñas, y si lo estuviera, ciertamente no estaría usando MD5. Solo estoy tratando de averiguar cuál es el peor de los escenarios en los que es probable que me encuentre como usuario, de modo que pueda establecer una complejidad mínima razonable para mis frases de contraseña. Obviamente, el peor de los casos sería el almacenamiento de contraseñas en texto simple, pero en ese caso no me ahorrará ninguna complejidad.
Estoy sacando de un diccionario de 15 mil palabras, que le da a mis frases de acceso una entropía de ~ 14 bits por palabra. Por lo tanto, una frase de contraseña de 5 palabras me llevará a aproximadamente 70 bits de entropía, lo que debería ser suficiente para defenderse de la mayoría de los ataques, incluso si la contraseña se almacena a través de MD5.
Mi pregunta esencialmente se reduce a "¿Hay algún otro algoritmo de hashing de uso común, que sea incluso más rápido que el MD5, del que debería estar al tanto?" Si lo hay, entonces debo reconsiderar la fuerza de mi frase de contraseña.