La risposta alla tua domanda
Se conosci due delle quattro parole e la posizione di dette parole, dovrebbe essere un compito facile *. Scrivi uno script che generi password a seconda del tuo elenco di fonti e le tue due password conosciute come $known_pw_1 $known_pw_2 $test_pw_1 $_test_pw2
(ovviamente a seconda della posizione delle tue password conosciute). Per ogni parola inserita $test_pw_1
devi eseguire l'iterazione su tutto $test_pw_2
.
C'è anche una buona risposta StackOverflow su come inserisci le password nei prompt della riga di comando .
* a seconda del seguente "MA"
Il "MA"
Quindi, ecco il MA che si prenderà tutto il divertimento del tuo esercizio di programmazione sopra:
A seconda dell'elenco di parole che hai usato e dell'alfabeto (maiuscolo, minuscolo o MiXeD?), avrai difficoltà a calcolare tutte le possibili combinazioni. Quindi, se stai usando l'elenco di parole diceware originale, contiene 7.776 parole. Significa che la tua lista di password iniziale con due variabili ha 7.776 ^ 2 (= 60.466.176) combinazioni possibili. Se le parole minuscole e maiuscole sono miste, le combinazioni si espandono a 7.776 ^ 4 (= 3.656.158.400.000.000).
Quindi, se calcoli 1-3 password al secondo (non ho controllato le specifiche di filevault ma prevedo molto che rallenterà sicuramente la decrittazione per prevenire attacchi di tipo brute force) continuerai a guardare circa 700 GIORNI quando calcolando tutte le combinazioni 7.776 ^ 2, 4 MILIARDI ANNI se stiamo parlando di 7.776 ^ 4. E non abbiamo nemmeno parlato di parole con caratteri misti.
(la mia matematica potrebbe essere qui, per favore qualcuno corregga)
PS: Hashcat apparentemente fa ~ 61.481 H / s