Entropía de contraseñas explicada: midiendo la verdadera fortaleza
Lectura de 9 min aprox.
¿Qué criterios determinan si una contraseña es "fuerte" o "débil"? La entropía, un concepto de la teoría de la información, se utiliza ampliamente como medida objetiva de la fortaleza de una contraseña. Este artículo explica la definición matemática de la entropía, cómo los conjuntos de caracteres y la longitud afectan la fortaleza, y cómo funciona el medidor de fortaleza de passtsuku.com.
¿Qué es la entropía?
La entropíaes un concepto propuesto por Claude Shannon, fundador de la teoría de la información, en su artículo de 1948 "A Mathematical Theory of Communication." Mientras investigaba cómo codificar información de manera eficiente frente al ruido en los canales de comunicación, Shannon definió la entropía como una medida para cuantificar la "incertidumbre" de la información. Inspirado en la entropía termodinámica, este concepto se vincula con la unidad fundamental de información, el "bit," y constituye la base de la criptografía moderna y la evaluación de seguridad.
En el contexto de las contraseñas, la entropía puede entenderse como el logaritmo del número de intentos que un atacante necesita para adivinar una contraseña. Cuanto mayor sea la entropía, más difícil será adivinar la contraseña. La importancia de la teoría de la información de Shannon radica en que permite evaluar la fortaleza de una contraseña con una "métrica matemáticamente demostrable" en lugar de la "intuición." Esto posibilita discusiones cuantitativas como "esta contraseña tiene X bits de entropía, por lo que tardaría Y años en descifrarse" en vez de "parece lo suficientemente larga para ser segura."
Para aprender sistemáticamente sobre el concepto de entropía, libros de teoría de la información de Shannon (Amazon)también pueden ser útiles.
La fórmula de la entropía
La entropía H de una contraseña generada aleatoriamente se calcula con la siguiente fórmula.
H = L × log₂(N)
Aquí, L es el número de caracteres de la contraseña y N es el número de tipos de caracteres posibles. log₂ es el logaritmo en base 2, y el resultado se expresa en bits. Por ejemplo, 1 bit de entropía significa "una de 2 posibilidades" y 2 bits significa "una de 4." Esta fórmula se cumple bajo la suposición de que cada carácter se elige de forma independiente y uniformemente al azar. Dado que esta suposición no se cumple en contraseñas elegidas por humanos, hay que tener en cuenta las "trampas" que se discuten más adelante.
Comparación de entropía por conjunto de caracteres
La entropía por carácter (log₂(N)) y la fortaleza general de la contraseña varían significativamente según el conjunto de caracteres utilizado. Comparémoslos en la siguiente tabla.
| Conjunto de caracteres | N (caracteres) | Por carácter (bits) | 8 caracteres (bits) | 12 caracteres (bits) | 16 caracteres (bits) |
|---|---|---|---|---|---|
| Solo dígitos (0-9) | 10 | 3.32 | 26.6 | 39.9 | 53.2 |
| Solo minúsculas (a-z) | 26 | 4.70 | 37.6 | 56.4 | 75.2 |
| Minúsculas + mayúsculas | 52 | 5.70 | 45.6 | 68.4 | 91.2 |
| Minúsculas + mayúsculas + dígitos | 62 | 5.95 | 47.6 | 71.5 | 95.3 |
| Todos los ASCII imprimibles | 95 | 6.57 | 52.6 | 78.8 | 105.1 |
El punto clave de esta tabla es que, aunque aumentar el conjunto de caracteres incrementa la entropía por carácter, el aumento es logarítmico. Expandir de solo dígitos (3.32 bits) a todos los ASCII (6.57 bits) solo duplica aproximadamente la entropía por carácter. En cambio, duplicar la longitud de la contraseña de 8 a 16 caracteres duplica exactamente la entropía total.
Ejemplos prácticos de cálculo y tiempos de descifrado
Ejemplo 1: 8 caracteres en minúsculas
H = 8 × log₂(26) = 8 × 4.70 = aproximadamente 37.6 bits. Esto corresponde a 2^37.6, es decir, unos 209 mil millones de combinaciones. Según un estudio de Hive Systems de 2025, los ataques offline con una NVIDIA RTX 5090 (contra hashes bcrypt) muestran un rendimiento significativamente mejorado respecto a la RTX 4090, con hashes MD5 permitiendo cientos de miles de millones de intentos por segundo. Si se almacena con una función de hash débil como MD5, una contraseña de 37.6 bits puede descifrarse en aproximadamente 1 segundo. Incluso con bcrypt, se rompería en unos 13 días. Esto es insuficiente para la seguridad.
Ejemplo 2: 16 caracteres con todos los ASCII
H = 16 × log₂(95) = 16 × 6.57 = aproximadamente 105.1 bits. 2^105.1 es alrededor de 4 × 10^31 combinaciones. Incluso si un atacante pudiera hacer 1 billón (10^12) de intentos por segundo, probar todos los patrones tomaría unos 1.3 × 10^19 segundos, es decir, unos 400 mil millones de años. Eso es unas 30 veces la edad del universo (aproximadamente 13,800 millones de años), lo que hace que el descifrado por fuerza bruta sea prácticamente imposible con la tecnología informática actual. Esta es una fortaleza suficiente para servicios financieros y cuentas críticas.
Ejemplo 3: 12 caracteres con mayúsculas + minúsculas + dígitos
H = 12 × log₂(62) = 12 × 5.95 = aproximadamente 71.5 bits. Esta es una fortaleza adecuada para servicios web generales, pero algo insuficiente para servicios financieros. Puede mejorar la fortaleza añadiendo símbolos o aumentando la longitud. Consulte la configuración recomendada en el artículo sobre cómo crear contraseñas seguras.
¿Longitud o variedad de caracteres: qué importa más?
Como muestra la fórmula H = L × log₂(N), la entropía aumenta linealmente con el número de caracteres L, pero solo logarítmicamente con el número de tipos de caracteres N. Es decir, duplicar la longitud duplica la entropía, pero duplicar el conjunto de caracteres solo añade 1 bit.
Debido a esta propiedad, aumentar la longitud es más efectivo que aumentar la variedad de caracteres para fortalecer eficientemente una contraseña. Sin embargo, aumentar la variedad de caracteres también tiene sentido. Mejora la resistencia no solo a los ataques de fuerza bruta sino también a los ataques de diccionario, ya que amplía el espacio de búsqueda para los atacantes. Idealmente, se recomienda asegurar tanto una longitud suficiente como tipos de caracteres diversos.
Para comprender en profundidad los fundamentos matemáticos de la criptografía, libros de fundamentos matemáticos de criptografía (Amazon)pueden ser útiles.
Trampas del cálculo de entropía
La fórmula anterior solo se cumple cuando la contraseña se genera de forma completamente aleatoria. Las contraseñas elegidas por humanos tienden a estar sesgadas hacia patrones como palabras del diccionario, fechas de nacimiento y secuencias de teclado (qwerty, 1234, etc.), lo que hace que la fortaleza efectiva caiga muy por debajo de la entropía teórica.
Por ejemplo, una contraseña de 8 caracteres en minúsculas teóricamente tiene 37.6 bits de entropía, pero si se elige una palabra común como "password," está entre las primeras miles de palabras en un ataque de diccionario, reduciendo la entropía efectiva a unos 12 bits. NIST SP 800-63B también recomienda verificar las contraseñas elegidas por usuarios contra listas de contraseñas filtradas en lugar de depender de cálculos simples de entropía. Usar una herramienta de generación aleatoria como passtsuku.com elimina esta brecha entre la entropía teórica y la efectiva.
Un error común es pensar que añadir un solo símbolo aumenta significativamente la entropía. Esto es incorrecto. Una composición como "Summer2024!" - una palabra conocida + año + un símbolo - es un patrón típico en los diccionarios basados en reglas de los atacantes. En este caso, la entropía teórica es 11 × log₂(95) = unos 72 bits, pero la entropía efectiva se calcula como el logaritmo del tamaño del diccionario (decenas de miles de palabras) × patrones de año (decenas) × símbolos (decenas), lo que equivale a solo unos 25 bits. Combinado con un ataque de tabla arcoíris, podría descifrarse aún más rápido. La fortaleza de una contraseña está determinada por la "aleatoriedad del proceso de generación," no por la "complejidad aparente."
Cómo funciona el medidor de fortaleza de passtsuku.com
El medidor de fortaleza integrado en passtsuku.com evalúa la fortaleza de las contraseñas en tiempo real basándose en los cálculos de entropía descritos anteriormente. Cada vez que un usuario cambia la configuración del conjunto de caracteres o la longitud, la entropía se recalcula y la visualización del medidor se actualiza instantáneamente. Internamente, utiliza números aleatorios criptográficamente seguros, por lo que las contraseñas generadas tienen una entropía teórica que coincide con su entropía efectiva. Esta es la diferencia decisiva con las contraseñas elegidas por humanos. Para más información sobre la calidad de los números aleatorios, consulte el artículo sobre la calidad de los números aleatorios en la generación de contraseñas. Para orientación sobre la gestión de sus contraseñas generadas, consulte también las mejores prácticas de gestión de contraseñas.
Los criterios de clasificación de fortaleza son los siguientes.
- Menos de 40 bits: Débil - insuficiente para servicios en línea
- 40-59 bits: Algo débil - aceptable para servicios no críticos
- 60-79 bits: Moderada - adecuada para servicios web generales
- 80-127 bits: Fuerte - recomendada para servicios financieros y cuentas de correo
- 128+ bits: Muy fuerte - el nivel más alto de seguridad
Al habilitar los cuatro tipos de caracteres (mayúsculas, minúsculas, dígitos y símbolos) en passtsuku.com y generar contraseñas de 16 o más caracteres, puede obtener aproximadamente 105 bits de entropía. Use el medidor de fortaleza como guía para generar contraseñas con la fortaleza adecuada para sus necesidades.
Entropía recomendada por caso de uso y lista de verificación práctica
Con una comprensión de la teoría de la entropía, aquí hay un resumen de qué configuraciones usar para la generación de contraseñas según el caso de uso.
- Redes sociales y foros (bajo riesgo): 60+ bits - mayúsculas + minúsculas + dígitos, 12 caracteres
- Correo electrónico, almacenamiento en la nube (riesgo medio): 80+ bits - todos los tipos de caracteres, 14 caracteres
- Servicios financieros, criptomonedas (alto riesgo): 100+ bits - todos los tipos de caracteres, 16 caracteres
- Contraseña maestra del gestor de contraseñas: 128+ bits - todos los tipos de caracteres, 20 caracteres
Use la siguiente lista de verificación para revisar sus prácticas actuales de contraseñas.
- ¿Está creando contraseñas con una herramienta de generación aleatoria como passtsuku.com?
- ¿Las contraseñas de sus cuentas importantes tienen más de 80 bits de entropía?
- ¿Está usando contraseñas diferentes para cada servicio?
- ¿Los gestiona de forma centralizada con un gestor de contraseñas?
- ¿Su contraseña maestra tiene más de 128 bits de fortaleza?
- ¿Realiza verificaciones de filtraciones regularmente (Have I Been Pwned, etc.)?
Lo que puede hacer ahora mismo
- Pruebe en passtsuku.com la misma cantidad de caracteres y tipos de caracteres que sus contraseñas actuales y verifique la entropía con el medidor de fortaleza
- Identifique las cuentas con entropía inferior a 80 bits y actualícelas a contraseñas con todos los tipos de caracteres y 16+ caracteres usando passtsuku.com
- Establezca como objetivo contraseñas de 100+ bits (todos los tipos de caracteres, 16+ caracteres) para servicios financieros y cuentas de correo
- Fortalezca la contraseña maestra de su gestor de contraseñas a 128+ bits (todos los tipos de caracteres, 20+ caracteres)
Preguntas frecuentes
- ¿Qué es la entropía de una contraseña?
- La entropía es una medida de la imprevisibilidad de una contraseña expresada en bits. Se calcula a partir del conjunto de caracteres y la longitud: cuanto mayor sea el valor, más resistente será la contraseña a ataques de fuerza bruta.
- ¿Una contraseña con alta entropía siempre es segura?
- Incluso con alta entropía teórica, las combinaciones de palabras del diccionario o contraseñas filtradas conocidas pueden estar en las listas de los atacantes. Solo las contraseñas generadas aleatoriamente alcanzan la fortaleza efectiva que sugieren los valores de entropía.
- ¿Cuántos bits de entropía necesita una contraseña segura?
- Se recomiendan al menos 60 bits para cuentas en línea generales y 80 bits o más para cuentas críticas. Una contraseña aleatoria de más de 16 caracteres con mayúsculas, minúsculas, dígitos y símbolos proporciona aproximadamente 100 bits de entropía.
¿Te resultó útil este artículo?