En un software como keepassx, para generar contraseñas, generalmente existe la opción de marcar algunas casillas. Por ejemplo, un cuadro que se asegura de que se haya elegido al menos 1 carácter de cada lista de caracteres. Donde las listas de caracteres pueden ser minúsculas, mayúsculas, dígitos, caracteres especiales, etc.
Entiendo que una contraseña generada de forma puramente aleatoria puede generar contraseñas como "aaaaaaaaaaaaaaa" que no son seguras. Pero en promedio, no entiendo por qué asegurarme de que haya al menos 1 carácter de cada lista es más seguro que una contraseña generada de forma totalmente aleatoria.
¿Por qué es posible "superar" (en términos de seguridad) una contraseña generada de forma puramente aleatoria? ¿No deberían este tipo de contraseñas contener la mayoría de la entropía en promedio, en lugar de una contraseña hecha con intervención humana?
Editar: si tengo que asumir que debo protegerme contra una galleta, asumo que usa todos los tipos de ataques posibles. Fuerza bruta, diccionario, etc.
Edición 2: he estado pensando en ello durante la noche. Noté que si la contraseña es muy grande (diga la longitud > 25), entonces la diferencia entre marcar la casilla para asegurarse de que haya al menos 1 carácter de cada grupo y no marcar la casilla es casi nula. Porque la probabilidad de que no haya char de cada grupo es muy baja. El otro caso extremo es cuando la contraseña es muy pequeña, digamos de longitud 4. El caso es más complejo y no estoy seguro de cuál es más seguro contra todos los tipos posibles de ataques.