Casi todo el mundo sigue reglas de contraseñas inventadas para un modelo de amenaza que ya no existe. La mayúscula obligatoria, el signo de exclamación final, la rotación cada noventa días — vienen de una época en la que el atacante adivinaba contraseñas de una en una por la red. Hoy roba una base de hashes y la ataca sin conexión, a miles de millones de intentos por segundo, con diccionarios construidos a partir de todas las filtraciones anteriores. Lo que derrota eso no es la astucia. Es la entropía.
Qué mide realmente la entropía
La entropía, medida en bits, describe cuántos intentos necesita un atacante en promedio. Cada bit adicional duplica ese número. Para una contraseña extraída al azar de un alfabeto de tamaño N con longitud L, la entropía es L × log₂(N).
| Alfabeto | Bits por carácter | 8 caracteres | 16 caracteres |
|---|---|---|---|
| Solo dígitos (10) | 3,3 | 27 bits | 53 bits |
| Minúsculas (26) | 4,7 | 38 bits | 75 bits |
| Letras + dígitos (62) | 5,95 | 48 bits | 95 bits |
| ASCII imprimible completo (95) | 6,6 | 53 bits | 105 bits |
Lee la tabla en horizontal y el punto es inevitable: duplicar la longitud duplica la entropía, mientras que ampliar el alfabeto de 26 a 95 caracteres añade solo un 40%. La longitud es multiplicativa; la complejidad es aditiva. Este es el dato más útil que existe sobre contraseñas.
Qué puede hacer realmente un atacante
Una sola GPU moderna calcula decenas de miles de millones de hashes MD5 por segundo, y los equipos de ocho placas son corrientes. Frente a un hash rápido como MD5 o SHA-1 sin sal, una contraseña aleatoria de 8 caracteres del conjunto ASCII completo cae en horas. Frente a una función lenta e intensiva en memoria como bcrypt o Argon2 con parámetros sensatos, la misma máquina logra quizá decenas de miles de intentos por segundo — una diferencia de seis órdenes de magnitud.
No controlas qué algoritmo usa un servicio para guardar tu contraseña, y por eso tu margen debe ser generoso. Apunta a 80 bits o más en todo lo que importe y seguirás fuera de alcance aunque el servicio la haya guardado mal.
Generador de Contraseña Genera una contraseña aleatoria con cualquier longitud y conjunto de caracteres, todo en tu navegador. Abrir herramientaFrases de contraseña: entropía que puedes recordar
Cuatro palabras elegidas al azar de una lista Diceware de 7.776 palabras aportan 4 × log₂(7776) ≈ 51,7 bits. Seis palabras aportan 77,5 bits y siete llegan a 90 — cómodamente fuera de alcance, y aun así algo que una persona memoriza y teclea en el móvil.
La palabra clave es azar. Una frase que compusiste tú es una oración, y las oraciones siguen la gramática y las frecuencias de palabras que las herramientas de descifrado modelan bien. La fuerza viene del dado, no de las palabras.
La estrategia que funciona en la práctica
- 1 Usa un gestor de contraseñas para todo. Genera contraseñas largas y aleatorias por sitio y elimina el problema de la reutilización — es la reutilización, no la debilidad, lo que convierte una filtración en diez cuentas comprometidas.
- 2 Memoriza exactamente tres contraseñas: la del dispositivo, la maestra del gestor y la de tu correo principal. Todo lo demás vive en el gestor.
- 3 Haz que esas tres sean frases largas y aleatorias de seis o siete palabras. Nada más necesita ser memorable.
- 4 Activa la verificación en dos pasos donde exista, prefiriendo una app de autenticación o una llave física al SMS, vulnerable al intercambio de SIM.
- 5 Deja de rotar contraseñas por calendario. El NIST y el NCSC británico lo desaconsejan, porque la rotación forzada empuja a variaciones predecibles. Cámbiala cuando haya un motivo.
Qué dejar de hacer
- Sustituir caracteres — a por @, o por 0, e por 3. Toda herramienta de descifrado aplica esas reglas desde los años noventa; casi no añaden entropía.
- Construir contraseñas con datos personales. Fechas de nacimiento, nombres de mascotas, equipos y códigos postales son lo primero que prueba un ataque dirigido.
- Reutilizar una contraseña en cualquier sitio. Los ataques de credential stuffing reproducen los pares filtrados en cientos de sitios de forma automática.
- Fiarte del medidor de fuerza en pantalla. La mayoría mide clases de caracteres, no entropía, y califica Contraseña123! como segura.
Para desarrolladores que almacenan contraseñas
Nunca guardes contraseñas de forma reversible y nunca uses una función hash rápida de propósito general. Usa Argon2id cuando esté disponible, o bcrypt o scrypt, cada uno con sal única por usuario y parámetros de coste ajustados para que la verificación tarde entre 100 y 250 milisegundos en tu hardware. Ese retraso es imperceptible en un inicio de sesión y devastador para quien lanza miles de millones de intentos.
Exige un mínimo de 12 caracteres, acepta frases largas y cualquier carácter Unicode y comprueba las contraseñas nuevas contra listas de contraseñas filtradas. Después deja de imponer reglas de composición — perjudican más de lo que ayudan.