Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SHA256-CDP — Implementação de tabela arco-íris SHA-256 acelerada por GPU baseada na análise estrutural CDP (Projeção de Soma de Dígitos Cíclica). AMD RX 9070 XT, OpenCL + Vulkan. | Kitploit
Ferramentas/GitHubGitHub/jm00nj/sha256-cdp
Quebra de SenhasAnálise de HashCriptografia
GitHubjm00nj/sha256-cdp

SHA256-CDP

Implementação de tabela arco-íris SHA-256 acelerada por GPU baseada na análise estrutural CDP (Projeção de Soma de Dígitos Cíclica). AMD RX 9070 XT, OpenCL + Vulkan.

Ver RepositórioSite
8há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

SHA256-CDP: Projeção de Soma de Dígitos Cíclica

Implementação de tabela arco-íris acelerada por GPU do framework de análise estrutural CDP para SHA-256.

Construído com base nos achados do artigo CDP (DOI: 10.5281/zenodo.20627240), este repositório fornece uma implementação completa e funcional de tabelas de cadeia arco-íris baseadas em CDP com kernels de construção OpenCL e pipelines de consulta/verificação Vulkan compute direcionados ao hardware AMD RDNA4.


O que é CDP?

CDP (Projeção de Soma de Dígitos Cíclica) é um framework de análise estrutural para SHA-256 que revela propriedades matemáticas anteriormente não documentadas da distribuição de saída da função hash.

A observação central: a soma de dígitos hexadecimais W(H) de qualquer saída SHA-256, quando re-hash iterativamente através de f(w) = W(SHA256(str(w))), converge deterministicamente para exatamente dois ciclos fechados:

root@kitploit:~
C1: 476 ↔ 438          (2-cycle)
C2: 471 → 472 → 525 → 537 → 414 → 417 → 546 → 518 → 471  (8-cycle)

Essa estrutura cíclica, combinada com uma impressão digital multicomponente F(H) = (W, Wvec₁₆, cycle_entry, W₂–W₅, max_nibble, min_nibble), produz um mapeamento bijetivo sobre espaços de entrada restritos — permitindo consulta de pré-imagem O(1) via tabelas arco-íris com zero colisões de função de redução.

Propriedades comprovadas principais:

  • Teorema 5.1 — Invariante da soma de nibbles complementares: Σnibble(W₀) = 38 para todos os 256 pares complementares
  • Teorema 5.4 — Propriedade ergódica de Markov: π_B = 17.00%, independente de K[i], H₀ e classe de entrada
  • W(H₀) = 502 — assinatura estrutural detectável das constantes de inicialização NIST (+22.2 acima do equilíbrio)
  • Bijeção sem colisão sobre 1.67M entradas em todos os espaços de entrada testados

CDP não quebra SHA-256. A resistência a pré-imagem e colisão não são afetadas. Veja a Seção 12 do artigo.


Estrutura do Repositório

root@kitploit:~
SHA256-CDP/
├── cdp_chain_builder.py   # Main entry point — build, crack, query CLI
├── cdp_query.comp         # Vulkan GLSL compute shader (query kernel)
├── cdp_verify.comp        # Vulkan GLSL compute shader (verify kernel)
├── vulkan_query.py        # Vulkan Python engine (ACO backend)
└── paper/
    └── cdp_v3.pdf         # CDP paper v3

Requisitos

  • Python 3.10+
  • PyOpenCL: pip install pyopencl
  • NumPy: pip install numpy
  • Vulkan (recomendado): pip install vulkan + Vulkan SDK
  • GPU AMD com RDNA2+ (testado em RX 9070 XT / gfx1201)

Nota: Vulkan é necessário para desempenho correto de consulta. Sem ele, o sistema recai para multiprocessamento de CPU (significativamente mais lento). O kernel de consulta OpenCL tem um bug conhecido do otimizador AMD PAL-LLVM no gfx1201 que produz resultados incorretos com -cl-fast-relaxed-math; o backend ACO do Vulkan não tem esse problema.

Usuários Windows: Adicione python.exe, clinfo.exe e explorer.exe à lista de permissões do Acesso a Pastas Controladas do Windows Defender para evitar bloqueios de acesso à memória da GPU durante operações de tabela.


Instalação

root@kitploit:~
git clone https://github.com/JM00NJ/SHA256-CDP
cd SHA256-CDP
pip install pyopencl numpy vulkan

Verificar detecção da GPU:

root@kitploit:~
python cdp_chain_builder.py --validate

Uso

Construir tabelas arco-íris

root@kitploit:~
# Single table (lowercase 8-char, chain_len=300,000)
python cdp_chain_builder.py --build --charset lower --length 8 --chain-len 300000 --output cdp_8.bin

# Multiple tables (higher coverage)
# n=1: 66.7%  n=2: 88.9%  n=3: 96.3%  n=5: 99.3%
python cdp_chain_builder.py --build-multi 3 --prefix cdp_8_bin --length 8 --chain-len 300000

Quebrar um hash

root@kitploit:~
# Single hash
python cdp_chain_builder.py --crack <sha256_hash> \
  --tables cdp_8_bin_1.bin,cdp_8_bin_2.bin,cdp_8_bin_3.bin \
  --length 8 --chain-len 300000

# Hash list (batch mode — tables loaded once)
python cdp_chain_builder.py --crack-list hashes.txt \
  --tables cdp_8_bin_1.bin,cdp_8_bin_2.bin,cdp_8_bin_3.bin \
  --length 8 --chain-len 300000

Autoteste ponta a ponta

root@kitploit:~
python cdp_chain_builder.py --self-test --length 7

Validar saída da GPU

root@kitploit:~
python cdp_chain_builder.py --validate
python cdp_chain_builder.py --validate-query <sha256_hash>

Desempenho

Testado em AMD Radeon RX 9070 XT (gfx1201, 32 CUs), Windows 11, driver 3679.0 (PAL,LC):

OperaçãoThroughput
Construção de tabela (kernel ILP2)~2.5 GH/s
Consulta — primeiro lote (raso)~14 GH/s
Consulta — média entre lotes~5 GH/s
Verificação GPU (ACO Vulkan)~2s por 88k candidatos

Minúsculas de 7 caracteres, 3 tabelas (96,3% de cobertura):

  • Tamanho da tabela: 3 × 0,7 MB
  • Tempo de construção: ~3 × 12s
  • Tempo de quebra: ~43s por hash

Modos de kernel:

  • --mode ilp2 — 2 cadeias/thread, SHA256 intercalado para ILP (padrão, mais rápido em AMD RDNA)
  • --mode vec4 — 4 cadeias/thread usando aritmética uint4
  • --mode scalar — 1 cadeia/thread (linha de base)

Notas Técnicas

Por que Vulkan para consulta?

O backend do compilador AMD PAL-LLVM usado pelo OpenCL no Windows (gfx1201) tem um bug de otimizador documentado: loops de início variável (for step=pos; step<N) produzem resultados incorretos com -cl-fast-relaxed-math. A solução alternativa (-O0) restaura a correção, mas reduz o throughput ~3-4×. O backend ACO do Vulkan é um pipeline de compilador completamente separado e não tem esse problema. Os kernels de consulta e verificação usam Vulkan; os kernels de construção usam OpenCL (não afetados pelo bug).

Redução bijetiva CDP

A função de redução padrão com semente PCG usa 64 bits de entropia de digest[0:2]. A redução injetiva CDP constrói a semente a partir da impressão digital completa (W, Wvec₁₆, max_nibble, min_nibble) — os mesmos componentes comprovados como injetivos sobre SHA256(X) pelo teorema da bijeção CDP. Isso garante zero mesclagens de cadeia da própria função de redução; mesclagens restantes são colisões de endpoint do paradoxo do aniversário (~33% por tabela, correspondendo à cobertura esperada de 66,7%).

Formato de tabela binária

As tabelas usam um formato binário compacto (magic CDP1, 39 bytes/entrada) — aproximadamente 3,4× menor que JSON. Use --convert para converter tabelas JSON existentes:

root@kitploit:~
python cdp_chain_builder.py --convert table.json --output table.bin

Conjuntos de Caracteres

NomeCaracteresEspaço (8 caracteres)
lowera–z (26)2.1 × 10¹¹

Licença

© 2026 Erenay Özkan (JM00NJ / Vesqer)

Este projeto está licenciado sob a GNU Affero General Public License v3.0 (AGPL-v3) com a Commons Clause.

Sob a Commons Clause, você não pode vender este software ou usá-lo como parte de um produto ou serviço comercial sem permissão explícita por escrito do autor.

Uso de código aberto, pesquisa e aplicações não comerciais são permitidos sob os termos da AGPL-v3 — modificações devem ser publicadas sob a mesma licença.

Para consultas de licenciamento comercial: netacoding.com

Consulte LICENSE para termos completos.


Referências

  • Postagem no Blog: https://netacoding.com/posts/cdp-sha256-structural-analysis/
  • Erenay Özkan. CDP: Projeção de Soma de Dígitos Cíclica — Análise Estrutural da Distribuição de Saída SHA-256, Pressão de Bacia Ergódica e Impressão Digital de Classe de Entrada. v3, 2026. DOI: 10.5281/zenodo.20627240
  • P. Oechslin. Fazendo uma Troca Tempo-Memória Criptoanalítica Mais Rápida. CRYPTO 2003.
  • M. Hellman. Uma Troca Tempo-Memória Criptoanalítica. IEEE Trans. Inf. Theory, 1980.

Construído por JM00NJ — netacoding.com

Baixar ferramenta
alnum
a–z, 0–9 (36)
2.8 × 10¹²
fulla–z, A–Z, 0–9, símbolos (70)5.8 × 10¹⁴