Estoy tratando de encontrar una manera de medir la entropía de una contraseña que sea fácil de recordar, basada en una lista de palabras comunes en inglés, basado libremente en este cómic XKCD . Me gustaría saber si mis cálculos son correctos o si mis suposiciones sobre "fácil de recordar" son erróneas.
Consideraré que la cantidad de palabras comunes en inglés en el diccionario es la variable d .
Consideraré que la cantidad de palabras para usar en la contraseña es la variable n .
Si se considera que el teclado inglés de EE. UU. contiene todos los caracteres probables que conforman una contraseña que es fácil de recordar, cuento con un total de 96 símbolos que se pueden ingresar directamente, incluidas mayúsculas y minúsculas.
Esos son:
TAB SPACE ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ~'!@#$%^&*()_-+= {[}]|\ :;"'<,>.?/
Consideraré que estos caracteres son una complejidad adicional que se puede agregar a las palabras del diccionario, o la variable e como 96.
Para que sean más fáciles de recordar, solo consideraré agregar símbolos al principio o al final de una palabra, o como una palabra por sí mismos, pero no colocados arbitrariamente dentro de una palabra del diccionario. Eso debería significar que hay 2 * n + n + 1 posiciones disponibles para cada símbolo que se agrega. Usaré la variable s para el número de símbolos de complejidad adicionales agregados.
La ecuación para el total de posibles combinaciones en uso debería ser:
combinations = d^n + e^(s*(2*n+n+1))
Por lo tanto, el número de bits de entropía que proporciona este tipo de contraseña debe ser:
bits = log2(commbinations)
¿Mis matemáticas son correctas?
¿Mis suposiciones acerca de las reglas para una contraseña fácil de recordar son erróneas?