Inicio·Fuerza de contraseñas

100 contraseñas — cómo se guarda cambia la respuesta más que la longitud

Bits de entropía y tiempo hasta romperla para cada cruce de 10 conjuntos de caracteres y 10 longitudes. Las velocidades no son inventadas: son medidas publicadas de hashcat en una sola RTX 4090.

ASCII completo con símbolos 12 · 78.7 bit

  • NTLM (Windows)26136.9 años
  • MD545950.7 años
  • SHA-256343132.2 años
  • WPA2 Wi-Fi10^9.5 años
  • bcrypt10^10.6 años

Lo que aporta un carácter

Lo que aporta un carácter es el logaritmo del tamaño del alfabeto: 3,3 bits con solo dígitos, 4,7 con minúsculas, 6,6 con los 94 caracteres ASCII imprimibles. La fuerza total es eso por la longitud, y por eso alargar suele ganar a variar: un carácter ASCII más aporta 6,6 bits, mientras que pasar de minúsculas a ASCII completo solo aporta 1,9 bits por carácter.

Cómo la guardó el sitio

La misma contraseña puede variar por un factor de un millón según cómo se guardó. Una RTX 4090 prueba 288.500 millones de hashes NTLM por segundo y 164.100 millones de MD5, pero solo 184.000 de bcrypt, que es lento a propósito. Ocho caracteres ASCII con símbolos caen en menos de tres horas con NTLM y aguantan más de 500 años con bcrypt. Y quien escribe la contraseña no elige cuál.

Una sílaba hangul vale dos caracteres ASCII

El bloque estándar de hangul tiene 2.350 sílabas. Contando cada sílaba como un carácter, aporta 11,2 bits: 1,7 veces un carácter ASCII. Ocho sílabas hangul superan a trece caracteres ASCII y no llegan a catorce. El problema es que muchos sistemas no las aceptan y sin teclado adecuado no se pueden escribir.

Lo que esta tabla cuenta y lo que no

Los tiempos aquí suponen una contraseña **elegida al azar** recorrida de principio a fin. Las contraseñas hechas por personas no aguantan tanto: palabras de diccionario, secuencias de teclado, cumpleaños y el ! o el 1 del final se prueban primero. «P@ssw0rd!» cuenta como 59 bits con nueve caracteres ASCII, pero cae en segundos. Al revés, con varias tarjetas el tiempo se divide entre cuantas haya.

El accidente habitual no es el descifrado

Mucho más común es que una contraseña filtrada en un sitio se pruebe en otro. Una que tardaría años igual cae el día que el sitio más débil sufre una brecha, si se usó en ambos. No reutilizarla y activar un segundo factor van antes que alargarla.

Búscalo por alfabeto y longitud

Tamaño del alfabeto · Longitud

solo dígitosTamaño del alfabeto 10

hexadecimalTamaño del alfabeto 16

solo minúsculasTamaño del alfabeto 26

Base32Tamaño del alfabeto 32

minúsculas + dígitosTamaño del alfabeto 36

mayúsculas y minúsculasTamaño del alfabeto 52

letras + dígitosTamaño del alfabeto 62

Base64Tamaño del alfabeto 64

ASCII completo con símbolosTamaño del alfabeto 94

sílabas hangulTamaño del alfabeto 2350

Cómo leerlo

  • Bits por carácter = log2(tamaño del alfabeto). Multiplica por la longitud.
  • Tiempo hasta romperla = la mitad de las combinaciones ÷ intentos por segundo.
  • Las velocidades son medidas publicadas de hashcat en una RTX 4090.
  • Suponen una contraseña aleatoria. Las hechas por personas caen mucho antes.
  • NTLM (Windows)2.89e+11 /s
  • MD51.64e+11 /s
  • SHA-2562.20e+10 /s
  • WPA2 Wi-Fi2.53e+6 /s
  • bcrypt1.84e+5 /s

Preguntas frecuentes

Q. ¿Cuántos caracteres son seguros?

Depende de cómo se guarde. Doce caracteres ASCII con símbolos son 78,7 bits: 26.000 años con NTLM, 41.000 millones con bcrypt. Con ocho, NTLM cae en menos de tres horas.

Q. ¿Más longitud o más símbolos?

Normalmente longitud. Un carácter ASCII más suma 6,6 bits; pasar de minúsculas a ASCII completo solo suma 1,9 bits por carácter.

Q. ¿Es más fuerte en hangul?

Cada sílaba aporta 11,2 bits, 1,7 veces un carácter ASCII. Pero pocos sistemas lo aceptan y sin teclado adecuado no se escribe.

Q. ¿Son reales estos tiempos?

Suponen una contraseña aleatoria recorrida entera. Las hechas por personas caen mucho antes ante ataques de diccionario.

Q. ¿Qué importa más?

No reutilizarla. Probar en otro sitio una contraseña filtrada es un ataque mucho más común que descifrarla.