Estimación de tiempo de fuerza bruta - secuencia aleatoria

0

Me gustaría preguntar si hay 2 ^ 1000 posibilidades para elegir, ¿cuánto tiempo tomará pasarlas en promedio? (en términos de minutos, horas o años)

Nota: esto no es necesario en relación con las contraseñas, sino más bien para descubrir una secuencia aleatoria

¿Hay alguna regla general / métrica que pueda usar para dar una estimación aproximada?

Algo en la línea de "tardaría x años en usar una computadora para pasar por todas las combinaciones"

    
pregunta Creatoza 30.06.2015 - 19:40
fuente

2 respuestas

1

El cálculo es simple. Primero, determine cuántos "intentos" puede hacer una computadora por segundo, minuto u hora, etc. Obviamente, depende de las computadoras. Por ejemplo, digamos 1000 cálculos por segundo.

Entonces, el tiempo en segundos = 2 ^ 1000/1000 = 1.071509e + 298

Luego puedes convertir en minutos dividiendo ese número por 60, y así sucesivamente.

La fórmula es: timeInUnit = nbCombinations / (CombinationsPerUnit * nbComputers)

El tiempo para probar todas las combinaciones es la cantidad de combinaciones dividida por la cantidad de combinaciones que la computadora puede hacer en esa unidad de tiempo, nuevamente dividida por la cantidad de computadoras que tienes.

SIN EMBARGO, para alcanzar una secuencia particular, puedes, en promedio, dividir ese tiempo entre 2. Ya que en un escenario real, no tienes que probar todas las combinaciones, te detienes cuando obtienes la que quieres. En promedio, lo golpearás después de haber agotado la mitad de las posibilidades. Podría tener suerte y acertar en su primer intento, o podría tener que pasar por cada combinación.

Ahora, para alcanzar un cierto número de secuencias, digamos 3, ¿cuánto tiempo lleva esto en promedio? No tres veces más, porque en la mayoría de los intentos, cada combinación garantizará que alcances esos 3. Pero tiene que ser más de la mitad del tiempo, ¿verdad? Bueno, ese es un problema de probabilidad divertido, te dejaré que lo averigües.

    
respondido por el Andy Chow 30.06.2015 - 21:25
fuente
0

No creo que haya una métrica / regla general general que pueda aplicarse, ya que el tiempo de la fuerza bruta depende completamente de la naturaleza de los datos que se someten a fuerza bruta y de la potencia del sistema en que se realiza. Sin poder dar valores a esas dos variables, no hay forma de que puedas estimar cuánto tiempo tomará.

Lo que puedes hacer calcula un valor razonable de g / s (conjeturas por segundo) dado x y y en tu escenario y desde allí simplemente extrapolas el tiempo que tomaría. Si no quiere hacer eso y simplemente desea obtener una estimación rápida de la búsqueda a través de un espacio clave específico, puede ir a GRC Calculadora interactiva de "espacio de búsqueda" de fuerza bruta , que le dará una estimación aproximada del tiempo requerido para buscar en el espacio clave definido.

    
respondido por el ilikebeets 30.06.2015 - 20:54
fuente

Lea otras preguntas en las etiquetas