Técnicamente, la fuerza bruta significa probar un subconjunto de un conjunto de elementos para evitar una forma de control de acceso, sin tener en cuenta la retroalimentación de la forma de control, como en el enfoque No cambie como lo haría en el contexto de un ataque de tiempo. Las contraseñas se intentan hasta que se encuentre una coincidencia o se agote el diccionario.
Los ataques de diccionario pretenden acelerar el proceso al saltear, posiblemente incorrectamente, secuencias de caracteres en favor de aquellos que es más probable que se recuerden; palabras y / o secuencias de palabras (es decir, frases de paso).
Por ejemplo, x & (fsb} @ es más difícil de recordar que pregunta , por lo que es más probable que la palabra pregunta se use como credencial.
Si desea generar todas las permutaciones de los caracteres n , utilizando los caracteres m , obtendrá un conjunto de elementos m ^ n .
Por ejemplo, si tenemos un conjunto de caracteres {'a', 'b'} y nos gustaría generar todas las contraseñas de longitud 2 utilizando estos caracteres, se nos ocurrirá:
aa,
ab,
ba,
bb
un conjunto de cardinalidad de 4. Del mismo modo, si quisiéramos aumentar la longitud a 3, obtendríamos el siguiente conjunto:
aaa,
aab,
aba,
abb,
baa,
bab,
bbb
un conjunto de cardinalidad 8.
El diccionario de inglés actualmente tiene alrededor de 171476 palabras mucho menos que todos los caracteres de longitud 6, por ejemplo.