Muchas veces se habla de una “encriptación de x bits”. Pero esto, ¿qué significa? Sabemos que más bits de encriptación suele ser mejor, pero ¿es una encriptación de 128 bits el doble de seguro que una de 64 bits?

El significado de bits

Toda encriptación usa de alguna manera una contraseña. Una encriptación de x bits dice, que se elige la contraseña entre 2x posibles. Es decir, una contraseña de 128 bits no es el doble seguro que una de 64 bits. Es 264 veces más segura. (264 · 264 = 2128). En otras palabras, duplicamos el espacio de contraseñas por cada bit que añadimos – y con esto el tiempo que un posible atacante tarda en hallarlo. Es decir, un bit más o menos, sí, importa.

El número de bits en una contraseña ideal

Si formaramos nuestra contraseña por dígitos binarios, entonces nuestra constraseña tendría tantos bits como dígitos. Por ejemplo, una contraseña de longitud ocho tendría ocho bits.

No obstante, solemos eligir entre más símbolos. Si usamos cifras decimales, podemos eligir entre diez. Es decir, cada símbolo adicional añade un poco más de 3 bits (23 = 8). Si tenemos un PIN de cuatro dígitos, entonces tenemos 104 posibilidades. Si nuestro PIN tiene seis dígitos, tenemos un millón.

Otra forma de incrementar el número de bits es eligir entre más símbolos. Si usamos letras y cifras tenemos 36 posibilidades por posición, si permitimos, además, mayúsculas tenemos 62 símbolos y con símbolos como !”·$%&/()= llegamos a quizá 75 posibilidades. Usar más símbolos incrementa drásticamente el número de contraseñas posibles como vemos en la tabla abajo.

Nombre de símbolos Cifras Cifras y minúsculas Cifras, minúsculas y mayúsculas Cifras, letras e interpuctuación
Número de posibilidades 10 36 62 aprox. 75
Número de bits por símbolo (log2) 3.3 5.2 5.9 6.2
Número de bits en una contraseña de longitud 8 26 42 47 50
Posibilidades en una contraseña de longitud 8 0.000112 2.8 · 1012 218·1012 100112

El número de bits en una contraseña real

En el apartado anterior hemos hablado de una contraseña ideal ya que hemos tenido en cuenta todas las posibilidades que se pueden formar con un número de símbolos determinado. No obstante, las contraseñas reales no son así.

Solemos preferir contraseñas que podemos memorizar más fácilemente. Y estas son palabras del diccionario. Una lengua natural tiene quizá 30.000 palabras con ocho letras o menos. Esto dista mucho de las 218.340.105.584.896 permutaciones teóricas de ocho mayúsculas, minúsculas y cifras.

Esta límitación que la contraseña debe ser memorizable afecta más que la longitud de la contraseña a la seguridad. Un religioso podría eligir como contraseña o bien la Biblia entera o el Corán entero. Aunque tendría una contraseña muy larga, tendría nada más que un solo bit de seguridad, ya que sólo elige entre 21 = 2 posibilidades.

Esto nos lleva a otra amenaza para la contraseña: en el momento que un atacante sabe que eliges contraseñas según un cierto patrón, se limita drásticamente el número de contraseñas que debe probar a ciego. Sin embargo, nosotros necesitamos algún patrón para poder memorizar constraseñas, sobre todo si son varias. Por eso es tan importante no eligir un patrón obvio. Si el atacante sabe que eres religioso, entonces es más probable que eligas palabras de este dominio que si te interesas por locomotoras antiguas.

Subir el número de permutaciones reales

Pues, ya sabes un truco para aumentar la seguridad: si piensas en contraseñas, piensa en algo con que la gente no te correla. Para ingenieros se ofrecen maquillaje, decoración y aristócratas. Otra ventaja: si realmente sabes muy poco sobre estos dominios, entonces es probable que te salgan palabras que a un experto no ocurrieran. Estas son tan difícilmente a adivinar como las descripciones de problemas informáticos por no técnicos.

Otro truco consiste en no sólo usar palabras. Por ejemplo, puedes combinar abreviaturas que conoces o frases enteras. Como frases son largas, puede ser más práctico sólo usar la primera letra de cada palabra. O cada segunda. O la primera letra de la primera palabra y la segunda de la segunda.

Por ejemplo, eliges la primera letra de la frase “Me gusta trabajar aquí, sólo hace falta decírmelo todos los días.” Con esto obtienes “Mgta,shfdtld”. Esto ya es una contraseña que no puedes pronunciar como palabra. Es difícil a memorizar, si no sabes tu frase y así una contraseña debe ser: fácil a recordar por el propietario, difícil de adivinar por el atacante.

Subir el número de permutaciones aparentes

Aplicar un poco de matemática a tus contraseñas suele hacerlas más crípticas – para seres humanos. Por ejemplo, la frase arriba: en lugar de eligir la primera letra, usas la letra que sigue en el alfabeto. Una A será B, B sustituido por C etc. Con esto la contraseña “Mgta,shfdtld” se convierte en “Nhub,tigeume”. Esto ya no se parece en nada a tu frase inicial. Si un atacante quiere adivinar tu contraseña puede pensar en cualquier cosa menos lo que pensabas tú.

No obstante, aplicar matemática no cambia el número de contraseñas posibles. No son las mismas permutaciones de símbolos, pero el mismo número de permutaciones. Es decir, si un atacante sabe tu regla, le cuesta igual descubrir tu contraseña. Pero si no la sabe, cada regla de creación adicional te hace parecer eligir entra más contraseñas posibles.

Cálculos no lineales ayudan mejor contra el descifrado por ordenador. “No líneal” quiere decir introducir algún “if” en el cálculo. Para un ordenador es más fácil hallar que todas las letras se cambian por el próximo en el alfabeto que sólo unas cuantas. No obstante, ten cuidado que estos “if” no reducen el número de contraseñas posibles. Una regla como “si la letra es A o B, entonces pongo una C” reduce el espacio de contraseñas, ya que ya no se distingue entre A y B.

En fin, la idea es crear contraseñas largas y complejas pero que sean fácil de recordar por algo que sólo sabes tú. Unos trucos pueden ser

  • Formar la contraseña por varias palabras no correladas
  • Formar frases que utilizan varias idomas o lenguajes
  • Entrelazar varias palabras
  • Hacer un cálculo que sabes hacer en la cabeza. El cálculo puede ser perfecto para determinar cifras que incluyes en tu contraseña.
  • Modificar partes de las palabras según alguna regla simple
  • Usar sólo una letra de cada palabra de una frase.

Ahora, ¿qué hago?

Descubrir la mejor forma de contraseña es algo personal. No todos sabemos varios idiomas o calculamos igual de bien. No obstante, es muchas veces cuestión to practicar. Si un día decides probar contraseñas con truco, te habrás acostumbrado a ellas tras un mes. De hecho, esto es el truco: simplemente empezar usar contraseñas más fuertes. Al final te habrás acostumbrado.

Lectura adicional