La idea básica
Sí, el concepto por el que estás dando vueltas es "¿cuántas contraseñas posibles existen bajo estas reglas?", que se denomina formalmente "Espacio de contraseña".
La fórmula para averiguar qué tan grande es el espacio de contraseña para un conjunto dado de reglas es bastante simple:
(num_allowed_symbols) ^ (password_length)
Tus ejemplos:
-
Contraseña de 16 caracteres que consiste solo en letras minúsculas en inglés : hay 26 bajos, así que:
26 ^ 16 = 4.4x10 ^ 22 contraseñas posibles
-
La contraseña de 8 caracteres que consta de letras en inglés de ambos casos, dígitos numéricos y caracteres especiales : depende de cuántos caracteres especiales permita, pero digamos 26 lowers + 26 uppers + 10 digits + 16 specials = 78 characters
, así que
78 ^ 8 = 1.4x10 ^ 15 contraseñas posibles
Unicode : digamos que hay alrededor de 100,000 caracteres Unicode válidos. Entonces solo necesita una contraseña de 5 o 3 caracteres (respectivamente) para que coincida con los espacios de contraseña de lowers
y lowers, uppers, digits, specials
.
pero antes de que nos emocionemos con estos números ...
Donde se vuelve real
El número de contraseñas posibles arriba solo es realmente útil como medida de seguridad si es igualmente probable que se elijan todas las contraseñas posibles. En mi experiencia, esto no es cierto ya que graycat123
es una contraseña mucho más común que h&9R#d3*ng
(o ǨΞᾃЯ ҉ℒⵞ௵ޘ↡╤
si usa todo el espacio Unicode, pero no me pregunte cómo escribir eso en un teclado Android !)
Esto se introduce rápidamente en la psicología y en los hábitos de los usuarios, y a menudo vemos estadísticas como este :
SplashData estima que casi el 10% de las personas han usado al menos una de las 25 contraseñas peores en la lista de este año, y casi el 3% de las personas han usado la peor contraseña, 123456.
Es por eso que ve más y más sitios web que muestran "medidores de seguridad de contraseña" junto al cuadro Cambiar contraseña: estos están comparando su contraseña con listas comunes, buscando palabras de diccionario, buscando patrones de teclado, etc. Estos medidores son una mucho mejor medida de la fuerza de la contraseña que solo la longitud porque, bueno, las personas son malas para elegir las contraseñas.
Es mucho mejor usar un administrador de contraseñas y dejar que una máquina elija su contraseña para que h&9R#d3*ng
sea tan probable como graycat123
. Si quieres contraseñas que puedas recordar, entonces una buena opción es crear contraseñas utilizando el truco diceware . p>