Glossary
Factor de coste
El factor de coste (o work factor) fija cuántas rondas ejecuta una función de hash, intercambiando velocidad de inicio de sesión por resistencia al cracking.
El factor de coste — también llamado work factor — es el número que controla cuán costosa es una operación de hash de contraseña. bcrypt lo expresa como un número de rondas (un coste de 12 significa 2¹² = 4096 rondas internas), y sha512crypt lo expresa mediante un parámetro explícito rounds=N. Aumentar el factor de coste hace que los inicios de sesión legítimos tarden un poco más, pero también hace que cada intento en un ataque de fuerza bruta o de diccionario tarde proporcionalmente más.
Ese compromiso es la razón de ser de un hash lento: un factor de coste solo es útil porque un atacante lo paga en cada candidato que prueba, mientras que un usuario legítimo lo paga una sola vez por inicio de sesión. Duplicar el factor de coste duplica aproximadamente ambas cifras, por eso necesita subidas periódicas a medida que el hardware mejora — un factor de coste elegido en 2015 ya no ralentiza una GPU moderna como lo hacía entonces.
Un factor de coste no es lo mismo que una sal: una sal derrota el precálculo y evita que contraseñas idénticas coincidan, mientras que el factor de coste es lo que realmente ralentiza cada intento. Consulta por qué los hashes rápidos son peligrosos para ver qué ocurre cuando una contraseña almacenada no tiene ningún factor de coste, y Argon2 vs bcrypt vs scrypt para elegir uno.