Ispirato da questa domanda sulla difficoltà di crackare un database KeePass , mi chiedo se la modifica del numero predefinito di iterazioni in un'applicazione di crittografia (ad es. KeePass) aumenti la sicurezza. Spero che la domanda sia applicabile a una varietà di applicazioni; se no, immagino che oggi sia curioso di KeePass.
Il mio ragionamento è che un utente malintenzionato non conosce il numero di iterazioni prima del tempo e quindi ha due opzioni:
- Supponiamo che l'utente dell'applicazione di crittografia non si sia preoccupato di modificare il numero predefinito di iterazioni o
- Verifica la validità della password per un intervallo di migliaia di possibili scelte di iterazione (il valore predefinito è 6.000, quindi forse da 5.000 a 20.000 o più)
Poiché # 2 è molto più lavoro, è una scommessa più sicura per l'utente modificare l'impostazione predefinita. La mia teoria sarebbe che l'utilizzo di un numero come 6.001 aumenti sostanzialmente la sicurezza poiché l'attaccante concentrerà gli sforzi sul valore predefinito di 6.000.
Ho letto alcune domande correlate, che discutono in generale quante iterazioni scegliere. Ciò che non mi è chiaro è se utilizzare un'applicazione come KeePass, dove il numero predefinito è noto all'attaccante , rende importante modificare l'impostazione predefinita. Se la mia impressione è sbagliata, mi dirai che l'utilizzo di 6.001 iterazioni in KeePass è altrettanto sicuro di 6.000.