Se le parole sono selezionate casualmente, allora si applica la risposta di Iynks , ma potrebbe essere molto peggio se la passphrase forma una frase [grammaticamente valida]. Data una parola di partenza (dal set di 2000 parole), non ogni altra parola (incluso se stessa) potrebbe seguirla e produrre comunque una frase valida, quindi le scelte sono molto più strette. Se lasci che gli utenti scelgano le loro password, probabilmente succederebbe. E anche gli attaccanti probabilmente provano prima quelle combinazioni.
Per quanto riguarda il tempo di crack, per rispondere è necessario conoscere meglio il tuo modello di minaccia. Vedo dalla tua modifica che stai cercando di proteggere qualcosa installato offline, ma sei preoccupato che solo gli utenti "comuni" siano interessati a scansionare quelle password o ti aspetti un aggressore più determinato e abile? Un PC commovente che cerca di decifrare le password con la CPU (o anche con la GPU) si comporta in modo molto peggiore di quello che un hacker può ottenere con un cluster o con un hardware dedicato.
Come spiegato meglio in questa domanda , la tua migliore la difesa dovrebbe essere un buon algoritmo di hashing con un fattore di lavoro configurabile. PBKDF2, bcrypt o scrypt dovrebbero andare bene (fai riferimento a questa domanda per una spiegazione più approfondita dei pro e contro di ciascuno). Per quanto riguarda il tempo di crack, tutto dipenderà dal fattore lavoro: puoi sceglierne uno in cui è possibile effettuare un solo tentativo al secondo (o meno) o uno in cui sono possibili milioni o miliardi. Si riduce a ciò che il ritardo è tollerabile dai legittimi utenti ogni volta che tentano di inserire la password. (per i numeri duri, l'unico modo per essere sicuri è il benchmarking su una particolare macchina)