Esistono due modi per verificare se queste modifiche offrono maggiore sicurezza. Il primo presuppone che gli attaccanti non conoscano le modifiche alla creazione della passphrase che hai fatto. Se hanno tentato di indovinare passphrase costruite con tutte le parole minuscole, non indovineranno mai le tue poiché sono al di fuori del pool di combinazioni indovinate. Se hanno tentato di indovinare i formati di password tradizionali o hanno semplicemente forzato brute tutte le possibilità fino ad una certa lunghezza, probabilmente non indovineranno la passphrase a meno che non sia breve (ad esempio scegli due parole a caso a caso). In questo scenario probabilmente hai migliorato la tua sicurezza della passphrase, ma è quasi impossibile da misurare.
Il secondo approccio, a mio parere migliore, è quello di assumere che gli hacker conoscano il tuo sistema per creare passphrase. Può essere improbabile, ma non al di fuori del regno delle possibilità che potrebbero catturare una delle tue passphrase o trovarne una memorizzata in chiaro da una violazione del sito. Ciò potrebbe consentire loro di indovinare il sistema esaminando ciò che sanno da queste altre frasi d'accesso. O potrebbe essere una modifica comune che hanno imparato che altre persone hanno fatto con le loro passphrase, quindi considerano che valga la pena provare il loro tempo.
In questa situazione gli attaccanti sanno prendere due parole casuali e capitalizzare la prima lettera. Quindi il fatto che tu abbia capitalizzato entrambe le parole non ti dà alcuna addizionale 'entropia' o forza contro il loro attacco. Se decidessi in modo casuale se scrivere la prima lettera in maiuscolo o meno, in questo modo si raddoppierà sostanzialmente il gruppo di parole possibili, perché gli autori dell'attacco dovrebbero provare entrambe le versioni per ogni parola.
In realtà non dici come stai convertendo i personaggi in cifre. Stai facendo un cambio 'leet speak' in modo che "e" diventi "3" e "i" diventi "1"? La sostituzione è completamente casuale? In entrambi i casi, credo che avremmo bisogno di sapere quali sono le parole nel tuo dizionario e le loro lunghezze per stimare quante variazioni potrebbero produrre. Questa è in realtà la parte difficile.
Supponiamo che tutte le tue parole siano sette caratteri e le cifre siano scelte a caso prima di sostituire una lettera. Quindi il numero di candidati per la sostituzione delle cifre sarebbe 12 poiché non si stanno modificando le due lettere maiuscole (U). Dovresti mappare tutte le possibili combinazioni di lettere minuscole (L) e cifre (D):
U D D D D L L U L L L L L L
U D D D L D L U L L L L L L
U D D D L L D U L L L L L L
....
U L L L L L L U L L D D D D
Quindi dovrai prendere il numero di possibili accordi e moltiplicare le volte 10 ^ 4 (poiché ogni posizione di cifre può essere uno di 10 caratteri). A meno che la mia matematica non sia corretta, dovresti darti le possibilità di passphrase totali. Potresti quindi confrontarlo con una passphrase di parole non modificata per vedere quanta sicurezza aggiuntiva hai aggiunto.
Ma di nuovo, questo presuppone che tutte le parole del tuo dizionario siano lunghe sette caratteri. Dal momento che questo probabilmente non è il caso, è necessario mappare le possibilità di cifre per ogni permutazione possibile di due parole per le diverse lunghezze delle parole. Posso stimare che si tratta di un aumento sostanziale della sicurezza, ma dovrai calcolare i numeri per capire esattamente quanto hai guadagnato.