Fortaleza de las contraseñas explicada: longitud, entropía y frases de contraseña
Una contraseña es tan fuerte como el número de intentos que hacen falta para descubrirla. Los atacantes no leen tu contraseña para juzgarla: prueban candidatas, empezando por las más rápidas de probar y las más probables, hasta que una funciona. Esta guía explica cómo se mide ese proceso de adivinar, por qué añadir longitud ayuda mucho más que añadir símbolos, cuándo basta una frase de contraseña hecha de palabras corrientes y qué esperan las directrices actuales del NIST de los sitios que guardan tu contraseña.
Cómo se descifran realmente las contraseñas
Hay dos situaciones, y entre ellas hay muchos órdenes de magnitud de diferencia.
Los ataques en línea se hacen contra un formulario de inicio de sesión. El sitio ve cada intento y puede ralentizarlo o bloquear la cuenta: las directrices del NIST exigen un límite de no más de 100 intentos fallidos consecutivos en una misma cuenta. En este caso, solo caen las contraseñas más débiles.
El descifrado sin conexión ocurre tras una filtración de datos, cuando el atacante tiene una copia de los hashes de contraseñas almacenados y puede probar candidatas en su propio hardware tan rápido como este dé de sí. Una sola tarjeta gráfica RTX 4090, en la prueba de rendimiento de hashcat que tanto se cita, prueba unos 164.000 millones de intentos por segundo contra MD5 y unos 184.000 contra bcrypt. La diferencia se debe al hash que elige el sitio, no a tu contraseña, y por eso lo único que está en tu mano es que el número de candidatas sea demasiado grande para recorrerlo.
Entropía: contar las posibilidades
Si una contraseña se elige al azar, su fortaleza es simplemente el número de contraseñas posibles con esa longitud y ese conjunto de caracteres. Suele expresarse en bits de entropía: cada bit duplica el número de intentos necesarios.
Entropía = longitud × log₂(tamaño del conjunto de caracteres)
| Caracteres tomados de | Tamaño del conjunto | Bits por carácter |
|---|---|---|
| Solo dígitos | 10 | 3,32 |
| Letras minúsculas | 26 | 4,70 |
| Letras mayúsculas, minúsculas y dígitos | 62 | 5,95 |
| El generador de nTools con todos los conjuntos activados | 80 | 6,32 |
| Todos los caracteres imprimibles (letras, dígitos y todos los símbolos del teclado) | 94 | 6,55 |
«Imprimibles» significa aquí los 94 caracteres del ASCII básico que se pueden escribir con un teclado estándar, sin contar el espacio: 26 letras mayúsculas, 26 letras minúsculas, 10 dígitos y 32 símbolos como ! ? @ # % & *. El generador de nTools usa 18 de esos símbolos, y por eso su conjunto tiene 80 caracteres.
La fórmula solo es válida si cada carácter se elige al azar. Una contraseña que inventa una persona —una palabra, un nombre, un año, una mayúscula al principio y un ! al final— tiene mucha menos entropía de la que sugiere su longitud, porque los programas de descifrado prueban precisamente esos patrones primero.
La longitud vale más que la complejidad
Añadir un carácter multiplica el trabajo por el tamaño completo del conjunto; añadir un tipo de carácter solo amplía un poco el conjunto. Los tiempos de la tabla corresponden a probar todas las posibilidades con una sola RTX 4090 contra MD5 sin sal, el peor caso para el sitio, y un atacante con ocho tarjetas necesita la octava parte del tiempo.
| Contraseña aleatoria | Entropía | Tiempo para probarlas todas |
|---|---|---|
| 8 letras minúsculas | 37,6 bits | unos 1,3 segundos |
| 8 letras y dígitos | 47,6 bits | unos 22 minutos |
| 8 caracteres, todos imprimibles | 52,4 bits | unas 10 horas |
| 12 caracteres, todos imprimibles | 78,7 bits | unos 92.000 años |
| 15 letras minúsculas | 70,5 bits | unos 320 años |
| 20 caracteres del generador de nTools | 126,4 bits | fuera del alcance de cualquier ordenador |
Quince letras minúsculas son aproximadamente un cuarto de millón de veces más difíciles de descifrar que ocho caracteres de todo tipo. Los símbolos no son inútiles —ayudan—, pero unos pocos caracteres más ayudan más, y son más fáciles de escribir en el móvil.
Frases de contraseña: palabras aleatorias
Una frase de contraseña usa palabras enteras como «caracteres». La lista larga de palabras de la EFF tiene 7.776 palabras, una por cada resultado posible al tirar cinco dados, así que cada palabra elegida al azar añade unos 12,9 bits. La EFF recomienda seis palabras para la mayoría de los usos, lo que da unos 77 bits: cerca de una contraseña aleatoria de 12 caracteres elegidos entre todos los imprimibles, y mucho más fácil de recordar y de escribir.
| Palabras aleatorias de la lista de la EFF | Entropía |
|---|---|
| 4 palabras | 51,7 bits |
| 5 palabras | 64,6 bits |
| 6 palabras | 77,5 bits |
| 7 palabras | 90,5 bits |
Se aplica la misma condición: las palabras deben elegirse al azar, con dados o con un generador. Un verso de una canción o una frase que te hayas inventado no es una frase de contraseña aleatoria, por larga que sea.
Qué dicen las directrices del NIST
Las directrices de identidad digital del NIST, SP 800-63B, son la referencia que sigue la mayoría de las políticas de seguridad. La revisión publicada en julio de 2025 cambió varias costumbres muy arraigadas:
- Longitud: al menos 15 caracteres cuando la contraseña es el único factor, y al menos 8 cuando forma parte de una autenticación multifactor. Los sitios deberían admitir al menos 64 caracteres y aceptar espacios y Unicode, y deben comprobar la contraseña completa, nunca una parte truncada de ella.
- Sin reglas de composición: los sitios no deben exigir combinaciones de tipos de caracteres, como «una letra mayúscula, un dígito, un símbolo».
- Sin cambios forzosos: los sitios no deben obligar a cambiar las contraseñas periódicamente, solo cuando haya indicios de que la contraseña se ha visto comprometida.
- Listas de bloqueo: las contraseñas nuevas deben compararse con una lista de contraseñas comunes, previsibles y filtradas, y rechazarse si aparecen en ella.
- Gestores de contraseñas: los sitios deben permitir los gestores de contraseñas y el autocompletado, y deberían permitir pegar.
- Sin pistas ni preguntas de seguridad: nada de pistas guardadas que cualquiera pueda ver, ni preguntas del tipo «nombre de tu primera mascota».
Cómo deberían guardar las contraseñas los sitios
Un sitio nunca debería guardar tu contraseña tal cual, sino solo un hash de ella: una huella unidireccional que sirve para comprobar un inicio de sesión, pero que no se puede revertir sin más. Los hashes rápidos de uso general, como MD5 o SHA-256, son la herramienta equivocada, porque permiten atacar una base de datos robada a miles de millones de intentos por segundo. Las funciones de hash de contraseñas, como bcrypt, scrypt y Argon2, son lentas a propósito y usan una sal aleatoria única para cada contraseña, y eso es lo que reduce la velocidad del atacante de miles de millones a miles.
No puedes ver cuál usa un sitio. Esa es la razón práctica para suponer lo peor y elegir una contraseña que resista incluso si el hash es rápido.
En la práctica, sin complicaciones
- Usa un gestor de contraseñas. Hace que tener una contraseña larga y aleatoria para cada sitio sea tan fácil como tener una corta, y solo la rellena en el sitio auténtico, lo que también protege frente a las páginas de phishing.
- No reutilices nunca una contraseña. Cuando se filtran los datos de un sitio, los atacantes prueban el mismo correo electrónico y la misma contraseña en todos los demás.
- Activa un segundo factor —o usa llaves de acceso donde el sitio las ofrezca— en el correo electrónico, el banco y todo lo que permita restablecer tus otras cuentas.
- Comprueba si una contraseña se ha filtrado. El servicio Pwned Passwords de Have I Been Pwned la comprueba sin recibirla: solo los cinco primeros caracteres de su hash SHA-1 salen de tu dispositivo.
- Memoriza solo unas pocas. La contraseña maestra del gestor de contraseñas y la de tu cuenta de correo principal son las que merecen una frase de contraseña de seis palabras.
Preguntas frecuentes
¿Es suficiente una contraseña de 12 caracteres?
Si es aleatoria y sus caracteres se eligen entre todos los imprimibles, tiene unos 79 bits y queda fuera del alcance de una búsqueda sin conexión. Si la eligió una persona, puede ser mucho más débil. El NIST pide ahora 15 caracteres cuando la contraseña es el único factor.
¿Sirve de algo sustituir letras por símbolos (P@ssw0rd)?
Apenas. Las herramientas de descifrado aplican estas sustituciones automáticamente, y P@ssw0rd está en todas las listas de contraseñas comunes. Lo que cuenta es la aleatoriedad y la longitud.
¿Debo cambiar mis contraseñas con regularidad?
No, salvo que haya motivos para pensar que alguna se ha filtrado. Los cambios programados empujan a la gente hacia patrones previsibles, como añadir un número al final, y por eso el NIST ya no permite que los sitios los exijan.
¿Es seguro usar un generador de contraseñas en línea?
Solo si la contraseña se crea en tu dispositivo y nunca se envía a ninguna parte. El generador de nTools funciona íntegramente en tu navegador y usa el generador criptográfico de números aleatorios que este incorpora; no se sube nada.