Ir al contenido
OneKitly

Entropía de contraseñas: lo que un medidor de fuerza no puede saber

Publicado el 6/7/2026 · 16 min de lectura · Herramientas para desarrolladores

Daniel Okonkwo

Daniel OkonkwoDesarrollador front-end y redactor de Tecnología en OneKitly

Rendimiento web · Formatos de archivo

Verificado con 6 fuentes

Ver perfil
En resumen

La entropía es una propiedad del generador, no de la cadena. La fórmula H = L x log2(R) — longitud por el logaritmo en base 2 del tamaño del alfabeto — es exacta cuando cada uno de los L caracteres se sacó de forma uniforme y aleatoria entre R posibilidades, y carece de sentido en cualquier otro caso. Doce caracteres aleatorios de los 94 símbolos ASCII imprimibles dan 12 x 6,5546 = 78,66 bits, un espacio de claves de 94^12 = 4,76 x 10^23. Una frase Diceware de cuatro palabras de una lista de 7 776 da 4 x 12,9248 = 51,70 bits; seis palabras dan 77,55. Dieciséis letras minúsculas aleatorias dan 16 x 4,7004 = 75,21 bits — más larga que la contraseña de doce caracteres y más débil que ella. Aplica ahora la misma fórmula a P@ssw0rd123!: doce caracteres, las cuatro clases, 78,66 bits, y el medidor dice excelente. No lo es, porque esos caracteres no se eligieron al azar. Es una contraseña del top diez con sustituciones leet previsibles y un sufijo común, que es justo lo que codifican los conjuntos de reglas de descifrado. Una lista de 10 millones de palabras cruzada con 10 000 reglas son 10^11 candidatos, unos 36,5 bits — una sobrestimación de 42 bits, un factor de 4,8 billones. Y el tiempo que esos bits te compran depende por completo de cómo los guarde el defensor.

La entropía mide el proceso que produjo una contraseña, no los caracteres que contiene. H = L x log2(R) solo es cierto cuando cada carácter se eligió al azar — y por eso justamente un medidor que puntúa una contraseña inventada por un humano según sus clases de caracteres está midiendo lo que no es.

La entropía es del generador, no de la cadena

Preguntar cuánta entropía tiene la cadena correct-horse-battery-staple es plantear ya mal la pregunta. Si cuatro palabras se sacaron con dados de una lista publicada de 7 776 palabras, la respuesta son 51,70 bits. Si alguien las leyó en una tira cómica famosa y las tecleó, la respuesta roza el cero, porque los primerísimos intentos de un atacante incluirán exactamente esa frase. Mismos caracteres, misma longitud, mismas clases — seguridad completamente distinta, porque la entropía mide cuántos resultados igualmente probables podría haber producido el proceso, y la cadena no te dice cuál fue el proceso.

Por eso toda la disciplina habla de contraseñas generadas. Un gestor que toma de una fuente aleatoria criptográfica conoce R y L, así que puede declarar la entropía exacta. Un humano ante el teclado no tiene una R bien definida, porque las elecciones humanas no son uniformes: ciertas letras, ciertas sustituciones, ciertos años y ciertos patrones de teclado son mucho más probables que otros, y toda herramienta seria de descifrado está construida en torno a ese sesgo. Cualquier cifra pegada a una contraseña elegida por un humano es una conjetura sobre cuánto se ajusta el modelo del atacante a los hábitos de ese humano.

La fórmula y la condición que la acompaña

H = L x log2(R). El logaritmo convierte un recuento de posibilidades en bits, y multiplicar por la longitud funciona porque cada extracción independiente aporta sus propios bits. log2(94) = 6,5546, así que cada carácter ASCII imprimible aleatorio adicional aporta 6,5546 bits. log2(26) = 4,7004, así que una letra minúscula aporta menos. log2(7 776) = 12,9248, así que una palabra Diceware aporta casi el doble que un carácter aleatorio — 7 776 es 6^5, cinco tiradas de dado, y por eso la lista tiene exactamente ese tamaño.

La condición es una selección aleatoria uniforme e independiente, y es ella la que hace todo el trabajo. Rómpela y la fórmula deja de aplicarse en silencio mientras sigue devolviendo un número cómodo. Elige una palabra que te guste en vez de tirar los dados: R ya no es 7 776. Pon mayúscula en la primera letra porque una política lo exige: esa mayúscula no aporta entropía alguna, porque todo el mundo hace lo mismo. Añade un signo de exclamación y un año: esos caracteres alargan L sobre el papel mientras el conjunto de reglas del atacante los genera gratis. La fórmula no sabe nada de eso. Nunca se le dijo cuál era el proceso.

Hay una tercera magnitud que se enreda con estas dos y conviene separarla. La entropía de Shannon de una cadena, lo que calcula una calculadora de entropía genérica, mide la distribución de símbolos dentro de esa cadena concreta. Para P@ssw0rd123! sale 3,4183 bits por carácter, porque algunos caracteres se repiten. Ese número es de verdad útil para compresión y para detectar bloques cifrados, y no dice absolutamente nada sobre lo difícil que es adivinar la contraseña. Tres preguntas distintas, tres números distintos, y confundirlos es el origen de muchísimos malos consejos.

Qué mide realmente el medidor

El medidor de fuerza clásico cuenta clases de caracteres. Minúscula presente, mayúscula presente, dígito presente, símbolo presente: cuatro marcas, R = 94, se multiplica por la longitud y se pinta una barra tranquilizadora. Dale P@ssw0rd123! y calcula 12 x 6,5546 = 78,66 bits y llama excelente a la contraseña. Dale los doce caracteres genuinamente aleatorios que acaba de producir tu gestor y calcula exactamente los mismos 78,66 bits. El medidor no puede distinguirlos, porque solo miró qué clases aparecían.

Un atacante nunca se comporta así. El descifrado real pasa una lista de palabras por un archivo de reglas: reglas que ponen mayúscula, que cambian a por @, o por 0 y s por $, que añaden años de dos y de cuatro cifras y un signo de exclamación final, que invierten, duplican y truncan. Toda transformación de P@ssw0rd123! es una regla estándar. Toma una lista de diez millones de entradas y diez mil reglas: el espacio de candidatos es 10^11 — unos 36,5 bits, agotado en un segundo a cien mil millones de intentos por segundo. Frente a los 78,66 bits del medidor, es una sobrestimación de 42,11 bits, un factor de 4,76 billones.

Existen medidores mejores y funcionan con otro principio. En vez de contar clases, intentan reconstruir cómo se construyó probablemente la contraseña, cotejándola con diccionarios, nombres comunes, fechas, recorridos de teclado y repeticiones, y luego estiman cuántos intentos costaría la reconstrucción más barata. Es una cifra mucho más honesta, y aun así solo ve los patrones que le enseñaron. La conclusión prudente es que un medidor es un filtro contra lo obviamente pésimo, no una medición. Si quieres una cifra fiable, genera la contraseña y cuenta los bits que el generador gastó de verdad.

Más larga no es lo mismo que más fuerte

Dos ejemplos calculados lo dejan clarísimo. Dieciséis letras minúsculas aleatorias dan 16 x 4,7004 = 75,21 bits. Doce caracteres ASCII imprimibles aleatorios dan 12 x 6,5546 = 78,66. La cadena de dieciséis caracteres es un tercio más larga y 3,45 bits más débil — unas once veces más fácil de adivinar. Longitud y alfabeto se intercambian entre sí, y solo importa su producto.

La brecha se ensancha con las frases de contraseña. Una frase Diceware de cuatro palabras pasa fácilmente de veinte caracteres y aun así lleva solo 51,70 bits, frente a los 78,66 de la contraseña aleatoria de doce caracteres. Son 26,96 bits menos, un factor de 130 millones. Las frases no son débiles — son maravillosamente memorables, y una de seis palabras llega a 77,55 bits, empatando de hecho con los doce caracteres aleatorios. Pero la fuerza viene del número de palabras sacadas, no del número de letras tecleadas, y cuatro palabras no bastan para nada que te importe.

El tiempo de descifrado es el número del defensor, no el tuyo

Convertir la entropía en una duración pide una entrada más: el ritmo al que el atacante puede probar candidatos. De media encuentra la contraseña tras la mitad del espacio de claves, así que el tiempo esperado es 2^(H-1) dividido entre el ritmo de intentos. Todo pende de ese ritmo, y tú como usuario no lo controlas. Lo controla el servicio que guarda tu contraseña.

Toma la frase Diceware de cuatro palabras, 51,70 bits, y varía solo la elección de almacenamiento del defensor. Frente a un hash rápido sin sal donde un bastidor de GPU logra 10^11 intentos por segundo, el tiempo esperado son 5,1 horas. Frente a bcrypt con coste 12, donde el mismo bastidor logra quizá 10^4 por segundo, son 5 790 años. Frente a Argon2id ajustado a 64 MiB de memoria, donde el requisito de memoria bloquea el paralelismo masivo y el ritmo cae hacia 10^3, son 57 900 años. Contraseña idéntica. Entropía idéntica. Siete órdenes de magnitud de diferencia, decididos por completo por otra persona.

Ese es el vínculo entre este artículo y cualquier discusión sobre funciones hash. MD5 y SHA-256 se diseñaron para el rendimiento y lo entregan — más de un gigabyte por segundo en un solo núcleo — lo que los hace justo inadecuados para guardar contraseñas. Argon2id, bcrypt y scrypt gastan tiempo y memoria reales por intento a propósito. Cuando leas un titular que afirma que una contraseña se descifra en tantas horas, la primera pregunta es qué hash suponía la afirmación, porque esa sola suposición mueve la respuesta un factor de diez millones.

La reutilización vence a la entropía siempre

Toda esta aritmética da igual si la contraseña ya se publicó. El relleno de credenciales no adivina nada: toma pares de usuario y contraseña de una filtración y los repite contra todos los demás servicios, y funciona porque la reutilización es común. Una contraseña de 78,66 bits reutilizada en dos sitios tiene 78,66 bits en el que la guarda bien y cero en el que la perdió en claro, y después tiene cero en todas partes. La entropía nunca fue el fallo.

De ahí que las recomendaciones actuales del NIST digan lo que dicen. La SP 800-63B abandonó las viejas reglas de composición — mayúscula obligatoria, símbolo obligatorio, rotación forzada cada noventa días — porque empujan a la gente hacia patrones previsibles sin comprar entropía real. Lo que recomienda en su lugar es una longitud mínima generosa, ningún máximo arbitrario, ninguna truncación y filtrar las contraseñas candidatas contra listas de valores conocidos por estar filtrados. Ese último punto es el que caza a P@ssw0rd123!, cosa que ningún cálculo de entropía habría hecho.

Qué hacer en la práctica

Genera, no inventes. Un gestor de contraseñas que tome de una fuente aleatoria criptográfica es la única forma de conocer tu entropía en vez de esperarla, y elimina de paso el problema de la reutilización. Para el puñado de secretos que debes teclear de memoria — la contraseña maestra del gestor, una frase de cifrado de disco, un desbloqueo de dispositivo — usa una frase Diceware de seis palabras con 77,55 bits, memorizable e inalcanzable para un ataque por lista de palabras. Apunta a 75 bits como mínimo en todo lo que custodie otras credenciales, y toma 50 bits como el suelo para una cuenta rutinaria tras limitación de intentos y un segundo factor.

Y construye bien el otro lado, porque como desarrollador eres el defensor cuya elección decide las cifras de la tabla de arriba. Guarda las contraseñas con Argon2id donde puedas, bcrypt o scrypt donde no, siempre con una sal única. No impongas longitud máxima ni truques en silencio. No fuerces rotación periódica. Filtra las contraseñas nuevas contra una lista de contraseñas filtradas. Añade un segundo factor, que vale más bits de los que ninguna política de contraseñas extraerá jamás de tus usuarios.

Cinco recetas, su entropía real según H = L x log2(R) y el tiempo medio para adivinarlas con dos elecciones de defensor muy distintas
RecetaR y LEntropíaTiempo medio a 10^11 intentos/s (hash rápido sin sal)Tiempo medio a 10^4 intentos/s (bcrypt coste 12)
P@ssw0rd123! — inventada por una personaEl medidor supone R=94, L=1278,66 declarados, unos 36,5 reales0,5 segundos58 días
Frase Diceware de 4 palabrasR=7 776, L=451,70 bits5,1 horas5 790 años
16 letras minúsculas aleatoriasR=26, L=1675,21 bits6 910 años6,9 x 10^10 años
12 caracteres ASCII imprimibles aleatoriosR=94, L=1278,66 bits75 400 años7,5 x 10^11 años
Frase Diceware de 6 palabrasR=7 776, L=677,55 bits35 000 años3,5 x 10^11 años

Ejemplo calculado con nuestra herramienta

Calculadora de entropía de contraseña

Datos

Longitud de una contraseña aleatoria
12
Conjunto de caracteres
Minúsculas (26)

Resultado

Entropía (bits)
56,405

Estas cifras las produce la calculadora de abajo, no se escriben a mano — se recalculan cada vez que la herramienta cambia.

Rehacerlo con tus cifras

Preguntas frecuentes

¿Cuántos bits de entropía necesita una contraseña?
Depende de cómo lo guarde el otro extremo, que es la parte incómoda de la respuesta. Toma 51,70 bits, la entropía de una frase Diceware de cuatro palabras. Frente a un hash rápido sin sal a 10^11 intentos por segundo, el tiempo esperado para hallarla son 5,1 horas — inútil. Frente a bcrypt con coste 12, unos 10^4 intentos por segundo, la misma contraseña aguanta 5 790 años. Así que ningún umbral único vale en todas partes. Objetivos prácticos: al menos 75 bits para lo que proteja otras credenciales, como el secreto maestro de un gestor o una frase de cifrado de disco, porque eso debe sobrevivir a un ataque fuera de línea sobre una copia de los datos. Unos 50 bits son defendibles para una cuenta rutinaria tras limitación de intentos en el servidor y un segundo factor, donde el atacante nunca adivina rápido. En términos generados, 75 bits son doce caracteres ASCII imprimibles aleatorios (78,66) o seis palabras Diceware (77,55); 50 bits son cuatro palabras Diceware (51,70) u ocho caracteres aleatorios (52,44).
¿Es una frase de contraseña más fuerte que una contraseña aleatoria?
No automáticamente, y el número de caracteres es mala guía. Una frase Diceware de cuatro palabras lleva 4 x log2(7 776) = 51,70 bits aunque pase de veinte caracteres. Doce caracteres ASCII imprimibles aleatorios llevan 12 x log2(94) = 78,66 bits en mucho menos espacio. La frase es 26,96 bits más débil, un factor de 130 millones en esfuerzo de adivinación — una cadena más larga y muchísimo más fácil de hallar. Añade palabras y el cuadro cambia: seis palabras dan 77,55 bits, empatando de hecho con los doce caracteres aleatorios, y siete dan 90,47. La ventaja real de una frase es que la retienes en la cabeza, lo que importa muchísimo para los dos o tres secretos que tecleas de memoria y nada para el centenar que rellena tu gestor. Dos condiciones: las palabras deben sacarse al azar de una lista publicada, no elegirlas tú, y el tamaño de la lista debe conocerse para que R sea real. Escoger cuatro palabras que te gusten no es Diceware y no tiene entropía definida.
¿Por qué mi gestor puntúa una contraseña distinto que la web?
Porque responden a preguntas distintas. Un medidor de web suele contar clases de caracteres y multiplicar por la longitud, lo que da a P@ssw0rd123! y a doce caracteres genuinamente aleatorios los mismos 78,66 bits — no puede distinguirlos, habiendo mirado solo qué clases aparecían. Un estimador por patrones intenta en cambio reconstruir cómo se fabricó probablemente la contraseña, cotejándola con diccionarios, nombres, fechas, recorridos de teclado y repeticiones, e informa de cuántos intentos costaría la reconstrucción más barata. Para P@ssw0rd123! sale mucho más bajo, porque toda transformación que contiene es una regla estándar de descifrado: una lista de diez millones de palabras cruzada con diez mil reglas son 10^11 candidatos, unos 36,5 bits. La brecha entre ambos veredictos es de 42,11 bits, un factor de 4,76 billones. Cree al pesimista. Y ten en cuenta que ninguno puede puntuar una contraseña generada al azar mejor que la fórmula, porque para una contraseña generada la fórmula es exacta — esa es toda la razón de generar en vez de inventar.
¿Añadir un símbolo y un número ayuda de verdad?
Ayuda cuando el carácter se eligió al azar y no hace nada cuando se eligió como lo elige todo el mundo. Ampliar el alfabeto sí sube el rendimiento por carácter: log2(26) = 4,7004 bits para minúsculas frente a log2(94) = 6,5546 para todo el ASCII imprimible, así que cada carácter aleatorio gana 1,85 bits más. Pero una mayúscula en la primera letra y un signo de exclamación al final es lo que hace casi todo el mundo, así que el conjunto de reglas del atacante produce esas variantes gratis y la ganancia real de entropía roza el cero. Por eso la NIST SP 800-63B abandonó las reglas de composición obligatorias: imponen una transformación previsible en vez de añadir azar. Si quieres más bits, alarga la contraseña o ensancha de verdad el alfabeto al azar — dieciséis letras minúsculas aleatorias ya llegan a 75,21 bits sin ningún símbolo, y doce caracteres aleatorios de los 94 llegan a 78,66. Ambas ganan a cualquier decoración de una palabra memorable.
¿En qué se diferencia la entropía de una contraseña de la entropía de Shannon?
Miden objetos distintos, y una calculadora de entropía genérica te dará encantada el equivocado. La entropía de Shannon de una cadena mide la distribución de símbolos dentro de esa cadena: para P@ssw0rd123! sale 3,4183 bits por carácter, determinada por completo por qué caracteres se repiten. Es la herramienta adecuada para estimar cuánto comprimirán unos datos, o para detectar un bloque cifrado entre texto plano, y no dice nada sobre la adivinabilidad. La entropía de contraseña mide el proceso generador — cuántas contraseñas igualmente probables podría haber producido el procedimiento — y eso es H = L x log2(R) cuando la selección fue de verdad uniforme y aleatoria. Ambas pueden divergir muchísimo: una contraseña aleatoria de 12 caracteres y P@ssw0rd123! tienen la misma H por la fórmula, 78,66 bits, mientras sus entropías de Shannon difieren y su resistencia real difiere en decenas de bits. Si estás eligiendo una contraseña, el número que importa es el del proceso generador.
¿Puedo simplemente alargar mi contraseña en vez de hacerla aleatoria?
La longitud solo se convierte en entropía cuando los caracteres añadidos eran impredecibles. Alargar una palabra memorable con un año de nacimiento y un signo de puntuación alarga L sobre el papel mientras el archivo de reglas del atacante genera justo esas terminaciones gratis, así que H = L x log2(R) ya no describe nada real — el espacio de búsqueda práctico se queda en torno a la lista de palabras por el conjunto de reglas, unos 10^11 candidatos o 36,5 bits, que es un segundo de trabajo a cien mil millones de intentos por segundo. La longitud aplicada a material genuinamente aleatorio es la palanca más eficiente que tienes: cada minúscula aleatoria extra añade log2(26) = 4,7004 bits y cada carácter ASCII imprimible aleatorio añade log2(94) = 6,5546. Dieciséis minúsculas aleatorias llegan a 75,21 bits — sin símbolos, sin mayúsculas, sin sustituciones, y mucho más fuerte que cualquier palabra de diccionario decorada. Así que sí, alarga, pero solo si la longitud añadida es aleatoria. Si has de recordarla, añade palabras Diceware en vez de caracteres: cada una vale 12,9248 bits.

Artículos que podrían interesarte

Todas las guías
GuíaLo que un gestor de contraseñas no puede medirLa entropía pone precio a un solo ataque: adivinación sin conexión contra un hash robado. Por encima de unos 90 bits la cifra ya no decide nada, y el indicador de este sitio subestimó una contraseña aleatoria de 20 caracteres en 300 tiradas de 300.GuíaCifrar un archivo y enviar la clave por otra víaEl cifrado es la mitad fácil. Esto es exactamente lo que la herramienta le hace a tu archivo — cifrado, derivación de clave, sal, nonce — y por qué un adjunto cifrado con la contraseña en el mismo hilo no protege nada.ExplicaciónLa entropía de contraseñas explicada: bits, longitud y cuánto tarda en descifrarseQué mide realmente la entropía de una contraseña, por qué la longitud supera a la complejidad y cómo los bits de entropía se traducen en un tiempo de descifrado realista.ExplicaciónQué hay dentro de un JWT y qué no protegeUn JWT está firmado, no cifrado. Cualquiera que tenga el token puede decodificar la carga y leer todas sus reclamaciones. Aquí tienes un token real, decodificado sin ninguna clave, más los tres ataques que la firma debe frenar y el único problema que no puede resolver.ComparativaMD5, SHA-1, SHA-256: qué hash y para quéMD5 está roto y MD5 va perfectamente, según cuál de las tres propiedades de seguridad necesitaras. Esto es lo que significan de verdad la resistencia a colisiones, a segunda preimagen y a preimagen, qué algoritmo conserva cuál, y por qué ninguno debe acercarse a una contraseña.Explicación¿Qué es una función hash? (MD5, SHA-256)Una función hash convierte cualquier entrada en una huella de tamaño fijo. Aquí tienes qué hace, sus propiedades clave, usos comunes y qué algoritmos son seguros.

Herramientas relacionadas

Fuentes

¿Has detectado un error en este artículo?