Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
crypto-lab-merkle-proofs — Demo di albero di Merkle basata su browser: costruisci un albero, genera prove di inclusione, ricalcola l'hash radice hash per hash e riproduci gli attacchi di seconda preimmagine di RFC 6962 e CVE-2012-2459. SHA-256 reale. Nessun backend. | Kitploit
Strumenti/GitHubGitHub/systemslibrarian/crypto-lab-merkle-proofs
Analisi HashCrittografiaApprendimento e FormazioneRisorse CuratePercorsi e CorsiLab e Pratica
GitHubsystemslibrarian/crypto-lab-merkle-proofs

crypto-lab-merkle-proofs

Demo di albero di Merkle basata su browser: costruisci un albero, genera prove di inclusione, ricalcola l'hash radice hash per hash e riproduci gli attacchi di seconda preimmagine di RFC 6962 e CVE-2012-2459. SHA-256 reale. Nessun backend.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi RepositorySito web
601 giorno faNon ancora revisionato

crypto-lab-merkle-proofs

Che cos'è

Questa è una demo interattiva di alberi di Merkle e prove di inclusione di Merkle, costruita su SHA-256 tramite l'API WebCrypto del browser. Un albero di Merkle esegue l'hash di un insieme di blocchi di dati in un unico hash radice che li impegna tutti contemporaneamente; una prova di inclusione è la breve lista di hash fratelli che consente a chiunque di ricalcolare quella radice a partire da una singola foglia. Il modello di sicurezza è puramente basato su hash: si basa sulla resistenza alle collisioni e alla seconda preimmagine di SHA-256, senza chiavi né firme coinvolte. L'hashing segue la separazione di dominio di RFC 6962 (leaf = SHA-256(0x00 ∥ data), node = SHA-256(0x01 ∥ left ∥ right)), ed è questo che rende reale, e non decorativa, la difesa contro la seconda preimmagine nella demo. È uno strumento didattico, non una libreria di produzione.

Dove si colloca rispetto a crypto-lab-merkle-vault

Due lab di questo catalogo trattano gli alberi di Merkle, e non sono intercambiabili. Questo riguarda la semantica delle prove: da dove deve provenire la radice attendibile, i byte esatti sottoposti a hash a ogni passaggio, la verifica basata su indice secondo RFC 9162, le prove di consistenza con gli attacchi alla storia che intercettano, le costruzioni basate sulla seconda preimmagine e su CVE-2012-2459 smontate sulla pagina, e una voce reale e fissata di Certificate Transparency verificata contro il log Argon di Google. crypto-lab-merkle-vault riguarda la struttura: l'albero disegnato con connettori da genitore a figlio, una singola prova percorsa un livello alla volta con i nodi corrispondenti che si illuminano mentre l'hash corrente sale, e le radici ricalcolata e impegnata verificate uguali byte per byte in cima. Inizia da lì per che cos'è un albero di Merkle e come funziona una singola risalita; vieni qui per cosa una prova ti consente e non ti consente di credere.

Quando usarlo

  • Per dimostrare che un elemento appartiene a un grande insieme impegnato, a basso costo. Una prova è ⌈log₂ n⌉ hash, quindi una singola transazione può essere dimostrata presente in un blocco di milioni di elementi senza inviare il blocco.
  • Per rilevare manomissioni rispetto a una radice attendibile. Se possiedi già la radice, puoi verificare qualsiasi foglia+prova e rifiutare tutto ciò che non ricalcola fino a essa.
  • Per dare ai client leggeri l'integrità senza lo stato completo. I wallet SPV e i client stateless verificano l'appartenenza rispetto alla radice di un header invece di scaricare tutto.
  • Per rendere un log verificabilmente append-only. Certificate Transparency usa esattamente questa costruzione RFC 6962.
  • NON usare una prova di Merkle per dimostrare la non-appartenenza o l'ordine a meno che l'albero non sia specificamente un albero di Merkle ordinato/sparso — una semplice prova di inclusione non dice nulla su ciò che è assente, e un albero costruito senza separazione di dominio è esposto alla falsificazione per seconda preimmagine.

Demo live

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

Aggiungi o rimuovi blocchi di dati per costruire un albero in tempo reale, scegli una qualsiasi foglia per generarne la prova di inclusione, poi verificala — ricalcolando la radice a partire solo dalla foglia e dai suoi hash fratelli. Puoi procedere passo per passo o animare il ricalcolo un hash alla volta (osservando l'hash corrente risalire l'albero), espandere “show bytes” su qualsiasi passo per vedere l'esatta preimmagine SHA-256 (0x00 ∥ data per le foglie, 0x01 ∥ L ∥ R per i nodi), manomettere la foglia o invertire un bit in qualsiasi passo della prova e osservare la verifica passare a REJECTED, e regolare uno slider per vedere le prove restare logaritmiche fino a 2³⁰ foglie (oltre a costruire alberi reali da 256–4.096 foglie). Una demo del modello di fiducia mette in scena direttamente il classico fraintendimento: un prover che fornisce foglia, prova e radice produce una terna che verifica — e non dimostra nulla. Due demo di sicurezza ti permettono di attivare/disattivare la separazione di dominio RFC 6962 per far riuscire e poi fallire la falsificazione di seconda preimmagine, e di confrontare la duplicazione dei nodi dispari di Bitcoin con la promozione RFC 6962 per riprodurre la collisione di radice CVE-2012-2459. Le prove di consistenza (append-only) hanno una propria visualizzazione — il vecchio albero ombreggiato all'interno del nuovo, con le radici dei sottoalberi della prova contrassegnate — oltre a tre attacchi di manomissione della cronologia (riscrittura, cancellazione, riordino) che la prova intercetta. Infine, la pagina verifica una reale voce di Certificate Transparency: un certificato Let's Encrypt fissato all'indice 1.234.567.890 del log Argon2026h1 di Google (2,8 miliardi di certificati), dimostrato incluso con 32 hash usando la verifica basata su indice RFC 9162 — lo stesso percorso di codice del resto del laboratorio. Obiettivi di apprendimento, prompt "prevedi poi rivela", quiz di autovalutazione, tooltip del glossario, una tabella di riepilogo e letture di approfondimento supportano l'apprendimento attivo; “Copy link to this tree” crea un deep link a qualsiasi stato dell'albero per slide o compiti.

Come eseguirlo localmente

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

Non ci sono variabili d'ambiente. Esegui la suite di test (vettori RFC 6962, round-trip delle prove, rifiuto delle manomissioni, l'attacco/difesa della seconda preimmagine, le prove di consistenza, il fuzzing contro un'implementazione di riferimento indipendente e la prova CT reale fissata) con npm test.

npm run test:a11y esegue il gate del browser (Playwright). e2e/claims.spec.ts pilota la pagina reale e ricalcola ogni verdetto da ciò che la pagina ha stampato — INCLUDED solo quando la radice ricalcolata mostrata è uguale alla radice attendibile mostrata, ROOTS COLLIDE solo quando le due radici stampate sono uguali, l'intestazione sull'efficienza dalla sua stessa aritmetica — e percorre ogni percorso di manomissione (foglia, bit della prova, riscrittura/cancellazione/riordino del log, il bit-flip del certificato CT) per verificare che raggiunga il rifiuto, ne indichi la causa e si riprenda. e2e/a11y.spec.ts è la scansione axe-core WCAG A/AA. Entrambi vengono eseguiti in CI prima di ogni deploy su Pages.

Insegnare con questo strumento

Vedi TEACHING.md per una guida per il docente: un flusso di lezione di 50 minuti, domande di discussione, gli equivoci che ogni sezione è progettata per sfatare e approfondimenti per i compiti a casa.

Parte della Crypto-Lab Suite

Una delle oltre 170 demo live nel browser su systemslibrarian.github.io/crypto-lab — dall'Atbash (600 a.C.) fino a NIST FIPS 203/204/205 (2024).


"Così, sia che mangiate sia che beviate sia che facciate qualsiasi altra cosa, fate tutto per la gloria di Dio." — 1 Corinzi 10:31

Scarica lo strumento