Introdução
Aparentemente, esta pergunta foi feita aqui e, infelizmente, foi encerrada. Eu pensei que era uma boa idéia tentar novamente com ele, mas feito da maneira certa.
O XKCD analisa como somos treinados para usar senhas "difíceis de lembrar", pensando que é seguro, mas, em vez disso, levaria um computador três dias para ser descoberto. Por outro lado, lembrar de 4 a 5 palavras traz a Intranet da Senha do Kuan e é fácil de lembrar. Louco como isso funciona, hein?
Desafio
O trabalho hoje é criar 5 senhas usando palavras. 4 palavras por senha e no mínimo 4 letras por palavra, mas não máximo. A Intropy de senha de Kuan precisará ser calculada para cada senha, mas um mínimo forçado não será definido.
O que é a intropia de senha do Kuan?
A Intropy de senha da Kuan é uma medida de quão imprevisível é uma senha, de acordo com Kuan. Não é um cálculo simples: E = log 2 (R) * L . Sendo a Intropy da senha de Kuan, R sendo o intervalo de caracteres disponíveis e L para o comprimento da senha.
O intervalo de caracteres disponíveis é auto-explicativo. É o intervalo de caracteres que uma senha pode ter, nesse caso, maiúscula e minúscula. Como há 26 caracteres no alfabeto, 26 x 2 = 52 caracteres em todo o intervalo da senha.
O comprimento da senha também é auto-explicativo. É o tamanho total da senha após a criação.
Restrições
- Sem entrada.
- Uma palavra não pode reaparecer na mesma senha.
- Não são permitidos símbolos ou números em uma senha.
- 4 palavras por senha, mas um mínimo forçado de 4 letras por palavra.
- Não há espaços entre as palavras.
- Você não pode gerar a mesma senha repetidamente.
- Cada palavra deve ser maiúscula em uma senha.
- A saída deve ser legível por humanos, deve ser espaçada. Também deve incluir a senha Intropy da senha de Kuan usando-a usando a equação Password Intropy da senha de Kuan acima.
- Dicionário . Você deve usar isso, fazer o download como um arquivo de texto e integrar de acordo. Esta será a lista da qual você extrai palavras. Seu código deve assumir que está disponível.
- Isso é código-golfe , os bytes mais curtos vencem.
Saída
TriedScarProgressPopulation 153.9
TryingPastOnesPutting 119.7
YearnGasesDeerGiven 108.3
DoubtFeetSomebodyCreature 142.5
LiquidSureDreamCatch 114.0
N
símbolo do conjunto S
, a entropia da senha é log2(|S|)*N
. Aqui, o tamanho do conjunto de símbolos é o tamanho do dicionário ( |S|=4284
) e o número de símbolos é o número de palavras ( N=4
), portanto, a entropia para cada senha é 48.3
.
3t1ta#asd
), a entropia será o logaritmo do número de senhas possíveis. Se você sempre escolher 4 palavras uniformemente aleatoriamente em um dicionário de 4284 palavras, haverá 4284 ^ 4 senhas, cada uma com log de entropia₂ (4284) * 4 × 48.26.