Questão nº 91
Questão de Informática · FGV PCERJ 2021 (nº 91)
Maria está trabalhando na definição de uma política de senhas para um site. Já está estabelecido que as senhas devem conter quatro caracteres; que será considerado um alfabeto com 26 letras; e que os caracteres especiais serão limitados à lista abaixo.
!@#$%&*=+
A partir disso, Maria imaginou três alternativas, cada uma com distintos requisitos mínimos obrigatórios que devem ser observados na criação de uma senha, a saber:
I. pelo menos uma letra maiúscula, pelo menos um caractere especial;
II. pelo menos uma letra minúscula, pelo menos um dígito numérico;
III. pelo menos uma letra maiúscula, pelo menos uma letra minúscula.
Considerando que os usuários escolham suas senhas aleatoriamente, a ordem das políticas, da mais forte para a mais fraca, é:
- AI, II, III;
- BI, III, II;
- CII, I, III;
- DII, III, I;
- EIII, II, I. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
A força de uma política de senhas é medida pela quantidade de senhas únicas que podem ser geradas sob suas regras. Quanto mais senhas possíveis, mais difícil é para um atacante adivinhar uma senha, tornando a política mais forte. Para calcular isso, usamos a combinatória, considerando o tamanho do alfabeto disponível e as restrições de "pelo menos um".
Vamos definir os conjuntos de caracteres:
- Letras minúsculas (L_min): 26 caracteres (a-z)
- Letras maiúsculas (L_mai): 26 caracteres (A-Z)
- Dígitos numéricos (D): 10 caracteres (0-9)
- Caracteres especiais (S): 9 caracteres (
!@#$%&*=+)
O comprimento da senha é 4 caracteres.
O conjunto total de caracteres disponíveis para qualquer posição, sem restrições, é $26 + 26 + 10 + 9 = 7171^4 = 25.411.681$.
Para calcular o número de senhas que atendem à condição "pelo menos um X E pelo menos um Y", usamos o Princípio da Inclusão-Exclusão:
I. pelo menos uma letra maiúscula, pelo menos um caractere especial;
- Senhas sem L_mai: Usam apenas L_min, D, S. Total de caracteres: $26+10+9 = 4545^4 = 4.100.625$.
- Senhas sem S: Usam apenas L_min, L_mai, D. Total de caracteres: $26+26+10 = 6262^4 = 14.776.336$.
- Senhas sem L_mai E sem S: Usam apenas L_min, D. Total de caracteres: $26+10 = 3636^4 = 1.679.616N_I = 71^4 - 45^4 - 62^4 + 36^4 = 25.411.681 - 4.100.625 - 14.776.336 + 1.679.616 = 8.214.336$.
II. pelo menos uma letra minúscula, pelo menos um dígito numérico;
- Senhas sem L_min: Usam apenas L_mai, D, S. Total de caracteres: $26+10+9 = 4545^4 = 4.100.625$.
- Senhas sem D: Usam apenas L_min, L_mai, S. Total de caracteres: $26+26+9 = 6161^4 = 13.845.841$.
- Senhas sem L_min E sem D: Usam apenas L_mai, S. Total de caracteres: $26+9 = 3535^4 = 1.500.625N_{II} = 71^4 - 45^4 - 61^4 + 35^4 = 25.411.681 - 4.100.625 - 13.845.841 + 1.500.625 = 8.965.840$.
III. pelo menos uma letra maiúscula, pelo menos uma letra minúscula.
- Senhas sem L_mai: Usam apenas L_min, D, S. Total de caracteres: $26+10+9 = 4545^4 = 4.100.625$.
- Senhas sem L_min: Usam apenas L_mai, D, S. Total de caracteres: $26+10+9 = 4545^4 = 4.100.625$.
- Senhas sem L_mai E sem L_min: Usam apenas D, S. Total de caracteres: $10+9 = 1919^4 = 130.321N_{III} = 71^4 - 45^4 - 45^4 + 19^4 = 25.411.681 - 4.100.625 - 4.100.625 + 130.321 = 17.340.752$.
Comparando o número de senhas possíveis:
- Política III: 17.340.752
- Política II: 8.965.840
- Política I: 8.214.336
A ordem da mais forte para a mais fraca é III, II, I.
(A) Incorreta: A política I é a mais fraca, não a mais forte.
(B) Incorreta: A ordem está incorreta, pois a política III é a mais forte.
(C) Incorreta: A ordem está incorreta, pois a política III é a mais forte.
(D) Incorreta: A ordem está incorreta, pois a política III é a mais forte.
(E) Correta: A ordem correta da política mais forte para a mais fraca é III, II, I. A política III permite o maior número de combinações (17.340.752), pois exige pelo menos uma letra maiúscula e uma minúscula, que são conjuntos grandes de caracteres. Isso significa que é muito difícil criar uma senha de 4 caracteres que não contenha pelo menos uma letra maiúscula e uma minúscula (apenas 19 caracteres restantes para formar essas senhas "inválidas"). A política II (8.965.840 combinações) e a política I (8.214.336 combinações) são mais fracas, respectivamente. A armadilha da banca aqui é que muitos podem pensar que exigir "caracteres especiais" (Política I) torna a senha automaticamente mais forte, mas o que realmente importa é o tamanho dos conjuntos de caracteres envolvidos nas condições "pelo menos um" e como eles reduzem o número de senhas que falham as regras.
Fonte: FGV PCERJ 2021 Inspetor de Polícia (Caderno Tipo 1). Reproduzida para fins de estudo.