Non c'è una risposta esatta, ed ecco perché:
Forza bruta
Iniziamo con una chiave simmetrica a 128 bit. Supponendo che l'algoritmo (ad esempio AES) non sia ancora rotto, dobbiamo considerare il consumo energetico. Supponendo dispositivi di calcolo efficienti al 100%, la cui tecnologia supera di gran lunga qualsiasi computer, ASIC, scheda grafica o altro dispositivo di cracking dei tasti che si possa immaginare, c'è un fabbisogno energetico minimo per il semplice capovolgimento dei bit. Wikipedia ci ha fornito i calcoli , e ne viene fuori, per una chiave a 128 bit, la il fabbisogno energetico minimo richiesto dalla fisica è di circa 10 18 joule, o 30 Gigawatts per un anno. Ovviamente con hardware "reale", il requisito sarebbe diverse centinaia di volte; più della produzione di energia di tutto il mondo. Quindi questo è ben al di fuori della capacità di qualsiasi corpo terrestre esistente.
Ma se passiamo a una chiave a 256 bit, la matematica diventa più seria. Schneier ha fatto i conti con questo in Crittografia applicata ed è stato discusso qui prima . Per evitare di annoiarti con dettagli ripetuti, farò semplicemente una conclusione: il nostro sole non produce abbastanza energia per svolgere questo compito.
Il calcolo teoricamente reversibile (che potrebbe essere possibile con i computer quantistici) potrebbe dimezzare la durata effettiva del bit, rendendo tale progetto semplicemente al di fuori della portata di qualsiasi energia esistente, piuttosto che al di fuori della portata della fisica. Ma è tutto accademico.
Il take-away è questo: non è possibile forzare una chiave simmetrica di dimensioni ragionevoli. Non da te, non da nessuno.
Round equivalenti
Quindi, quanti round di PBKDF2? Se l'attaccante deve scegliere tra 10 anni di attesa per la derivazione della chiave completa contro la costruzione di una sfera di Dyson attorno al sole, la rotta PBKDF2 è ancora più veloce. Con qualsiasi metrica pratica, aggiungere più tempo alla derivazione della chiave significa aggiungere più tempo all'attacco e in nessun momento provare a forzare la chiave diventa mai un'opzione (a meno che la route PBKDF2 anche non richieda un progetto di costruzione extraterrestre).
Quindi, dov'è il punto di equivalenza? Quando la forza bruta-forzante PBKDF2 richiede l'intera installazione di Dyson Sphere? La risposta è: dipende . Vedi, l'intero punto di usare il processo di hash nel tuo attacco invece di indovinare la chiave stessa è così che provi meno password. Se conosci la password è "scimmia" o "123456", allora preferiresti indovinarla solo due volte, invece di tentare per fortuna di colpire l'hash corretto in una scansione sequenziale.
Quindi la risposta dipende dalla dimensione del dizionario che il tuo aggressore utilizzerà nel suo attacco. Se conosce la password esatta, allora solo indovina una volta. E quindi, l'attacco a forza bruta richiederà esattamente il tempo necessario per il login. Per quanto a lungo lo farai. Se si aspetta di ottenerlo in due ipotesi, allora la sua forza bruta richiederà esattamente il doppio del tempo di accesso corretto. Se ha un dizionario di 100 parole da provare, allora 100 volte il tempo necessario per il login corretto, e se la tua password non è sul suo dizionario, allora non potrà mai avere successo, mai.
Alcuni esercizi pratici
Quindi per garantire che il suo attacco a forza bruta sarà impossibile, devi anche garantire che il tuo login di successo sarà impossibile, perché devi considerare la possibilità che la tua password sia l'unica candidato nella sua lista.
Se d'altra parte, vuoi andare per una media ragionevole, fai una semplice divisione. Diciamo che vuoi che l'attacco a forza bruta richieda 1 trilione di anni. E diciamo che la nostra password è di 14 caratteri alfanumerici (quindi 1 su 10 25 ). Supponendo che il suo dizionario sia tutte password alfanumeriche, vale 10 25 tentativi di password in 10 12 anni (trilioni su piccola scala) o 10 13 ipotesi anno, o circa 316900 ipotesi al secondo.
Quindi, se sintonizziamo PBKDF2 in modo tale che ci vuole più di 1 / 300.000 di secondo per indovinare ogni password, e la nostra password è lunga almeno 14 lettere, quindi 1 trilione di anni.
Caveat
Ricorda che se la crypto sottostante viene mai interrotta, in modo tale da poter essere attaccata senza indovinare la chiave, allora questo probabilmente diventerà il metodo di attacco prescelto. Ma non conosciamo alcun attacco di questo tipo in AES, né ci aspettiamo che esista mai.