Qué son los bits de entropía, y por qué no te damos un porcentaje

Publicado el por David Carrero

Un porcentaje de fortaleza es una opinión con dos decimales.

Cuando una web te dice que tu contraseña es «un 92 % segura», la pregunta evidente es: ¿un 92 % de qué? ¿Cuál es el 100 %? No existe. Nadie ha publicado la contraseña perfecta contra la que se mide el resto. Ese número sale de una regla de tres que alguien improvisó un martes —tantos puntos por la mayúscula, tantos por el símbolo— y su único trabajo real es ponerte la barrita verde para que sigas adelante.

Los bits, en cambio, significan siempre exactamente lo mismo. Y significan algo que puedes usar.

Un bit es una pregunta de sí o no

Toda la idea cabe en una frase: cada bit dobla el número de intentos que necesita alguien que no sabe nada de ti.

Un bit son dos posibilidades. Dos bits son cuatro. Tres, ocho. Diez bits son 1.024 y veinte bits son algo más de un millón. La cuenta no sube, se duplica, y duplicar es lo que hace que la intuición se caiga por un barranco.

Por eso la frase «40 bits es el doble de bueno que 20» es falsa de una forma casi graciosa. Entre 20 y 40 bits hay veinte duplicaciones, es decir, un factor de 2²⁰: 40 bits no es el doble que 20, es un millón de veces más. Y 60 bits no es el triple que 20: es un millón de veces más que 40. Nuestra cabeza lee esa escala como si fuera una regla de medir, y no lo es. Es una escala como la de los terremotos o la de los decibelios, donde un pasito pequeño en el número es un salto brutal en la realidad.

Esa es toda la ventaja del bit sobre el porcentaje. El porcentaje te da una sensación. El bit te da una cantidad de trabajo.

De dónde sale la palabra

La palabra entropía aplicada a la información viene de un artículo de 1948: A Mathematical Theory of Communication, de Claude Shannon.

Conviene decirlo con precisión, porque se cita mal a menudo: Shannon no estaba pensando en contraseñas. No había contraseñas de ordenador que valga la pena mencionar. Estaba trabajando en Bell Labs sobre un problema muy distinto —cuánta información transporta de verdad un mensaje, y cuánto se puede comprimir antes de romperlo— y necesitaba medir algo escurridizo: la incertidumbre de quien está al otro lado.

Su hallazgo, dicho a lo bruto, es que la información y la sorpresa son la misma cosa. Un mensaje que ya sabías no te informa de nada. Un mensaje imposible de anticipar te informa muchísimo. La entropía mide cuánta sorpresa hay en la fuente que produce los mensajes, y se mide en bits.

Que eso sirva para contraseñas es casi un accidente afortunado. Una contraseña es, exactamente, un mensaje que tiene que ser imposible de anticipar.

La cerradura de rueditas

Aquí está la única fórmula del artículo, y prometo que sale gratis:

H = L × log₂(N)

Olvídate del logaritmo un momento y piensa en una de esas cerraduras de bicicleta con rueditas. Tienes dos maneras de complicársela a quien quiera abrirla:

  • Poner más rueditas. Eso es la longitud (L): cuántos caracteres tiene tu contraseña.
  • Poner más símbolos en cada ruedita. Eso es el alfabeto (N): si cada rueda lleva solo las diez cifras, o las 26 letras, o letras y números y signos.

El logaritmo solo hace una cosa: traducir «cuántos símbolos lleva una rueda» a «cuántos bits aporta esa rueda». Una rueda de 26 letras aporta unos 4,7 bits. Una rueda con los 95 caracteres imprimibles del teclado aporta unos 6,6.

Y ahí está el chiste. Fíjate en dónde está cada cosa en la fórmula. El alfabeto está dentro del logaritmo, aplastado; la longitud está fuera, multiplicando.

Casi cuadruplicar los símbolos de cada rueda —de 26 letras a 95 caracteres— te compra menos de dos bits por rueda. Añadir una rueda más te compra un log₂(N) entero, otra vez, y otra, y otra. Por eso doce letras minúsculas y nada más (unos 56 bits) le ganan a ocho caracteres con mayúsculas, números y símbolos de esos que exigen los formularios (unos 53). El P@ssw0rd pierde contra caballocorrectobateriagrapa y no está ni cerca.

El NIST, en su SP 800-63B, llegó al mismo sitio por otro camino: tiró por la borda las reglas de composición —una mayúscula, un número, un símbolo— y se quedó con la longitud y con comprobar la contraseña contra listas de filtradas. Conviene no ponerle en la boca lo que no dice: su argumento no es este de la fórmula, sino que obligar a la gente a meter un símbolo no la vuelve impredecible, solo la vuelve predecible de otra manera. De hecho, el propio documento desconfía de estimar la entropía de una contraseña elegida por una persona. Dos razonamientos distintos, la misma conclusión. La complejidad obligatoria trabaja dentro del logaritmo. La longitud trabaja fuera.

La letra pequeña que casi nadie cuenta

Hay una trampa, y es la parte honesta de todo esto: la entropía no mide tu contraseña, mide el proceso que la creó.

4$Kp!9zQ no tiene esos 53 bits porque se vea difícil. Los tiene si —y solo si— salió de un sorteo verdaderamente al azar entre las 95 teclas. Si la escribiste tú tratando de parecer aleatorio, la fórmula no aplica: tú no eres un sorteo. Pones la mayúscula la primera, el número al final y el símbolo es un !. Quien te ataca no prueba las 95 opciones de cada posición: prueba primero las que hacen las personas.

De ahí sale la asimetría incómoda de la seguridad de contraseñas. La entropía es un techo, no un suelo. Si la genera una máquina, el techo es real. Si la eliges tú, lo único que sabes es que estás por debajo, y no sabes cuánto.

Por eso hay dos herramientas y no una. El generador sortea de verdad y por eso puede enseñarte los bits con la cara seria: sabe cuántas rueditas tiene (L), sabe cuántos símbolos lleva cada una (N) y hace la multiplicación delante de ti. Si mueves el deslizador y ves subir la cifra, estás viendo la L empujar. El comprobador, en cambio, no puede hacer eso con una contraseña que ya existe: no tiene ni idea de cómo nació, así que hace lo único sensato, que es buscarla en diccionarios, nombres y patrones de teclado y suponer lo peor.

Lo que hay que llevarse

Tres frases:

  • Un bit es una duplicación. Diez bits más es mil veces más trabajo; veinte bits más, un millón.
  • La longitud multiplica, el alfabeto apenas suma. Añadir una palabra vale más que añadir un signo de exclamación.
  • Los bits solo valen si el azar es de verdad. Una máquina puede prometerlos. Tú, escribiendo a mano, no.

Shannon buscaba cuánta sorpresa cabe en un mensaje. Setenta y tantos años después, resulta que esa era justo la pregunta correcta para una contraseña: no si parece complicada, sino cuánta sorpresa lleva dentro para quien no te conoce de nada.


Fuentes: C. E. Shannon, «A Mathematical Theory of Communication», Bell System Technical Journal, 1948 · NIST SP 800-63B, Digital Identity Guidelines (Authentication and Lifecycle Management) · el generador de password.es, que calcula H = L × log₂(N) y muestra L, N y los bits resultantes.

← Volver al blog