37 votos

¿Cuántas posibles combinaciones en una contraseña de 8 caracteres?

Necesito calcular las posibles combinaciones para una contraseña de 8 caracteres. La contraseña debe contener al menos uno de lo siguiente: (letras minúsculas, letras mayúsculas, dígitos, signos de puntuación, caracteres especiales).

Supongamos que tengo 95 caracteres ascii (letras minúsculas, letras mayúsculas, dígitos, signos de puntuación, caracteres especiales).

  • letras minúsculas = $26$
  • letras mayúsculas = $26$
  • dígitos = $10$
  • signos de puntuación y caracteres especiales = $33$

La fórmula general para las posibles contraseñas que puedo formar con estos 95 caracteres es: $95^8$.

Pero, de forma precisa, siento que la fórmula anterior es incorrecta. Por favor, corrígeme. La política de contraseñas requiere al menos uno de los caracteres ascii mencionados anteriormente. Por lo tanto, las posibles combinaciones de contraseñas = $(26)*(26)*(10)*(33)*(95)*(95)*(95)*(95)$

¿Qué cálculo es correcto?

EDITAR: Por favor, ten en cuenta que me refiero a una contraseña de 8 caracteres y exactamente 8. Además, no se especifica un orden (es decir, podría comenzar con letra minúscula, símbolo, etc.). Pero debe contener al menos uno de los conjuntos de caracteres especificados (mayúsculas, minúsculas, símbolo, número, etc.).

0 votos

Tu segunda sugerencia parece correcta - y puede ser abreviada a (26^2)*10*33*(95^4) - pero algo no termina de encajar del todo. De todas formas, esto no es relevante para Seguridad Informática. Tal vez sea relevante para Matemáticas. Veremos si quieren migrarlo.

0 votos

También hay que tener en cuenta que la política de contraseñas es ridículamente débil. Las contraseñas de 8 caracteres no han sido "suficientemente fuertes" durante bastante tiempo. 12 es el nuevo 8, pero muchos recomiendan 15, 20 o más. Y por favor, nunca implementes algo que imponga una longitud máxima en la contraseña. (O al menos, no un máximo que pueda medirse en dos dígitos.)

0 votos

6.70 x 10^15 posibles combinaciones

40voto

Thomas Pornin Puntos 306

Comienza con todas las cadenas de $8$ caracteres: $95^8$

Luego elimina todas las contraseñas sin minúsculas ($69^8$), todas las contraseñas sin mayúsculas ($69^8$), todas las contraseñas sin dígitos ($85^8$) y todas las contraseñas sin caracteres especiales ($62^8$).

Pero luego has eliminado algunas contraseñas dos veces. Debes volver a agregar todas las contraseñas con:

  • sin minúsculas y sin mayúsculas: $43^8$
  • sin minúsculas y sin dígitos: $59^8$
  • sin minúsculas y sin caracteres especiales: $36^8$
  • sin mayúsculas y sin dígitos: $59^8$
  • sin mayúsculas y sin caracteres especiales: $36^8$
  • sin dígitos y sin caracteres especiales: $52^8$

Pero luego has agregado algunas contraseñas demasiadas veces. Por ejemplo, una contraseña solo de dígitos fue eliminada tres veces en el primer paso, luego fue agregada tres veces en el segundo paso, por lo que debe eliminarse nuevamente:

  • solo minúsculas: $26^8$
  • solo mayúsculas: $26^8$
  • solo dígitos: $10^8$
  • solo especiales: $33^8$

Total general: $95^8 - 69^8 - 69^8 - 85^8 - 62^8 + 43^8 + 59^8 + 36^8 + 59^8 + 36^8 + 52^8 - 26^8 - 26^8 - 10^8 - 33^8 = 3025989069143040 \approx 3.026\times10^{15}$

10 votos

Para referencia al OP: esto es el principio de inclusión-exclusión.

0 votos

@Thomas Pornin la contraseña debe contener al menos uno de los siguientes elementos (minúscula, mayúscula, dígito, símbolo y puntuación). No entiendo por qué asumes contraseñas sin minúsculas, mayúsculas, etc. como explicaste.

0 votos

@user2192774 Presumo que tu política indica que debes tener al menos un carácter de cada tipo. Para cuatro tipos de caracteres, hay 15 estados posibles de inclusión/exclusión de caracteres en los que puede estar una contraseña no nula y solo 1 de esos estados es válido. Si la distribución de caracteres fuera equitativa (es decir, si hubiera igual cantidad de caracteres en mayúsculas, minúsculas, dígitos y símbolos para elegir), la fórmula sería simple: solo hay que elevar el total de caracteres posibles a una potencia igual a la longitud de la contraseña y dividir por 15.

-1voto

La respuesta que obtengo es 0.3051925477389360000E+16 = 3,051,925,477,389,360. Esta respuesta se toma de la respuesta en Derivar un algoritmo para calcular el número de contraseñas restringidas para el caso general?. Este problema es más difícil de lo que parece. $95^8$ no es la respuesta correcta. (26)*(26)*(10)*(33)*(95)*(95)*(95)*(95) no es la respuesta correcta y no se puede simplemente multiplicar este producto por el número de permutaciones. Esto se debe a que si, por ejemplo, el carácter especial de puntuación aparece por primera vez en la quinta posición en la contraseña con la primer letra minúscula, la primera letra mayúscula y el primer dígito que aparece en las primeras 3 posiciones de la contraseña, entonces solo hay $(95-33) = 62$ caracteres que pueden aparecer en la cuarta posición de la contraseña. Debido a este problema, se necesita un enfoque diferente. Un enfoque que brinda la respuesta correcta se realiza sumando de la siguiente manera:

El número de contraseñas para la permutación $I_k$ con las posiciones de la contraseña j1, j2, j3 y j4 es

$$S(I_k,j1,j2,j3,j4)=f1*g_{I(1)}*(n_t-(g_{I(2)}+g_{I(3)}+g_{I(4)}))^{(j2-1-j1)}*g_{I(2)}*(n_t-(g_{I(3)}+g_{I(4)}))^{(j3-1-j2)}*gI_{(3)}*(n_t-g_{I(4)})^{(j4-1-j3)}*g_{I(4)}*n_t^{(n-j4)}$$ .

$$S(I_k)=\sum_{j4=4}^n \sum_{j3=3}^{j4-1} \sum_{j2=2}^{j3-1} \sum_{j1=1}^{j2-1} S(I_k,j1,j2,j3,j4)$$

da el número de contraseñas correspondientes a la permutación, $I_k$.

$$Total=\sum_{k=1}^{24} S(I_k)$$ da el número total de contraseñas que cumplen con el requisito. El algoritmo para calcular el número de contraseñas que cumplen con el requisito se describe de manera más completa en el sitio web indicado anteriormente.

-2voto

bicbuck Puntos 11

Hay un error simple con la ecuación original:

Se declaró que tienes:

  • 26 letras minúsculas (a-z)
  • 26 letras mayúsculas (A-Z)
  • 10 dígitos (0-9)
  • 33 signos de puntuación y caracteres especiales
  1. ¿Cuántas opciones totales puede utilizar cada carácter dentro de la contraseña?

    AGREGA los números anteriores para responder eso: $26+26+10+33 = 95$

  2. ¿Cuántos caracteres tiene la contraseña en cuestión?

    Creo que identificamos 8 en este escenario

  3. ¿Cuántas combinaciones hay para esta contraseña?

    $$\text{(Elecciones posibles)}^\text{(Largo de los caracteres)}=\text{(Cuántas combinaciones)}$$

    O según este ejemplo, $96^8=6634204312890625$

  4. Basado en 8 caracteres de cualquier cosa que puedas escribir, la respuesta es tan simple como lo anterior.

    Como se señaló de una manera más enrevesada, aunque más descriptivamente precisa, el número cambia según los requisitos de la contraseña.

  5. Desde una perspectiva de hacker / pentester, la entropía es más fuerte que la complejidad mental.

    Si las personas usan solo minúsculas porque las reglas no las obligan a usar algo más, sí, su contraseña es más débil al ser solo minúsculas, porque puedo sondear la contraseña solo basándome en minúsculas ($26^8$).

    ¡Vaya, ¿ninguna regla contra el uso de palabras reconocibles por los humanos? (Esa era una regla común a principios y mediados de los años 2000) De hecho, las reglas de contraseña hacen una contraseña más débil que la posible matemáticamente $96^8$.

  6. La entropía de la contraseña hace que esto sea aún más divertido al demostrar que la entropía de la contraseña

    A#1WepOjII95&^2!

    en realidad es más débil que la contraseña

    OMGmathMakesMyHeadWant2EXPLODE

  7. Si estás viendo esto desde un punto de vista de seguridad, utiliza una frase larga para hacer más difícil que sea descifrada. Usando tablas arcoíris, ahora es posible descifrar una contraseña de 64 caracteres en 4 minutos en una sola computadora.

    No, tu laptop Atom de $120 probablemente no cumpla con ese tipo de eficiencia de hackeo. Simplemente dice que ya no necesitas un conjunto de computadoras.

0 votos

Al crear una tabla arcoíris para una contraseña de 64 caracteres. Supongamos todas las letras minúsculas: 26^64 = 3.6165483e+90. Número de átomos en el universo 1.0e+83 átomos. Suponiendo que el único ordenador puede aprovechar todos los átomos en el universo, cada átomo necesitaría almacenar aproximadamente 3.6e+7 entradas. Un ordenador que puede almacenar 36 millones de entradas de tabla hash por átomo y puede utilizar todos los átomos en el universo. ¡Eso sí que es un ordenador! ¿Crees que podrían tenerlos en Best Buy?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X