Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
crypto-lab-merkle-proofs — Demonstração de árvore Merkle baseada em navegador — construa uma árvore, gere provas de inclusão, recalcule o hash da raiz hash por hash e reproduza os ataques de segunda pré-imagem do RFC 6962 e CVE-2012-2459. SHA-256 real. Sem backend. | Kitploit
Ferramentas/GitHubGitHub/systemslibrarian/crypto-lab-merkle-proofs
Análise de HashCriptografiaAprendizado e EducaçãoRecursos CuradosTrilhas e CursosLabs e Prática
GitHubsystemslibrarian/crypto-lab-merkle-proofs

crypto-lab-merkle-proofs

Demonstração de árvore Merkle baseada em navegador — construa uma árvore, gere provas de inclusão, recalcule o hash da raiz hash por hash e reproduza os ataques de segunda pré-imagem do RFC 6962 e CVE-2012-2459. SHA-256 real. Sem backend.

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
Ver RepositórioSite
60há 1 diaAinda não revisado

crypto-lab-merkle-proofs

O que é

Esta é uma demonstração interativa de árvores de Merkle e provas de inclusão de Merkle, construída sobre SHA-256 por meio da API WebCrypto do navegador. Uma árvore de Merkle faz o hash de um conjunto de blocos de dados em um único hash raiz que se compromete com todos eles de uma só vez; uma prova de inclusão é a curta lista de hashes irmãos que permite a qualquer pessoa rederivar essa raiz a partir de uma única folha. O modelo de segurança é puramente baseado em hash: depende da resistência a colisões e a segundas pré-imagens do SHA-256, sem chaves ou assinaturas envolvidas. O hashing segue a separação de domínio do RFC 6962 (leaf = SHA-256(0x00 ∥ data), node = SHA-256(0x01 ∥ left ∥ right)), que é o que torna a defesa contra segundas pré-imagens na demonstração real em vez de decorativa. É uma ferramenta de ensino, não uma biblioteca de produção.

Onde isto se situa ao lado do crypto-lab-merkle-vault

Dois laboratórios neste catálogo abordam árvores de Merkle, e eles não são intercambiáveis. Este trata da semântica da prova: de onde a raiz confiável deve vir, os bytes exatos com hash em cada etapa, a verificação baseada em índice do RFC 9162, provas de consistência com os ataques de histórico que elas detectam, as construções de segunda pré-imagem e CVE-2012-2459 quebradas na própria página, e uma entrada real e fixada de Certificate Transparency verificada contra o log Argon do Google. crypto-lab-merkle-vault trata da estrutura: a árvore desenhada com conectores de pai para filho, uma única prova percorrida um nível de cada vez com os nós correspondentes se acendendo à medida que o hash corrente sobe, e as raízes recalculada e comprometida verificadas como iguais byte a byte no topo. Comece por lá para o que é uma árvore de Merkle e como funciona uma subida; venha para cá para o que uma prova permite e não permite que você acredite.

Quando usá-lo

  • Para provar que um elemento pertence a um grande conjunto comprometido, de forma barata. Uma prova tem ⌈log₂ n⌉ hashes, então uma única transação pode ser mostrada como pertencente a um bloco de milhões sem enviar o bloco.
  • Para detectar adulteração contra uma raiz confiável. Se você já possui a raiz, pode verificar qualquer folha+prova e rejeitar qualquer coisa que não recalcule até ela.
  • Para dar integridade a clientes leves sem estado completo. Carteiras SPV e clientes sem estado verificam a pertinência contra a raiz de um cabeçalho em vez de baixar tudo.
  • Para tornar um log verificavelmente apenas-anexável. O Certificate Transparency usa exatamente esta construção do RFC 6962.
  • NÃO use uma prova de Merkle para provar não-pertinência ou ordem a menos que a árvore seja especificamente uma árvore de Merkle ordenada/esparsa — uma prova de inclusão simples nada diz sobre o que está ausente, e uma árvore construída sem separação de domínio está aberta a falsificação por segunda pré-imagem.

Demonstração ao vivo

systemslibrarian.github.io/crypto-lab-merkle-proofs

Adicione ou remova blocos de dados para construir uma árvore ao vivo, escolha qualquer folha para gerar sua prova de inclusão e depois verifique-a — recalculando a raiz a partir apenas da folha e de seus hashes irmãos. Você pode avançar passo a passo ou animar o recálculo um hash de cada vez (observando o hash em execução subir pela árvore), expandir “show bytes” em qualquer etapa para ver a pré-imagem SHA-256 exata (0x00 ∥ data para folhas, 0x01 ∥ L ∥ R para nós), adulterar a folha ou inverter um bit em qualquer etapa da prova e observar a verificação mudar para REJECTED, e ajustar um controle deslizante para ver as provas permanecerem logarítmicas até 2³⁰ folhas (além de construir árvores reais de 256–4.096 folhas). Uma demonstração de modelo de confiança encena diretamente o equívoco clássico: um provador que fornece folha, prova e raiz produz uma tripla que verifica — e não prova nada. Duas demonstrações de segurança permitem alternar a separação de domínio da RFC 6962 entre ativada/desativada para fazer a falsificação de segunda pré-imagem ter sucesso e depois falhar, e comparar a duplicação de nós ímpares do Bitcoin com a promoção da RFC 6962 para reproduzir a colisão de raiz da CVE-2012-2459. As provas de consistência (somente acréscimo) ganham sua própria visualização — a árvore antiga sombreada dentro da nova, com as raízes de subárvore da prova marcadas — além de três ataques de adulteração de histórico (reescrever, excluir, reordenar) que a prova detecta. Por fim, a página verifica uma entrada real de Certificate Transparency: um certificado Let's Encrypt fixado no índice 1.234.567.890 do log Argon2026h1 do Google (2,8 bilhões de certificados), comprovado como incluído com 32 hashes usando a verificação baseada em índice da RFC 9162 — o mesmo caminho de código do restante do laboratório. Objetivos de aprendizagem, prompts de prever-e-revelar, questionários de autoavaliação, dicas de glossário, uma tabela de recapitulação e leituras complementares apoiam a aprendizagem ativa; “Copy link to this tree” cria um link direto para qualquer estado da árvore para slides ou tarefas.

Como Executar Localmente

git clone https://github.com/systemslibrarian/crypto-lab-merkle-proofs
cd crypto-lab-merkle-proofs
npm install
npm run dev

Não há variáveis de ambiente. Execute a suíte de testes (vetores RFC 6962, round-trips de provas, rejeição de adulteração, o ataque/defesa de segunda pré-imagem, provas de consistência, fuzzing contra uma implementação de referência independente e a prova CT real fixada) com npm test.

npm run test:a11y executa o gate de navegador (Playwright). e2e/claims.spec.ts conduz a página real e re-deriva cada veredito a partir do que a página imprimiu — INCLUDED apenas quando a raiz recalculada exibida é igual à raiz confiável exibida, ROOTS COLLIDE apenas quando as duas raízes impressas são iguais, o título de eficiência a partir de sua própria aritmética — e percorre cada caminho de adulteração (folha, bit da prova, reescrita/exclusão/reordenação do log, a inversão de bit do certificado CT) para afirmar que atinge a rejeição, nomeia a causa e se recupera. e2e/a11y.spec.ts é a varredura axe-core WCAG A/AA. Ambos são executados na CI antes de cada implantação no Pages.

Ensinando Com Isso

Consulte o TEACHING.md para um guia do instrutor: um fluxo de aula de 50 minutos, perguntas para discussão, os equívocos que cada seção foi projetada para desfazer e extensões de tarefa de casa.

Parte da Suíte Crypto-Lab

Uma das mais de 170 demos ao vivo no navegador em systemslibrarian.github.io/crypto-lab — abrangendo de Atbash (600 a.C.) até NIST FIPS 203/204/205 (2024).


"Portanto, quer comais, quer bebais ou façais outra qualquer coisa, fazei tudo para a glória de Deus." — 1 Coríntios 10:31

Baixar ferramenta