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. A eso le sumamos los extras: activar "agregar un número" suma unos 3,3 bits (un dígito 0–9) y capitalizar cada palabra suma k bits (una decisión mayúscula/minúscula por palabra). El número que ves en pantalla es la entropía total de tu frase concreta.
Cuándo usar más palabras
No todas las cuentas valen lo mismo. Para foros o servicios menores, 4 palabras alcanzan y sobran. Para tu correo principal, tu gestor de contraseñas o una billetera de cripto, subí a 5 o 6: cada palabra extra multiplica por 256 el esfuerzo del atacante. Y recordá la regla de oro: una frase distinta por cuenta. Si reutilizás y una filtra, caen todas. Lo ideal es usar esta herramienta para la frase maestra de un gestor, y que el gestor genere y guarde el resto.
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 | Aceptable |
| 5 | 256⁵ ≈ 1,1 billones | 40 bits | Bueno |
| 6 | 256⁶ ≈ 281 billones | 48 bits | Muy bueno |
| 7 | 256⁷ ≈ 72.000 billones | 56 bits | Fuerte |
| 8 | 256⁸ ≈ 1,8 × 10¹⁹ | 64 bits | Muy fuerte |
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.