La definición técnica de la fuerza de la contraseña ya existe en términos de bits de entropía . Esencialmente, es el número de conjeturas necesarias para llegar a una contraseña determinada. Una contraseña con 4 dígitos de longitud tiene 10,000 valores posibles, por lo que solo se requerirán 10,000 conjeturas o menos para adivinarla. Estos se expresan en potencias de 2; 10,000 es aproximadamente 2 ^ 14, por lo que diríamos que tiene 14 bits de entropía.
14 bits de entropía no son muchos; Una contraseña que puede ser breve puede ser forzada bruscamente en javascript en un navegador en solo unos momentos. En general, es cierto que los ataques de hasta 2 ^ 48 se pueden lograr fácilmente con una computadora de escritorio moderna; Más si el atacante tiene hardware personalizado. En 2012, alguien albergó 25 tarjetas gráficas en una PC y pudo mantener 348 mil millones de cálculos de hash por segundo. Por motivos de seguridad, debemos asumir que los atacantes mejoran con el tiempo a medida que mejora su hardware.
Pero los hashes informáticos no son toda la historia. Más allá de eso, hay formas en que los propietarios de sistemas mejoran la seguridad al usar un mejor algoritmo de hash, un mejor protocolo como PBDKF2 o bcrypt, aplicando sal, estimaciones de hardware, hardware personalizado, etc. La limitación de la tasa es muy efectiva si controla el hardware: un iPhone el código de acceso tiene solo 2 ^ 14 bits de resistencia, pero el chip personalizado construido dentro de la máquina destruirá sus claves de cifrado incrustadas secretas si se ingresa el código de acceso incorrecto 10 veces.
En el otro extremo de la escala, 2 ^ 80 bits de entropía se acercan a los límites de los ataques imaginables. Parece improbable hoy en día que alguien pueda violar una contraseña de 80 bits en su hogar; Parece casi impensable que cualquier entidad pueda alguna vez dañar bruscamente una clave de 128 bits. El iPhone que está estudiando el FBI usa claves de cifrado que tienen 256 bits de entropía, y de esto no sabemos cómo forzarlos bruscamente. Sin embargo, los avances en matemáticas y la investigación criptográfica, y los avances en hardware (como la computación cuántica), han demostrado una y otra vez que no se debe declarar que nada se puede descifrar.
Y la defensa es solo la mitad de la imagen. Hay formas en que los atacantes pueden mejorar sus ataques además de la paralelización personalizada mencionada anteriormente: pueden usar listas de palabras y herramientas como John the Ripper para priorizar contraseñas de adivinación basadas en el idioma del usuario, las tablas de arco iris se descargan fácilmente, colisiones, malware, investigación en el El objetivo, los zombis en una red de bots cautiva y otras técnicas pueden reducir el espacio de búsqueda. Todo esto depende de las capacidades y la dedicación de su adversario previsto.
Dado que tanto la ofensiva como la defensa no están definidas de forma estática, cada combinación de implementación y modelo de amenaza es específica y no es realmente comparable a ninguna otra instalación. Eso hace que sea difícil asignar una estimación fija de costo o tiempo sobre una base que sea comparable entre diferentes implementaciones de contraseñas. Las cosas más precisas que podemos decir son "este algoritmo tiene x bits de fuerza", "esta implementación multiplica el esfuerzo del atacante por 60,000", etc.