Questo è un puro esercizio di pensiero.
Assumi un server che non implementa la limitazione o il blocco dei tentativi falliti. Il server accetta una richiesta nome utente / password & invia una risposta Sì / No. Il tempo di risposta è di 10 secondi. Stai provando a forzare la password sul server. Sto cercando di capire quanto tempo occorrerebbe per la forza bruta dire un PIN numerico a 5 cifre.
L'entropia del PIN sarebbe 10 5 = 100000 Quindi il tempo impiegato per la forza bruta sarebbe 100000/10 = 10000 secondi.
Tuttavia, è possibile avere un programma con multithreading che invia richieste in parallelo. O più programmi in esecuzione allo stesso tempo facendo la forza bruta. Quindi il mio calcolo ingenuo non è corretto.
Supponendo che la macchina dell'attaccante sia un tipico laptop di oggi (i7, 16 GB di RAM), come faccio a calcolare il tempo necessario alla forza bruta? Ci sono delle regole per questo?