Gerador de frase-senha (estilo Diceware)

Gere frases-senha estilo Diceware com crypto.getRandomValues: 3 a 12 palavras, 10,61 bits por palavra e entropia calculada da lista real, sem exagero.

Entrada

De 3 a 12 palavras. Seis palavras dão cerca de 64 bits de entropia.

Comprimentos comuns

Frases-senha longas são mais fáceis de digitar e mais difíceis de quebrar do que senhas curtas recheadas de símbolos. Este gerador sorteia cada palavra de uma lista curada de 1560 termos usando crypto.getRandomValues, o gerador criptográfico do próprio navegador. O painel de detalhes mostra a entropia em bits, os bits por palavra e o número de combinações possíveis, sempre calculados a partir do tamanho real da lista. É a recomendação do NIST SP 800-63B posta em prática: comprimento vence complexidade imposta.

O que é uma frase-senha Diceware?

Uma frase-senha é uma senha formada por palavras comuns sorteadas ao acaso, no estilo Diceware. Este gerador monta a sua a partir de uma lista curada de 1560 palavras curtas e sem ambiguidade, unidas pelo separador que você escolher. Ao contrário de uma senha inventada de cabeça, a força não vem de trocar "a" por "@": vem de cada palavra ser genuinamente imprevisível. Com 6 palavras você chega a 63,6 bits — algo fácil de digitar e caro demais para adivinhar na força bruta.

Como funciona o gerador de frases de acesso

Cada palavra é sorteada de forma independente de uma lista de 1560 palavras, ou seja log2(1560) ≈ 10,61 bits por palavra: seis palavras dão cerca de 64 bits, e o número apresentado é calculado a partir do tamanho real da lista em vez de ser apenas afirmado. O índice vem de crypto.getRandomValues com amostragem por rejeição: descartam-se os valores acima do maior múltiplo exato do tamanho da lista, porque um módulo simples favoreceria em silêncio as primeiras palavras. Acrescentar um dígito soma os log2(10) bits do dígito mais os log2(n) bits de qual palavra o recebeu, já que a posição também é escolhida ao acaso. É a ideia do Diceware no navegador e vai ao encontro da posição do NIST SP 800-63B: o comprimento pesa mais do que exigir classes de símbolos.

Recursos

Sorteio uniforme com crypto.getRandomValues e amostragem por rejeição, sem viés de módulo.
Entropia calculada em tempo de execução a partir do tamanho real da lista — o número exibido nunca superestima a força.
De 3 a 12 palavras e quatro separadores (hífen, ponto, espaço, sublinhado).
Dígito opcional inserido em posição sorteada, que soma entropia de verdade, e classificação de força alinhada ao NIST SP 800-63B.

Como usar o gerador

1

Defina o número de palavras entre 3 e 12 (o padrão é 6, ou seja, 63,6 bits).

2

Escolha o separador: hífen, ponto, espaço ou sublinhado — use o que o campo do site aceitar.

3

Se o serviço exigir maiúscula ou número, ligue "Capitalizar cada palavra" e/ou "Inserir um dígito".

4

Gere, confira os campos Força e Detalhes de entropia e guarde a frase no seu gerenciador de senhas.

Erros comuns

Achar que capitalizar todas as palavras deixa a frase mais forte: o padrão é fixo e previsível, então não acrescenta nenhum bit — a opção existe só para sites que exigem uma maiúscula.
Ficar em 3 ou 4 palavras em contas importantes: abaixo de 45 bits a frase é classificada como fraca; acrescente palavras em vez de símbolos.
Editar a frase depois de gerada, trocando uma palavra sorteada por outra que você acha mais fácil de lembrar — isso quebra a aleatoriedade uniforme e derruba a entropia real.

Exemplos

6 palavras, separador hífen, sem maiúsculas, sem dígito -> lantern-otter-mosaic-harbor-juniper-meadow (63,6 bits, Forte)
8 palavras, separador ponto, com dígito -> orchid.kayak.granite7.mermaid.nutmeg.harbor.otter.gravity (91,2 bits, Excelente)
4 palavras, sublinhado, capitalizar -> Meadow_Harbor_Indigo_Kayak (42,4 bits, Fraca — as maiúsculas não somaram nada)

Veja também

  • Gerador de palavras-passePrecisa de um segredo por caracteres para um campo que rejeita espaços? Gere uma palavra-passe.
  • Gerador de UUIDProcura um identificador e não um segredo? Um UUID v4 é o formato certo.

Perguntas frequentes

Quantas palavras devo usar?

Seis palavras (63,6 bits) já cobrem a maioria das contas do dia a dia; oito palavras chegam a 84,9 bits e são adequadas para e-mail principal, cofre de senhas e contas financeiras. Abaixo de 45 bits — ou seja, 4 palavras ou menos — o gerador marca a frase como fraca. Como cada palavra vale 10,61 bits, acrescentar uma única palavra multiplica por 1560 o esforço de um ataque.

Capitalizar as palavras aumenta a segurança?

Não. Capitalizar a primeira letra de todas as palavras é uma transformação fixa: qualquer atacante que testa a lista testa também a variante capitalizada, então a entropia continua exatamente a mesma. A opção existe apenas para satisfazer formulários que exigem ao menos uma letra maiúscula, e o tomo declara isso abertamente em vez de contabilizar bits inexistentes.

Por que o dígito aparece no meio da frase, e não no final?

Porque um dígito sempre no fim é previsível e praticamente não acrescenta força. Aqui o dígito é sorteado (0–9) e colado a uma das palavras escolhida também por sorteio, então ele contribui log2(10) + log2(nº de palavras) bits — cerca de 5,9 bits em uma frase de 6 palavras. É pouco perto de uma palavra inteira, mas é entropia real.

As palavras são em inglês — isso atrapalha a segurança?

Não. A força vem de cada palavra ser escolhida de forma uniforme entre 1560 opções, não do idioma da lista. Foram selecionadas palavras curtas, comuns e sem homófonos ou pares visualmente confundíveis, justamente para serem fáceis de ler em voz alta e redigitar em qualquer teclado.