Las palabras se eligen con crypto.getRandomValues y muestreo por rechazo, de modo que cada elección es uniforme sobre la lista EFF long de 7.776 palabras — sin sesgo de módulo, sin rastro estadístico. Se genera localmente; no se envía nada a ninguna parte. Lista de palabras: EFF Diceware (CC BY 3.0 US).
Qué hace
Genera frases de contraseña memorables y de alta entropía usando la EFF diceware long wordlist — 7776 palabras comunes del inglés (6⁵, una entrada por cada tirada de cinco dados de seis caras). Cada palabra se elige con el generador criptográfico aleatorio de tu navegador (crypto.getRandomValues) más rejection sampling, de modo que cada índice de palabra resulta exactamente uniforme sobre la lista. Un simple random % 7776 favorecería las primeras ~2048 palabras; rechazar las tiradas ≥ 62208 antes de tomar el módulo elimina ese sesgo por completo.
Para cada frase de contraseña muestra en vivo la entropía en bits — words × log₂(7776), es decir, 12.9 bits por palabra — y el tiempo medio de descifrado a 1 billón de intentos por segundo (un ataque offline serio), calculado como 2^(bits−1) / rate, el tiempo esperado para agotar la mitad del espacio de claves. Seis palabras ≈ 77.5 bits ≈ 3.5 milenios frente a ese atacante. Todo se genera localmente en tu navegador; nada se envía a ninguna parte.
Por qué una frase de contraseña gana a una contraseña “ingeniosa”: P@55w0rd! son unas pocas mutaciones de una palabra de diccionario — los atacantes prueban esas transformaciones primero, así que sobrevive milisegundos. Una frase aleatoria de seis palabras como correct horse battery staple (la idea del XKCD 936) lleva tanta imprevisibilidad como una cadena aleatoria de 13 caracteres, y una historia que de verdad puedes recordar hace que sea mucho más fácil escribirla correctamente.
Cómo usarlo
- Ajusta el número de palabras (3–10). Cada palabra añade ~12.9 bits; 6 es el punto óptimo para la mayoría de las cuentas, 7 o más para lo crítico.
- Elige un separador — espacio, guion, punto, guion bajo o ninguno. Cualquiera sirve; elige el que prefieran tu teclado (y las reglas de contraseña del sitio).
- Activa Capitalizar para poner cada palabra en Capital Inicial y + Dígito para añadir un dígito aleatorio al final — ambos ayudan a cumplir políticas de “debe contener…” sin cambiar la fuerza de forma significativa.
- Lee la frase de contraseña, pulsa Copiar, o pulsa Regenerar (Shuffle) para un nuevo sorteo.
La URL sigue siendo compartible: tus opciones se codifican como parámetros de consulta (?words=8&sep=dash&cap=1), así que un marcador restaura tu configuración exacta. La frase de contraseña en sí nunca se incluye en la URL.
Ejemplos
| Ajustes | Forma de salida | Entropía | Descifrado @ 10¹² int/s |
|---|---|---|---|
| 6 palabras, espacio | rebuffer marrow paprika rivalry backfield unmask |
77.5 bits | ~3.5 milenios |
| 4 palabras, guion, capitalizadas | Puzzle-Overfeed-Correctly-Grotto |
51.7 bits | ~30 minutos |
| 8 palabras, punto, + dígito | lurch.zealot.stomp.vixen.prow.tufted.madam.chili7 |
103.4 bits | ~2.1 mil millones de siglos |
| 10 palabras, guion bajo | mutate_versa_biceps_unlit_spraying_proviso… |
129.2 bits | ~128.000 billones de siglos |
Regla práctica: la entropía mostrada cuenta solo las palabras (N × log₂ 7776). El dígito opcional añade ~3.3 bits más encima — un error de redondeo a estas escalas.
Buen saber
- La wordlist es la seguridad. La fuerza de Diceware viene de la selección aleatoria uniforme, no de palabras oscuras. Nunca elijas las palabras tú mismo — los humanos son pésimos en la aleatoriedad, y los atacantes modelan las elecciones humanas.
- 7776 palabras, sin necesidad de evitar repeticiones. Las repeticiones están permitidas y son correctas: cada sorteo es independiente, así que la entropía es exactamente
N × 12.925bits en cualquier caso. - Modelo de ataque. El ritmo de 10¹² intentos/segundo asume que el atacante ya robó la base de datos con hashes y ejecuta un ataque offline rápido. Los ataques online están limitados por rate limiting y son muchísimo más lentos.
- No reutilices. Una frase de contraseña por sitio. Combínala con un gestor de contraseñas para que la memorabilidad sea una ventaja, no un requisito.
- Créditos. Wordlist: EFF Diceware large list (2016), con licencia CC BY 3.0 US. El concepto de frase de contraseña lo popularizó XKCD 936.
- Un gemelo CLI en Go y fragmentos de código fuente por lenguaje para esta herramienta están en la hoja de ruta — la lógica pura en
src/lib/passphrase-generator.tses el contrato que siguen.