Por qué una frase de palabras le gana a la contraseña "complicada"
Durante años nos enseñaron a armar contraseñas como Tr0ub4dor&3: cortas, con símbolos y sustituciones. El problema es que son difíciles de recordar para las personas y fáciles de romper para las máquinas. Una frase de contraseña invierte esa lógica: usa varias palabras reales elegidas al azar, como cielo-perro-mesa-viento. Es larga (lo que importa para la seguridad) y a la vez memorable (lo que importa para vos).
La clave técnica es la entropía: cuántas combinaciones posibles existen. Cuanto más grande, más tiene que probar un atacante. Cuatro palabras al azar de una lista de 256 tienen 256⁴ ≈ 4.300 millones de combinaciones. Los adornos como cambiar una a por @ agregan muy poca entropía, porque los atacantes conocen esos trucos y los prueban primero.
El famoso "correct horse battery staple"
La idea se hizo popular con la tira cómica XKCD #936, titulada Password Strength. Ahí se compara Tr0ub4dor&3 (unos 28 bits de entropía, difícil de recordar) contra correct horse battery staple (cuatro palabras comunes, unos 44 bits, fácil de recordar). La moraleja que quedó grabada: "a través de 20 años de esfuerzo, logramos entrenar a todos para usar contraseñas difíciles de recordar para los humanos, pero fáciles de adivinar para las computadoras". Esta herramienta genera exactamente ese tipo de frase, pero en español y con azar criptográfico real.
Qué es diceware
Diceware es un método publicado en 1995 por Arnold Reinhold. Consiste en tirar cinco dados, anotar el resultado (por ejemplo 3-1-6-2-4) y buscar esa combinación en una lista numerada de palabras. Repetís por cada palabra que querés. La gracia es que cada palabra se elige con azar físico verdadero, no con algo que "parece random". Este generador reemplaza los dados por crypto.getRandomValues(), la fuente de aleatoriedad criptográfica del navegador, que es la recomendada para todo lo relacionado con seguridad.
Cómo calculamos la entropía
La fórmula es directa. Si la lista tiene N palabras y elegís k palabras al azar (con repetición permitida), la entropía en bits es:
bits = k × log2(N) Con nuestra lista de 256 palabras, log2(256) = 8, así que cada palabra aporta 8 bits exactos. Activar "agregar un número" suma unos 3,3 bits (un dígito 0–9). Capitalizar todas las palabras no suma entropía porque es una transformación fija y predecible. El número que ves en pantalla refleja sólo elecciones aleatorias reales.
Cuándo usar más palabras
Esta herramienta usa una lista compacta de 256 palabras, por eso recomendamos 8 palabras (64 bits) para una contraseña real. Cuatro palabras sólo aportan 32 bits y pueden servir como demostración, no como clave. Para una frase maestra especialmente crítica, preferí una lista Diceware amplia o agregá más palabras con otra herramienta auditada. Y recordá la regla de oro: una frase distinta por cuenta.
Referencia: palabras y entropía
Con una lista de 256 palabras (log2 = 8 bits por palabra), sin extras:
| Palabras | Combinaciones | Entropía | Nivel |
|---|---|---|---|
| 3 | 256³ ≈ 16,7 millones | 24 bits | Débil |
| 4 | 256⁴ ≈ 4.300 millones | 32 bits | Débil |
| 5 | 256⁵ ≈ 1,1 billones | 40 bits | Débil |
| 6 | 256⁶ ≈ 281 billones | 48 bits | Limitado |
| 7 | 256⁷ ≈ 72.000 billones | 56 bits | Moderado |
| 8 | 256⁸ ≈ 1,8 × 10¹⁹ | 64 bits | Adecuado |
Los tiempos de crackeo asumen un atacante rápido probando 100.000 millones de intentos por segundo (hardware moderno contra hashes rápidos). Con hashes lentos y bien diseñados el tiempo real es mucho mayor.