Diferencia entre revisiones de «Ataque de fuerza bruta»

Contenido eliminado Contenido añadido
Alej27 (discusión · contribs.)
Sin resumen de edición
Alej27 (discusión · contribs.)
m Centré ecuación
Línea 18:
Se puede calcular la cantidad de posibles contraseñas. De esto depende la cantidad de caracteres de la contraseña en cuestión, y el conjunto de caracteres. Evidentemente, puesto que la contraseña se desconoce, no se sabe cuán larga es, ni cuáles caracteres contiene; sin embargo de momento consideremos una contraseña de exactamente <math>10</math> caracteres, de los cuales dichos caracteres son los siguientes <math>75</math>: el alfabeto español (a-z, A-Z, contando la eñe, es decir <math>27 \cdot 2 = 54</math> caracteres), los caracteres numéricos (0-9, es decir <math>10</math> caracteres), y los <math>11</math> caracteres "#", "$", "%", "&", "/", "*", "-", ".", " ", "_" y "@". Es decir, consideraremos un total de <math>54 + 10 + 11 = 75</math> posibles caracteres. Procedamos al cálculo. Ya que es posible repetir caracteres, y su orden sí importa, el problema se trata de una ''variación con repetición'' (no de una ''combinación'', ni una ''permutación''), y por lo tanto de la [[Estadística|estadística]] tenemos que existe un total de <math>75^{10}</math> posibles contraseñas; nótese que la cantidad de posibles contraseñas varía exponencialmente, no linealmente. Pero esto es suponiendo que la contraseña es exactamente de <math>10</math> caracteres, y de los cuales todos esos son algunos de los <math>75</math> mencionados anteriormente. Sabemos que la contraseña desconocida no necesariamente será de <math>10</math> caracteres, sino que puede ser más corta o más larga (de <math>4, 5, 6, 7, \ldots</math> caracteres), de manera que también debemos considerar esas posibilidades; supondremos que la contraseña es de al menos <math>4</math> caracteres y como mucho de <math>20</math>, inclusive. También sabemos que es posible que la contraseña tenga otros caracteres (por ejemplo "+", "?", e incluso caracteres de otros alfabetos como el griego o el japonés, y cualquier carácter [[UNICODE|UNICODE]]), aunque omitiremos este hecho y nos conformaremos con el conjunto anterior. Por lo tanto, en definitiva, existe un total de <math>75^{4} + 75^{5} + 75^{6} + \cdots + 75^{20}</math> posibles contraseñas. El resultado de esta suma es el siguiente:
 
<div style="text-align: center;"><math>\sum_{i=4}^{20} 75^{i} = 32\,140\,661\,543\,249\,931\,324\,877\,448\,984\,094\,140\,625 \approx 3.2141 \text{E} 37</math></div>
 
posibles contraseñas. Obviamente en realidad no es necesario probarlas todas; se requerirían <math>3.2141 \text{E} 37</math> intentos sólo si por muchísima casualidad el último intento de contraseña es el correcto, pero la probabilidad de que eso ocurra es prácticamente 0; en cambio, podemos asumir que en promedio se adivinará la clave cuando se haya probado la mitad de las posibles combinaciones, es decir <math>\frac{3.2141 \text{E} 37}{2} = 1.6070 \text{E} 37</math>, bajo las suposiciones mencionadas antes. Este número es muy grande, por lo que puede tomar mucho tiempo en encontrar la contraseña correcta, manifestando la desventaja del ataque de fuerza bruta. Para adivinar una contraseña también influirán otros factores tales como la rapidez de la computadora usada, en cuál número de intentos se adivinaría (lo cual en general se desconoce), si el servidor o sitio web tiene [[CAPTCHA]], y/o si el servidor o sitio web deshabilita temporalmente el acceso a una cuenta debido a varios intentos de contraseña (actualmente sitios como [[Facebook]] deshabilitan temporalmente luego de varios intentos fallidos, y otros como [[Snapchat]] requieren resolver CAPTCHA, pero [[Instagram]] no emplea ninguna de esas dos técnicas y por ende sus usuarios son más vulnerables a los hackers).