Cómo Time2Crack calcula el tiempo de crack

Guía completa de las operaciones científicas y técnicas

Sinopsis

Sinopsis

Time2Crack responde a una pregunta simple: "¿Cuánto tardaría en romper esta contraseña?"

La respuesta implica tres pasos:

PASS MOT (por ejemplo, "¡P@ssw0rd!") ▼ PASO 1: Análisis (detección de agentes, entropía) ▼ PASO 2: Número estimado de intentos (rango) ▼ PASO 3: Conversión de tiempo (basada en la velocidad de GPU) ▼ RESULT (por ejemplo, "2 días en GPU NTLM")

Punto crítico : Pruebas Time2Crack No realmente La contraseña. matemáticamente cuántos intentos se necesitarían con diferentes ataques.

La innovación clave es la separación estricta entre Rank (número de intentos) y Hora Esto permite modificar algoritmos de ataque o velocidades GPU de forma independiente.
Flujo de cálculo

Flujo de cálculo principal

calcCrackTime(palabra, opciones) [core/calc.js] Promoción - análisisPatterns(palabra) . Promoción Ü--estimateRank(palabra, contexto) él - rankBrute() → tanklength ç - rankingDiccionario() → diccionario + HIBP ç - rankHybrid() → diccionario + mutaciones él - rankMask() → estructuras predecibles Ü - RankMarkov() → modelo probabilístico ç - rankPCFG() → gramática Promoción . Promoción - RankToAllSeconds(rank) - Convertir intentos → segundos (GPU velocidad) - Regreso: { md5, sha1, sha256, ntlm, bcrypt, argon2 }

Arquitectura de dos capas

La innovación clave de Time2Crack es separación estricta entre:

1Capa 1 (Rank)

"¿Cuántos intentos?" — No tienen idea de tiempo o velocidad de GPU. core/rank/*.js

2Capa 2 (tiempo)

"¿Cuánto tiempo?" — Convertir intentos en segundos. Módulo: core/time.js

Ventajas : Cambiar el algoritmo de un ataque nunca afecta la lógica del tiempo. Cambiar la velocidad de la GPU nunca afecta los ataques.

Paso 1

Paso 1: Análisis de contraseña

¿Qué estamos analizando?

Antes de calcular el tiempo de grieta, Time2Crack disecciona la contraseña para detectar:

analyzePatterns(password) retourne {
  // CHARSET & ENTROPIE
  charset: { hasLower, hasUpper, hasDigit, hasSymbol },
  entropy: 52.3,  // bits

  // DÉTECTIONS
  patterns: {
    dictionaryWord: true,      // mot dans dictionnaire
    commonPassword: false,     // dans HIBP
    keyboardPattern: false,    // qwerty, asdfgh
    sequencePattern: false,    // abc, 123
    datePattern: false,        // 2024, 12/25
    repeatingPattern: false,   // aaaa, 1111
    maskLike: true,            // structure prévisible
    looksPassphrase: true,     // plusieurs mots
  }
}

Los 8 tipos de detección

1 Diccionario Word

Prueba la contraseña contra palabras comunes de 50k-200k y sus variantes (mutaciones simples).

2 Contraseña común (HIBP)

Prueba contra las 1.000 contraseñas más escapadas usando el k-anonymity (sólo 5 primeros caracteres SHA-1 enviados).

Compruebe si su contraseña ha sido hackeado →

3 Patrón de teclado

Detectar: qwerty, asdfgh, qazwsx, etc.

4 Secuencia

Detectar: abc, 123, xyz, etc.

5 Fecha

Detectar: 2024, 12/25, 25-12-2024, etc.

6 Repito

Detectar: aaaa, 1111, !!!, etc.

7 Estructurado

Detecta estructuras previsibles: Name2024!, Passw0rd!

8 Frase

Detecta varias palabras concatenadas: correcthorsebatterystaple[correct] + [horse] + [battery] + [staple]

Paso 2

Paso 2: Estimaciones de los puestos (número de intentos)

Concepto básico

El fila es: "¿Cuántas contraseñas tiene que probar un ataque antes de encontrarlo?"

Ejemplo

  • Fuerza bruta para abc : 263 = 17.576 intentos
  • Diccionario para password ~1 intento
  • PCFG para Password123 ~1011 intentos

¿Cómo elegir el ataque ganador?

Time2Crack lanza el 7 ataques paralelos y toma el mejor resultado:

const results = {
  brute:      { rank: 1e30 },
  dictionary: { rank: 1e6 },      // GAGNANT
  hybrid:     { rank: 1e7 },
  mask:       { rank: 1e8 },
  markov:     { rank: 1e9 },
  pcfg:       { rank: 1e11 },
  combinator: { rank: 1e12 },
};

const best = Math.min(...Object.values(results).map(r => r.rank));
// → 1e6 (Dictionary attack est la plus rapide)
      
Paso 3

Paso 3: Conversión al tiempo

El concepto

Ahora que sabemos que tenemos que rang intentos, nos convertimos en segundos :

Formule : temps (secondes) = log₁₀(rang) / log₁₀(taux_hachage)

Velocidades (GPU)

Time2Crack utiliza verdaderas velocidades Hashcat para 12× RTX 4090:

Algoritm Speed Salificación
MD5 2.03 TH/s No
SHA-1 610 GH/s No
SHA-256 272 GH/s No
NTLM 3.46 TH/s No
bcrypt 2.2 MH/s Sí.
Argon2id 800 H/s Sí.

Ejemplo de conversión

Contraseña: "palabra" (Rang: 1 millón = 106)

Para MD5 (2 trillion/sec):

Temps = 10⁶ / (2×10¹²) = 0.5 microsecondes

Para SHA-256 (272 GH/s):

Temps = 10⁶ / (2.72×10¹¹) = 3.7 microsecondes

Para bcrypt (2.2 MH/s):

Temps = 10⁶ / (2.2×10⁶) = 0.45 secondes

Para Argon2id (800 H/s):

Temps = 10⁶ / 800 = 1 250 secondes = 21 minutes

Los 7 ataques

Los 7 ataques aplicados

1 Fuerza bruta

Concepto : Prueba todas las combinaciones posibles

Formule : rang = charset_size ^ length

Ejemplo : abc → 263 = 17.576 intentos

Muy eficaz para : contraseñas cortas y aleatorias

Más información sobre Brute Force →

2 Ataque

Concepto : Prueba cada palabra en el diccionario

Formule : rang = taille_dictionnaire

Muy eficaz para Palabras humanas

Más información sobre Diccionario de ataque →

3 Ataque híbrido

Concepto : Diccionario Word + mutaciones simples

Formule : rang = taille_dictionnaire × nombre_mutations (~1000)

Muy eficaz para : palabras de diccionario + pequeñas modificaciones

Más información sobre Ataque híbrido →

4 Mask Attack

Concepto : Testar estructuras predecibles

Muy eficaz para : estructuras humanasName2024, Password!)

Más información sobre Mask Attack →

5 Markov Model

Concepto : Enfoque estadístico basado en frecuencias n-gram

Muy eficaz para Palabras humanas — espacio reducido en ~99%

Más información sobre Markov Model →

6 PCFG

Concepto : Modelo gramático que aprende estructuras

Ejemplo real

Password123 :

  • Fuerza bruta: 9411 = 475 intentos de trillón
  • PCFG: ~100 trillones intentos (4,700× más rápido!)

Aprender más acerca de PCFG →

7 Ataque combinado

Concepto : Concatenación de 2 palabras de diccionario

Muy eficaz para : passphrases (4+ palabras)

Más información sobre el ataque combinado →

Algoritmos

Los 6 algoritmos de hash

¿Por qué seis?

Diferentes algoritmos ofrecen diferentes niveles de seguridad. Time2Crack muestra tiempos de grieta para el 6 para mostrar el impacto de la elección del algoritmo.

MD5 (DEPRECTED)

SHA-1 (DEPRECTED)

SHA-256 (ACEPTABLE)

NTLM (LEGACY)

bcrypt (RECOMENDADO)

Argon2id (Mejor)

Los algoritmos modernos son intencionalmente lentoEs una característica, no un error! MD5 es rápido (bad), la bcripta es lenta (excelente), Argon2id es incluso más lento (mejor).
Perfiles

Perfiles de atacante

Concepto

Los diferentes atacantes tienen diferentes recursos.

Perfil GPUs NTLM Casos de uso
Amateur 1 288 GH/s Hobbyist Hackers
Experiencias 12 3.46 TH/s grietas graves
Cuadro orgánico ~100 28,8 TH/s Empresas, agrupaciones AWS
State Nation ~10k 2.88 PH/s Gobiernos

Impacto concreto

Contraseña: "P@ssw0rd" (10 tanques, fila: 1 trillón)

  • Amateur 44 segundos
  • Experiencias 3,7 segundos
  • Cuadro orgánico : 0.43 segundos
  • State Nation 4,4 milisegundos

Educación : Incluso una contraseña "fuerte" se puede romper en milisegundos por un estado nacional!

Ejemplo

Ejemplo concreto: Tr0ub4dor

Es la contraseña de la película. "Batería de caballos corridos" Veamos qué hace Time2Crack:

Paso 1: Análisis

• length : 11 caractères
• charset : 94 caractères
• entropy : ~64 bits
• dictionaryWord : FALSE
• commonPassword : FALSE
• maskLike : TRUE
• looksPassphrase : FALSE

Paso 2: Estimaciones de Rank

Brute Force  : 94^11 ≈ 475 trillion
Dictionary   : ∞ (pas dans dictionnaire)
Mask         : ≈ 1.4 trillion
Markov       : ≈ 10 trillion
PCFG         : ≈ 50 billion (GAGNANT)
Combinator   : ∞

Paso 3: Conversión al tiempo

Resultados para 50 mil millones de intentos

  • MD5 : 0.025 segundos
  • SHA-256 0.18 segundos
  • bcrypt 6.3 horas
  • Argon2id 2 años

Conclusión

FAQ

Preguntas frecuentes

P: ¿En realidad, Time2Crack prueba la contraseña?

No. Time2Crack no envía Nunca su contraseña a un servidor.

Más información sobre nuestra política de privacidad →

P: ¿De dónde vienen los números de velocidad de GPU?

Parámetros oficiales Hashcat (v6.2.6) en RTX 4090:

P: ¿Por qué Argon2id es tan lento?

Es intencional.Argon2id está diseñado para ser lento, duro de memoria y difícil de paralelizar. Esto obliga a los atacantes a utilizar muchos recursos.

P: ¿Podemos mejorar una contraseña 100% segura?

NoIncluso la mejor contraseña puede ser robada o adivinada. Estrategia de defensa :

P: ¿Cómo mejoro mi contraseña?

Reglas simples :

Conclusión

Conclusión

Time2Crack trabaja en 3 pasos inmutables :

1. ANALYSE       → Détecte patterns (dictionnaire, keyboard, etc.)
2. RANG          → Estime tentatives nécessaires (7 attaques)
3. TEMPS         → Convertit tentatives en secondes (GPU speeds)

Innovación clave : Separación rígora entre fila (ataque) y tiempo (GPU), permitiendo:

Resultado Estimación preciso, Sin conexión, multilingüe tiempo para romper una contraseña.

↑ Volver arriba