Frase-senha: quantas palavras bastam
Frase-senha é senha feita de palavras sorteadas, tipo agenda-chacal-mala-rodela. A pergunta que ninguém responde com número é quantas palavras bastam — e a resposta mudou desde a última vez que a internet a respondeu. Abaixo está a conta, feita pelo mesmo motor que o gerador daqui usa.
O que cada exigência compra, em bits
| O que você acrescenta | Bits | O que é |
|---|---|---|
| Uma palavra a mais na frase | +10,1 | sorteada entre 1.100 |
| Dois dígitos no fim da frase | +6,6 | de 00 a 99, sorteados |
| Exigir símbolo numa senha de 20 | +5 | alfabeto vai de 62 para 74 |
| Exigir símbolo numa senha de 16 | +3,9 | o padrão do gerador daqui |
| Exigir símbolo numa senha de 8 | +1,4 | o mínimo que a maioria dos sites pede |
| Deixar a inicial de cada palavra maiúscula | 0 | sempre na mesma posição — não sorteia nada |
| Trocar as letras por símbolo parecido | 0 | regra pronta em quem ataca; ver abaixo |
Bit é dobra: cada bit a mais dobra o número de senhas que quem ataca precisa testar. Dez bits multiplicam por mil. Um bit e meio não chega a multiplicar por três. Conferido em 9 de agosto de 2026.
O caractere especial que o site exige compra quase nada
É a primeira linha do formulário de cadastro: “sua senha precisa ter pelo menos um caractere especial”. A conta de quanto isso compra dá para fazer, e ela é constrangedora.
Numa senha de oito caracteres, que é o mínimo que a maioria dos sites brasileiros ainda aceita, permitir os doze símbolos do gerador daqui leva o alfabeto de 62 para 74 caracteres. Isso vale 1,4 bit. Na senha de 16, que é o padrão daqui, vale 3,9 bits. Uma palavra a mais na frase vale 10,1.
Ou seja: a exigência que faz milhões de pessoas esquecerem a senha compra menos de 0,4 de uma palavra. E ela cobra caro no que não aparece em bit nenhum — senha que a pessoa não decora vira papel embaixo do teclado, e senha que o site recusa três vezes vira Senha@123.
Quem diz isso com todas as letras não é este site. O NIST SP 800-63B-4, seção 3.1.1.2, determina que verificadores não devem (“SHALL NOT”) impor regras de composição — exigir mistura de tipos de caractere é o exemplo que o próprio texto dá. O FAQ oficial do documento explica o motivo no item B06: as regras rendem pouco porque as pessoas as satisfazem de um jeito previsível, colando um ! no fim, e ainda empurram para o reúso da mesma senha em vários sites.
Trocar “a” por “@” não é ideia sua
A outra metade da crença é a substituição esperta: senha vira s3nh@ e pronto, ficou difícil. Não ficou, e dá para mostrar o arquivo.
O hashcat é o programa que se usa para quebrar senha vazada. Ele trabalha com “regras”: pega cada palavra de uma lista e a deforma de um jeito conhecido antes de testar. Entre as regras que já vêm instaladas com ele existe uma chamada leetspeak.rule, e ela é isto aqui, inteira:
sa4 sa@ sb6 sc< sc{ se3 sg9 si1 si! so0 sq9 ss5 ss$ st7 st+ sx%
Cada linha é uma troca: sa@ troca todo “a” por “@”, se3 troca todo “e” por “3”, so0 troca todo “o” por zero. São 16 substituições, mais uma linha final que aplica seis delas de uma vez. Não é uma lista que alguém precisa inventar contra você: vem no pacote, e roda em cima do dicionário inteiro em segundos.
Por isso a coluna da tabela lá em cima marca zero. A substituição não acrescenta acaso nenhum — ela transforma uma palavra que já estava na lista em outra palavra que também está, porque a regra que a transforma está no mesmo pacote. Trocar letra por símbolo parecido deixa a senha mais chata de digitar e exatamente tão fácil de adivinhar.
Quanto vale uma palavra
A força de uma palavra sorteada não vem de ela ser difícil. Vem de quantas palavras a lista tem. Sortear entre 1.100 palavras vale log₂(1.100) = 10,1 bits, e tanto faz se saiu “abacaxi” ou “zoológico”.
E a lista ser pública não enfraquece nada. Quem ataca já supõe que ela é conhecida — é assim que a conta é feita aqui e é assim que ela é feita em qualquer lugar sério. O segredo é o sorteio, nunca a lista.
O Diceware, de Arnold Reinhold, é o avô disso: 7.776 palavras, que é 6⁵, porque a lista foi feita para ser sorteada com cinco jogadas de um dado de seis faces. Cada palavra de lá vale 12,9 bits. A EFF publicou em 2016 três listas no mesmo formato — uma longa de 7.776 e duas curtas de 1.296 — e recomenda seis palavras da lista longa, o que dá 77,5 bits.
A lista daqui é menor de propósito, e isso tem preço: cada palavra vale 10,1 bits em vez de 12,9. O motivo está escrito no arquivo que a guarda, e são três regras que cortaram muita palavra boa: nenhuma tem menos de quatro nem mais de oito letras, nenhuma é o começo de outra (não existem “cola” e “colar” juntas, porque ditar isso por telefone vira erro de digitação que ninguém acha depois) e nenhuma leva acento ou cedilha. Uma lista brasileira que aceitasse “nível” e “ação” seria maior e mais forte no papel — e impossível de ditar.
A conta da compensação é direta: seis palavras da lista longa da EFF equivalem a 7,7 palavras desta. É por isso que o padrão do gerador daqui é 7, e não seis.
Quantas palavras, e quanto tempo cada frase aguenta
| Palavras | Bits | Tempo no chute | Teclas | Selo |
|---|---|---|---|---|
| 3 | ≈30 | menos de um segundo | ≈20 | fraca |
| 4 | ≈40 | menos de um segundo | ≈26 | fraca |
| 5 | ≈50 | 13 minutos | ≈33 | razoável |
| 6 | ≈60 | 10 dias | ≈40 | forte |
| 7 | ≈70 | 31 anos | ≈47 | forte |
| 8 | ≈80 | 34 mil anos | ≈54 | blindada |
| 10 | ≈101 | 41 bilhões de anos | ≈68 | blindada |
“No chute” é o cenário ruim de propósito, o mesmo do artigo sobre tempo de quebra: banco de senhas vazado, ataque fora do site, um trilhão de tentativas por segundo. Contra o formulário de login de um site de verdade o mesmo ataque é milhões de vezes mais lento. “Teclas” é estimativa: a média desta lista é 5,9 letras por palavra, mais os hifens.
O que empata com o quê
A mesma tabela, agora misturando frase e senha aleatória na mesma régua — e com a coluna que ninguém publica: quanto você digita para conseguir aqueles bits.
| Senha | Bits | Tempo no chute | Teclas | Bits por tecla |
|---|---|---|---|---|
| Frase de 4 palavras | ≈40 | menos de um segundo | ≈26 | 1,53 |
| Oito caracteres, os quatro tipos | ≈48 | 3 minutos | ≈8 | 6,07 |
| Doze minúsculas, sem mais nada | ≈56 | 13 horas | ≈12 | 4,7 |
| 15 minúsculas (o mínimo do NIST) | ≈70 | 27 anos | ≈15 | 4,7 |
| Frase de 7 palavras (o padrão daqui) | ≈70 | 31 anos | ≈47 | 1,51 |
| 16 aleatórios, os quatro tipos (o padrão daqui) | ≈99 | 11 bilhões de anos | ≈16 | 6,19 |
A tabela está em ordem de força, não de tamanho. Repare que ela sobe e desce de linha em linha na coluna de teclas: é o retrato de que comprimento não é força, e de que a frase compra memória, não bit.
Quatro palavras já não bastam
A ideia de frase-senha ficou famosa com uma tirinha do xkcd de 2011, a das quatro palavras. Ela está certa no argumento e velha no número, e as duas coisas importam.
O quadrinho supõe uma lista de 2.048 palavras, o que dá 11 bits por palavra e 44 bits nas quatro. Depois escreve o tempo: “550 anos, a mil chutes por segundo”. Mil chutes por segundo era uma suposição razoável em 2011. Hoje, no cenário de vazamento que esta página usa, são um trilhão por segundo — um bilhão de vezes mais. Os mesmos 44 bits viram 9 segundos.
Com a lista daqui, quatro palavras dão ≈40 bits, e o tempo é menos de um segundo. Doze minúsculas seguidas, sem símbolo nenhum, dão ≈56 — a frase de quatro palavras perde para elas por 16 bits, digitando 14 teclas a mais.
Este texto ia começar afirmando o contrário. A pauta dele, escrita antes da medição, prometia “quatro palavras aleatórias batem doze caracteres embolados”. A conta desmentiu, o título mudou, e a afirmação virou uma trava: se algum dia a lista crescer a ponto de quatro palavras passarem das doze minúsculas, esta página para de compilar e alguém tem que vir reescrever o parágrafo.
O argumento do xkcd, esse continua de pé, e é o que a tabela mostra: palavra rende mais por unidade de MEMÓRIA. O que envelheceu foi quantas palavras.
A frase que você inventa não é uma frase-senha
Aqui está a confusão que estraga tudo. “Frase-senha” não quer dizer frase. Quer dizer palavras SORTEADAS. E existe medição de quanto vale a frase que uma pessoa escolhe sozinha.
Em 2012, Joseph Bonneau e Ekaterina Shutova estudaram um sistema da Amazon, o PayPhrase, em que cada cliente registrava uma frase — e que, por exigir frases únicas, permitia testar de fora quais já estavam tomadas. O paper deles montou um dicionário de 20.656 frases, quase todo feito de listas que qualquer um baixa (títulos de filme, de livro, de música, nomes de artista), e ele cobriu cerca de 1,13% das escolhas. Isso equivale a 20,8 bits.
20,8 bits é menos que 3 palavras sorteadas desta lista, que dão ≈30. A frase que você inventa sozinha vale, medida, umas 2,1 palavras sorteadas — e o mínimo que esta ferramenta deixa gerar já são 3.
O paper ainda derruba a saída óbvia, que seria escrever uma frase mais comprida. Palavra por palavra, a escolha humana segue o padrão da língua: as pessoas montam pares de substantivo que aparecem juntos na fala. A conclusão está no resumo, e vale traduzir inteira: a distribuição de pares em linguagem natural “não é nem de longe aleatória o bastante para resistir a um ataque fora do site, e nem as frases mais longas, de três ou quatro palavras, para as quais o retorno decresce rapidamente”.
O ponto não é que a sua frase é ruim. É que o gerador precisa ser uma máquina. A mesma diferença separa Math.random() de crypto.getRandomValues no gerador daqui: o que parece aleatório e o que é.
“Três palavras aleatórias”, e por que três
O conselho de três palavras vem do órgão de segurança cibernética britânico, que fez uma campanha inteira em cima disso, e chegou ao Brasil pelo caminho mais respeitável possível. O fascículo de autenticação da Cartilha de Segurança do CERT.br diz, na seção “crie senhas fortes”: “crie senhas longas — escolha, por exemplo, três palavras aleatórias”.
Está certo, e é bom conselho — para o ataque que ele tem em mente. Três palavras contra alguém tentando adivinhar pelo formulário de login, num site que bloqueia depois de algumas tentativas, é mais do que suficiente: o atacante não chega nem perto de esgotar as possibilidades antes de ser barrado.
O cenário desta página é o outro, e é o que acontece de verdade com senha de gente comum: o site vaza, o banco de senhas embaralhadas vai embora inteiro, e o ataque roda na máquina de quem levou, sem bloqueio nenhum. Aí três palavras desta lista são ≈30 bits e duram menos de um segundo.
Não é contradição, é modelo de ameaça diferente — e é por isso que o mesmo conselho de três palavras aparece em fonte séria enquanto esta ferramenta abre em 7. O CERT.br fala com quem tem uma senha por conta e verificação em duas etapas ligada. Uma página que gera senha não sabe onde a senha vai parar, e o número dela precisa aguentar o pior lugar.
Vale dizer o que vem junto com esse conselho no mesmo fascículo, e que costuma se perder no caminho: ninguém está mandando decorar todas as senhas. Logo depois de “crie senhas fortes”, o CERT.br abre uma seção chamada “guarde suas senhas de forma segura” e lista três saídas — gerenciador de senhas, arquivo criptografado, ou anotar num papel e guardar em lugar seguro. Um órgão oficial pondo “anote num papel” por escrito é a admissão de que senha difícil demais para decorar é problema real, não frescura.
A parte que desmente a fama da frase-senha
A frase-senha tem uma reputação de ser a senha mais forte que existe. Pela conta desta página, ela não é — e essa é a informação que quase nenhum texto sobre o assunto dá.
A frase padrão daqui, 7 palavras, tem ≈70 bits e ocupa umas 47 teclas. A senha aleatória padrão daqui, 16 caracteres com os quatro tipos, tem ≈99 bits em 16 teclas. A senha aleatória é 28,4 bits mais forte digitando três vezes menos.
Por tecla, a diferença é gritante: a frase rende 1,51 bit por tecla, a senha aleatória rende 6,19. É o preço de usar palavras conhecidas: cada letra dentro da palavra é previsível depois das primeiras, e o acaso só existe na escolha da palavra inteira.
O empate exato deixa isso claro. 15 minúsculas sorteadas dão ≈70 bits; a frase de 7 palavras dá ≈70. Mesma força, um terço da digitação — e o 15 não saiu do nada: é o mínimo que a seção 3.1.1.2 do NIST SP 800-63B-4 passou a exigir de senha usada sozinha, sem segundo fator.
Então por que a frase existe? Porque ninguém decora 15 minúsculas sorteadas. A comparação certa não é frase contra senha aleatória — é frase contra a senha que você realmente usaria se tivesse que guardar na cabeça, que é aquela com o nome do cachorro e o ano do casamento. A frase-senha não ganha da senha gerada. Ganha da senha lembrada.
Na prática isso divide as senhas em dois grupos, e o critério é simples: as que entram no gerenciador podem ser aleatórias, porque você nunca vai digitá-las. As três ou quatro que você digita de cabeça — a do computador, a do celular, a do próprio gerenciador — são as que pedem frase.
A maiúscula não vale bit nenhum, e o gerador se recusa a contar
O gerador daqui oferece duas caixinhas na frase: deixar a inicial de cada palavra maiúscula, e pendurar dois dígitos no fim. A conta de bits trata as duas de maneira diferente, e a diferença é o ponto inteiro deste artigo.
A maiúscula vale zero. Ela é aplicada sempre na mesma posição, na primeira letra de toda palavra, então não existe nenhuma frase possível a mais por causa dela — quem ataca uma frase com iniciais maiúsculas testa exatamente o mesmo número de combinações. Somar bits aí seria vender acaso que não foi sorteado, e a função que calcula a força se recusa: o número não muda com a caixinha ligada.
Os dois dígitos valem 6,6 bits, esses sim: são cem saídas realmente sorteadas. Pouco mais de meia palavra. Eles existem para passar na regra do site que exige dígito, não para dar força — e é exatamente por isso que estão numa caixinha, e não ligados por padrão.
Reinhold escreve a mesma coisa na página do Diceware: dá para inserir um caractere especial sorteado, e ele acrescenta cerca de dez bits, menos do que acrescentaria mais uma palavra. É o mesmo conselho pela mesma aritmética, com trinta anos de diferença.
Onde a frase-senha quebra
Três lugares, e vale saber antes de gerar uma:
Campo com tamanho máximo. Banco e sistema antigo costumam cortar em 12, 16 ou 20 caracteres, às vezes sem avisar — a senha entra cortada no cadastro e você descobre no login seguinte. Uma frase de 7 palavras passa dos 47 caracteres e não cabe em nenhum dos três. Onde há teto, a saída é senha aleatória curta e gerenciador.
Teclado que não é teclado. Digitar 47 caracteres no controle da TV é castigo. Para Wi-Fi e para aparelho de sala, o gerador tem modos próprios, sem símbolo e sem caractere que se confunda.
Frase que você mesmo altera. Trocar uma palavra sorteada por uma que “combina melhor” devolve a frase para o território dos 20,8 bits do estudo da Amazon. Se não gostou do sorteio, sorteie de novo — o botão está ali para isso, e a próxima frase é tão sorteada quanto a anterior.
O resumo, em quatro linhas
Caractere especial exigido pelo site: entre 1,4 e 5 bits, dependendo do tamanho. Trocar letra por símbolo parecido: zero, e já vem como regra pronta no programa que ataca. Palavra sorteada a mais: 10,1 bits. Frase que você inventou: 20,8 bits, medidos.
O gerador daqui abre em 7 palavras, que é onde o tempo estimado sai da casa dos dias e entra na dos anos, e vai até 10. O sorteio é do crypto.getRandomValues do seu navegador. Nada do que sai de lá é enviado, guardado ou recuperável — inclusive por nós.