descifrado medio en GPU sin conexión ≈ 10^11 years
Qué hace
Genera contraseñas criptográficamente aleatorias usando el CSPRNG de Web Crypto (crypto.getRandomValues) con rejection sampling, de modo que cada carácter se extrae uniformemente del conjunto de caracteres elegido - sin sesgo de módulo, sin atajos predecibles. Cada extracción es independiente y ocurre completamente en tu navegador.
Para cada contraseña muestra en vivo la entropía en bits (length × log₂(charset)) y la clasifica en uno de cinco niveles - muy débil, débil, aceptable, fuerte, muy fuerte - en un medidor de 5 segmentos. Bajo el medidor está la cifra protagonista: el tiempo medio para descifrar la contraseña contra un ataque offline con GPU (10¹⁰ intentos/segundo), calculado como 2^(bits−1) / rate - el tiempo esperado, es decir, la mitad del espacio de claves.
Activa Pro para revelar la capa de analítica: la fórmula de entropía desglosada (length × log₂(charset) = N bits), una curva de tiempo de descifrado frente a longitud trazada para el escenario offline con GPU, y una tabla de ataque de cuatro filas que abarca desde online con limitación (100/h) hasta offline con GPU rápida (10¹⁰/s).
Cómo usarlo
- Ajusta la Longitud con el deslizador (4-64 caracteres; marcas en 8, 16, 24, 32, 48, 64).
- Activa los conjuntos de caracteres que quieras:
A-Z,a-z,0-9,!@#(símbolos). Al menos uno debe quedar activo. - Opcionalmente activa no O0Il1 para eliminar del grupo los caracteres visualmente ambiguos (
O,0,I,l,1). - Pulsa Nuevo para una nueva extracción, o Copiar para copiar la contraseña actual.
- Lee el medidor de fuerza y el tiempo medio de descifrado offline con GPU que hay debajo.
- Activa Pro para la fórmula de entropía, la curva de tiempo de descifrado frente a longitud y la tabla de ataque de 4 escenarios.
Ejemplos
La entropía es length × log₂(charset). Los cuatro conjuntos de caracteres suman 88 caracteres (26 minúsculas + 26 mayúsculas + 10 dígitos + 26 símbolos).
- 16 caracteres, A-Z + a-z + 0-9 (charset 62):
16 × log₂(62) ≈ 95.3 bits→ fuerte (4 / 5 segmentos). Tiempo medio de descifrado offline con GPU ≈2^94 / 10¹⁰ ≈ 1.98 × 10¹⁸ s ≈ 6.3 × 10¹⁰ años- la herramienta lo muestra como10^11 years. - 16 caracteres, los cuatro conjuntos incl. símbolos (charset 88):
16 × log₂(88) ≈ 103.4 bits→ muy fuerte (5 / 5 segmentos). - 8 caracteres, solo minúsculas (charset 26):
8 × log₂(26) ≈ 37.6 bits→ débil (2 / 5 segmentos). - Dispersión de escenarios Pro a 95 bits (tiempo medio,
2^94 / rate): online con limitación (100/h) →10^22 years; online sin limitación (10/s) →10^20 years; offlinehashhashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
lento (10⁴/s) →10^17 years; offline GPU rápida (10¹⁰/s) →10^11 years.
Buen saber
- Privado por diseño: la generación usa
crypto.getRandomValueslocalmente - la contraseña nunca sale de tu navegador, y el modo Pro es matemática pura (sin red). - Sin sesgo de módulo: cada índice de carácter se extrae mediante rejection sampling contra el mayor múltiplo del tamaño del charset que cabe en el rango Uint32 de 2³², y luego se reduce - nunca
random % charset.length. - Media, no peor caso: los tiempos de descifrado son el tiempo esperado (
2^(bits−1) / rate- la mitad del espacio de claves). Un atacante con suerte podría terminar antes; un barrido completo del espacio de claves tardaría aproximadamente el doble. - Entropía teórica: la puntuación asume una extracción uniformemente aleatoria, que es lo que garantiza el CSPRNG. Para contraseñas elegidas por humanos o reutilizadas, usa el Password Strength Analyser (zxcvbn) - detecta palabras de diccionario, sustituciones y patrones que la entropía pura no ve.
- Cinco niveles: muy débil (< 28 bits), débil (28-44), aceptable (45-69), fuerte (70-99), muy fuerte (≥ 100).
- Compartible: la longitud, los interruptores de conjuntos de caracteres, el flag
no O0Il1y el conmutador Pro se codifican en la URL (?len=…&upper=1&pro=1…), así que un enlace reproduce la configuración exacta. - Herramientas relacionadas: Password Strength Analyser, Token Generator.