Como Time2Crack calcula o tempo de fissuração

Guia completo de operações científicas e técnicas

Visão geral

Visão geral

Time2Crack responde a uma pergunta simples: "Quanto tempo levaria para decifrar esta senha?"

A resposta envolve três etapas:

PASS MOT (por exemplo, "P@ ssw0rd!") ▼ PASSO 1: Análise (detecção padrão, entropia) ▼ PASSO 2: Número estimado de tentativas (intervalo) ▼ PASSO 3: Conversão de tempo (com base na velocidade GPU) ▼ RESULTADO (por exemplo, "2 dias na GPU NTLM")

Ponto crítico : Testes Time2Crack Nem por isso. A senha. matematicamente Quantas tentativas seriam necessárias com diferentes ataques.

A inovação chave é a separação estrita entre Posição (número de tentativas) e Tempo (Conversão baseada em GPU). Isto permite modificar algoritmos de ataque ou velocidades de GPU independentemente.
Fluxo de cálculo

Fluxo de cálculo principal

calcCrackTime(senha, opções) [core/calc.js] Promoção - analysePatterns(senha) □ Promoção Ü-- estimarRank( palavra-passe, contexto) - rankBrute() → comprimento do tanque - rankDictionary() → dicionário + HIBP - rankHybrid() → dicionário + mutações - rankMask() → estruturas previsíveis - RankMarkov() → modelo probabilístico - rankPCFG() → gramática Promoção □ Promoção - RankToAllSeconds(rank) - Converte tentativas → segundos (velocidade GPU) - Retorno: { md5, sha1, sha256, ntlm, bcrypt, argon2}

Arquitetura de duas camadas

A inovação chave da Time2Crack é separação estrita entre:

1Camada 1 (Rank)

"Quantas tentativas?" — Não têm noção de tempo ou velocidade da GPU. Módulos: core/rank/*.js

2Camada 2 (Tempo)

"Quanto tempo?" — Converta tentativas em segundos. Módulo: core/time.js

Vantagem : A mudança do algoritmo de um ataque nunca afeta a lógica do tempo.

Passo 1

Passo 1: Análise de Senha

O que estamos a analisar?

Antes de calcular o tempo de crack, Time2Crack disseca a senha 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
  }
}

Os 8 tipos de detecção

1 Palavra do dicionário

Teste a senha contra palavras comuns de 50k-200k e suas variantes (mutações simples).

2 Senha comum (HIBP)

Teste contra as 1.000 senhas mais escapadas usando o k-anonimidade (apenas 5 primeiros caracteres SHA-1 enviados).

Verifique se sua senha foi hackeada →

3 Padrão do teclado

Detectar: qwerty, asdfgh, qazwsx, etc.

4 Sequência

Detectar: abc, 123, xyz, etc.

5 Data

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

6 Repetir

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

7 Estruturado

Detecta estruturas previsíveis: Name2024!, Passw0rd!

8 Frase

Detecta várias palavras concatenadas: correcthorsebatterystaple[correct] + [horse] + [battery] + [staple]

Passo 2

Etapa 2: Estimativa de classificação (número de tentativas)

Conceito básico

A linha é: "Quantas senhas um ataque tem que testar antes de encontrá-lo?"

Exemplo

  • Resistência bruta em vez abc : 263 = 17.576 tentativas
  • Dicionário em vez password : ~ 1 tentativa
  • PCFG em vez Password123 : ~1011 tentativas

Como escolher o ataque vencedor?

Time2Crack lança o 7 ataques paralelos e toma o melhor 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)
      
Passo 3

Passo 3: Conversão para o Tempo

O conceito

Agora que sabemos que temos de rang tentativas, convertemo-nos para segundos :

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

Velocidades de movimento (GPU)

Time2Crack usa Velocidades verdadeiras Hashcat para 12× RTX 4090:

Algoritmo Velocidade Salificação
MD5 2,03 TH/s Não
SHA-1 610 GH/s Não
SHA-256 272 GH/s Não
NTLM 3,46 TH/s Não
bcrypt 2.2 MH/s Sim.
Argon2id 800 H/s Sim.

Exemplo de conversão

Senha: "senha" (Rang: 1 milhão = 106)

Para MD5 (2 trilhões/seg):

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

Os 7 ataques

Os 7 ataques implementados

1 Força bruta

Conceito : Teste todas as combinações possíveis

Formule : rang = charset_size ^ length

Exemplo : abc → 263 = 17,576 tentativas

Muito eficaz para : senhas curtas e aleatórias

Saiba mais sobre Força Bruta →

2 Ataque do Dicionário

Conceito : Teste cada palavra no dicionário

Formule : rang = taille_dictionnaire

Muito eficaz para Palavras humanas

Saiba mais sobre o Ataque do Dicionário →

3 Ataque híbrido

Conceito : Dicionário Palavra + mutações simples

Formule : rang = taille_dictionnaire × nombre_mutations (~1000)

Muito eficaz para : palavras de dicionário + pequenas modificações

Saiba mais sobre o ataque híbrido →

4 Ataque de Máscara

Conceito : Testar estruturas previsíveis

Muito eficaz para : estruturas humanas (Name2024, Password!)

Saiba mais sobre Mask Attack →

5 Modelo Markov

Conceito : Abordagem estatística baseada em frequências de n-gram

Muito eficaz para Palavras humanas — espaço reduzido em ~99%

Saiba mais sobre Markov Model →

6 PCFG

Conceito : Modelo gramatical que aprende estruturas

Exemplo real

Password123 :

  • Força bruta: 9411 = 475 trilhões de tentativas
  • PCFG: ~100 trilhões de tentativas (4,700× mais rápido!)

Saiba mais sobre o PCFG →

7 Ataque de Combinador

Conceito : Concatenação de mais de 2 palavras do dicionário

Muito eficaz para : frases-passe (4+ palavras)

Saiba mais sobre o Ataque de Combinadores →

Algoritmos

Os algoritmos de 6 hash

Porquê seis?

Diferentes algoritmos oferecem diferentes níveis de segurança. Time2Crack mostra tempos de crack para o 6 para mostrar o impacto da escolha do algoritmo.

MD5 (DEPRECTADO)

SHA-1 (DEPRECTADO)

SHA-256 (ACEPTÁVEL)

NTLM (LEGACY)

bcrypt (RECOMENDADO)

Argon2id (Melhor)

Algoritmos modernos são intencionalmente lentoÉ um recurso, não um bug! MD5 é rápido (mau), bcrypt é lento (excelente), Argon2id é ainda mais lento (melhor).
Perfis

Perfis do atacante

Conceito

Diferentes atacantes têm recursos diferentes. Time2Crack modelos 4 perfis:

Perfil GPUs NTLM Casos de uso
Amador 1 288 GH/s Hackers Hobbyist
Experiência 12 3,46 TH/s Bolachas secas
Profissional ~100 28, 8 TH/ s Empresas, grupos AWS
Nação do Estado ~10k 2,88 PH/s Governos

Impacto do betão

Senha: "P@ssw0rd" (10 tanques, linha: 1 trilhão)

  • Amador 44 segundos
  • Experiência 3.7 segundos
  • Profissional : 0,43 segundos
  • Nação do Estado 4, 4 milissegundos

Educação : Mesmo uma senha "forte" pode ser rachada em milissegundos por um estado-nação!

Exemplo

Exemplo concreto: Tr0ub4dor&3

É a senha do filme. "Correct Horse Battery Staple" Vamos ver o que o Time2Crack faz.

Passo 1: Análise

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

Passo 2: Estimativa de classificação

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

Passo 3: Conversão para o Tempo

Resultados para 50 bilhões de tentativas

  • MD5 : 0.025 segundos
  • SHA-256 0,18 segundos
  • bcrypt 6. 3 horas
  • Argon2id 2 anos

Conclusão

FAQ

Perguntas Mais Frequentes

P: O Time2Crack realmente testa a senha?

NãoTempo2Crack não envia Nunca sua senha para um servidor.

Saiba mais sobre nossa política de privacidade →

P: De onde vêm os números de velocidade da GPU?

Parâmetros de referência oficiais do Hashcat (v6.2.6) em RTX 4090:

P: Por que Argon2id é tão lento?

É intencional.. Argon2id foi projetado para ser lento, difícil de paralelizar e difícil de ser paralelizado. Isso força os atacantes a usar muitos recursos.

P: Podemos melhorar uma senha 100% "segura"?

NãoMesmo a melhor senha pode ser roubada ou adivinhada. Estratégia de defesa :

Q: Como melhoro minha senha?

Regras simples :

Conclusão

Conclusão

Time2Crack funciona em 3 passos imutáveis :

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

Inovação-chave : Separação rígida entre linha (ataque) e tempo (GPU), permitindo:

Resultado : Estimativa preciso, Desligado, multilingue Hora de decifrar uma senha.

↑ Voltar ao topo