In un software come keepassx, per generare password, di solito c'è la possibilità di spuntare alcune caselle. Ad esempio, una scatola che si assicura che sia stato scelto almeno 1 carattere da ogni lista di caratteri. Dove le liste di caratteri possono essere minuscole, maiuscole, cifre, caratteri speciali, ecc.
Comprendo che una password generata in modo casuale genera password come "aaaaaaaaaaaaaaa" che non sono sicure. Ma in media, non capisco perché accertarsi che ci sia almeno 1 carattere da ogni lista è più sicuro di una password generata in modo casuale.
Come mai è possibile "battere" (in termini di sicurezza) una password generata in modo casuale? Non dovrebbe questo tipo di password contenere più entropia in media, piuttosto che una password fatta con l'intervento umano?
Modifica: se devo supporre che devo proteggere contro un cracker, presumo che usi tutti i possibili tipi di attacchi. Forza bruta, dizionario, ecc.
Modifica 2: ci ho pensato durante la notte. Ho notato che se la password è molto grande (ad esempio la lunghezza > 25), allora la differenza tra spuntare la casella per assicurarsi che ci sia almeno 1 carattere per ogni gruppo e non ticchettare la casella è quasi nulla. Perché la probabilità che non ci sia char da ciascun gruppo è molto bassa. L'altro caso estremo è quando la password è molto piccola, per esempio della lunghezza 4. Il caso è più complesso e non sono sicuro che sia più sicuro contro tutti i possibili tipi di attacchi.