As palavras são sorteadas com crypto.getRandomValues e amostragem por rejeição, então cada escolha é uniforme sobre a lista EFF long de 7.776 palavras — sem viés de módulo, sem rastro estatístico. Gerado localmente; nada é enviado a lugar algum. Lista de palavras: EFF Diceware (CC BY 3.0 US).
O que faz
Gera passphrases memoráveis de alta entropia usando a EFF diceware long wordlist — 7.776 palavras comuns em inglês (6⁵, uma entrada por jogada de cinco dados de seis faces). Cada palavra é escolhida com o gerador criptográfico aleatório do seu navegador (crypto.getRandomValues) mais rejection sampling, então todo índice de palavra é exatamente uniforme sobre a lista. Um simples random % 7776 favoreceria as primeiras ~2.048 palavras; rejeitar sorteios ≥ 62.208 antes de aplicar o módulo elimina esse viés por completo.
Para cada passphrase, a ferramenta mostra ao vivo a entropia em bits — palavras × log₂(7776), ou seja, 12,9 bits por palavra — e o tempo médio de quebra a 1 trilhão de tentativas por segundo (um ataque offline sério), calculado como 2^(bits−1) / taxa, o tempo esperado para exaurir metade do espaço de chaves. Seis palavras ≈ 77,5 bits ≈ 3,5 milênios contra esse atacante. Tudo é gerado localmente no seu navegador; nada é enviado a lugar algum.
Por que uma passphrase vence uma senha “esperta”: P@55w0rd! é umas poucas mutações de uma palavra de dicionário — atacantes tentam essas transformações primeiro, então ela sobrevive milissegundos. Uma passphrase aleatória de seis palavras como correct horse battery staple (a ideia do XKCD 936) carrega tanta imprevisibilidade quanto uma string aleatória de 13 caracteres, e uma história que você consegue lembrar de verdade torna muito mais fácil digitá-la corretamente.
Como usar
- Defina a quantidade de palavras (3–10). Cada palavra adiciona ~12,9 bits; 6 é o ponto ideal para a maioria das contas, 7+ para qualquer coisa crítica.
- Escolha um separador — espaço, hífen, ponto, underscore ou nenhum. Qualquer um serve; escolha o que o seu teclado (e as regras de senha do site) preferir.
- Ative Capitalize para escrever cada palavra em title case e + Digit para anexar um dígito aleatório — ambos ajudam a satisfazer políticas “deve conter…” sem mudar significativamente a força.
- Leia a passphrase, use Copy, ou clique em Regenerate (Shuffle) para um novo sorteio.
A URL continua compartilhável: suas opções são codificadas como parâmetros de consulta (?words=8&sep=dash&cap=1), então um favorito restaura sua configuração exata. A passphrase em si nunca é colocada na URL.
Exemplos
| Configuração | Forma da saída | Entropia | Tempo de quebra @ 10¹² t/s |
|---|---|---|---|
| 6 palavras, espaço | rebuffer marrow paprika rivalry backfield unmask |
77,5 bits | ~3,5 milênios |
| 4 palavras, hífen, capitalizada | Puzzle-Overfeed-Correctly-Grotto |
51,7 bits | ~30 minutos |
| 8 palavras, ponto, + dígito | lurch.zealot.stomp.vixen.prow.tufted.madam.chili7 |
103,4 bits | ~2,1 bilhões de séculos |
| 10 palavras, underscore | mutate_versa_biceps_unlit_spraying_proviso… |
129,2 bits | ~128.000 trilhões de séculos |
Regra prática: a entropia exibida conta apenas as palavras (N × log₂ 7776). O dígito opcional acrescenta ~3,3 bits a mais — erro de arredondamento nessas escalas.
Bom saber
- A wordlist é a segurança. A força do Diceware vem da seleção aleatória uniforme, não de palavras obscuras. Nunca escolha as palavras você mesmo — humanos são péssimos em aleatoriedade, e atacantes modelam escolhas humanas.
- 7.776 palavras, sem precisar evitar repetições. Repetições são permitidas e não fazem mal: cada sorteio é independente, então a entropia é exatamente
N × 12,925bits de qualquer jeito. - Modelo de ataque. A taxa de 10¹² tentativas/seg assume que o atacante já roubou o banco de dados com hashes e roda um ataque offline rápido. Ataques online são limitados por taxa e muito mais lentos.
- Não reutilize. Uma passphrase por site. Combine com um gerenciador de senhas para que a memorabilidade seja um bônus, não um requisito.
- Créditos. Wordlist: lista longa do EFF Diceware (2016), licenciada CC BY 3.0 US. O conceito de passphrase foi popularizado pelo XKCD 936.
- Um gêmeo CLI em Go e snippets de código por linguagem para esta ferramenta estão no roadmap — a lógica pura em
src/lib/passphrase-generator.tsé o contrato que eles seguem.