Comentários
- XKCD é geralmente explicado em seu site wiki. Esta história em quadrinhos é explicada aqui explainxkcd.com/wiki/index.php/936:_Password_Strength
- Para explicar o que @ConorMancone significa, alguns dos as respostas à pergunta que Conor vinculou incluíram uma boa explicação que responde à pergunta aqui (especialmente na segunda resposta, de Thomas Pornin). No entanto, essa questão se concentra muito nos argumentos de usabilidade e aplicabilidade levantados pelos quadrinhos. Mais da metade das respostas, incluindo a aceita, não ' t aborda essa questão diretamente.
- Pergunta interessante para muitos alunos criptográficos, eu ' m certeza. Você poderia postar qual seria a entropia pelo seu cálculo? Uma motivação para esta solicitação é que você pode descobrir a resposta sozinho 🙂
Resposta
Ele “s modelar a senha como a saída de um algoritmo aleatório semelhante a este:
- Escolha uma palavra uniformemente ao acaso em um dicionário com 65.536 (= 16 bits) palavras. (Presumimos que o dicionário é conhecido pelo invasor.)
- Jogue uma moeda (= 1 bit); se cara, lance a capitalização da primeira letra da palavra.
- Para cada vogal da palavra, jogue uma moeda; se der cara, substitua a vogal por sua “substituição comum”. Munroe está simplificando aqui, assumindo que as palavras no dicionário geralmente têm três vogais (portanto, obtemos ~ 3 bits no total).
- Escolha um numeral (~ 3 bits) e um símbolo de pontuação (~ 4 bits) aleatoriamente. Jogue uma moeda (= 1 bit); se cara, acrescente o numeral à senha primeiro e o símbolo depois; se for coroa, acrescente-os na outra ordem.
A entropia é uma função do r escolhas de andom feitas no algoritmo; você o calcula identificando quais escolhas aleatórias o algoritmo faz, quantas alternativas estão disponíveis para cada escolha aleatória e a probabilidade relativa das alternativas. Anotei os números nas etapas acima e, se você somá-los, obtém cerca de 28 bits no total.
Você pode ver que o procedimento de Munroe não é uma ciência rígida de forma alguma, mas “Não é uma estimativa irracional. Ele está praticando a arte da estimativa rápida e suja, que muitas vezes demonstra em seu trabalho – não necessariamente obtendo o número certo, mas formando uma ideia rápida de sua magnitude aproximada.
Resposta
Cada pequeno quadrado é um pouco de entropia que está sendo contabilizado.
- 16 bits para a palavra sozinha
- 1 para a primeira letra: maiúscula ou não?
- 1 para cada substituição de O e 0, A e 4
- 4 para usar um símbolo que “não é aquele comum
- 3 para usar um número
- 1 para a ordem desconhecida de símbolo + número ou número + símbolo.
Há algum raciocínio sobre isso. Por exemplo, quando a senha exige maiúsculas, quase todo mundo coloca maiúsculas na primeira letra. Assim, você não obtém muito mais do que apenas um pouco de entropia com isso.
Comentários
- você poderia elaborar um pouco? Peguei o fato de que deveria ser 1 bit se fosse maiúsculas ou não, mas por que 16 bits apenas para a palavra sozinha? como você conseguiu isso?
- O número típico de palavras em um dicionário de inglês é cerca de 100.000, o que significa cerca de 16 bits.