Questo potrebbe ottenere migliori risposte in crypto.stackexchange.com o math.stackexchange.com , ma penso di poterti dare il succo di ciò.
Se ci allontaniamo dalle parole e dai un'occhiata ad alcuni numeri potrebbe essere utile illustrare.
Prendi ad esempio un codice a quattro cifre per un lucchetto.
Ci sono 10 possibili cifre (0-9) e quattro spazi in cui possono essere inseriti, quindi ci sono 10 * 10 * 10 * 10 = 10 ^ 4 = 10.000 combinazioni possibili.
Se dici che non ci possono essere cifre ripetute, sul primo spazio avresti 10 cifre possibili, il secondo 9, il terzo 8 e infine 7 possibili cifre sull'ultimo spazio.
Lascia 10 * 9 * 8 * 7 = 5,040 combinazioni possibili, o circa la metà.
Se applichiamo questo al tuo creatore di password, prenderemo il numero totale di parole che stai usando come possibilità (la maggior parte dei sistemi Unix ha un dizionario inglese con circa 200.000, quindi possiamo usare questo numero per ora), e numero totale di parole nella tua password (utilizzando 6 come raccomandato da Diceware).
Questo significa che senza alcuna restrizione sulla ripetizione, ci sono esattamente 200.000 ^ 6 = 64 nonillion possibili combinazioni di password.
Se non si desiderava ripetere le parole, ci sarebbero 200.000 * 199.999 * 199.998 * 199.997 * 199.996 * 199.995 ≈ 63.995 combinazioni di password diverse da zero.
Questa è una differenza di circa .00008%.
Come puoi vedere, con un dizionario di almeno 200.000 parole univoche e uno spazio delle chiavi di sei parole, la differenza tra nessuna restrizione della password e limitazione delle parole ripetute è trascurabile.
Questa differenza avrebbe quindi un effetto ugualmente trascurabile sulla resistenza della password al cracking.
Modifica
LieRyan ha sottolineato che Diceware utilizza un vocabolario di 7776 parole comuni, facili da digitare. Se volessimo vedere la differenza con un elenco di tale dimensione, sarebbe simile a qualcosa:
Nessuna restrizione: 7776 ^ 6 ≈ 2.21 sextillion possibili combinazioni.
Nessuna ripetizione: 7776 * 7775 * 7774 * 7773 * 7772 * 7771 ≈ 2.2064 combinazioni possibili di sequestione.
Differenza: ~ 0,19%
Diamo un'occhiata a cosa significa per qualcuno che tenta di decifrare la tua password.
Assume your adversary is capable of one trillion guesses per second.
-Edward Snowden, 2014
Se prendiamo questa stima (enfasi), divideremo il numero totale di combinazioni possibili per il numero di ipotesi / secondo per ottenere i secondi totali presi a forza maggiore ogni combinazione della lista di parole.
Cioè, 2,2 combinazioni di sestilione / 1 trilione di tentativi / sec = 2,2 miliardi di secondi = 69,72 anni (rispetto a 70,03 anni senza limitazioni di password)
Questo è il tempo medio che impiegherebbe un cracker di password ben equipaggiato e dotato (con accesso a una copia della tua lista di parole) per rinforzare una password creata con questo metodo.