biiezione a 256 bit  ·  Bitcoin × Scacchi

La tua chiave Bitcoin come una scacchiera

Una posizione di scacchi reale contiene circa 148 bit di informazione. Due scacchiere ospitano comodamente una chiave Bitcoin di 256 bit — codificata tramite una biiezione matematica perfetta sull'esercito standard degli scacchi.

Strumento didattico. Non conservare mai fondi reali con una chiave generata o mostrata qui. Tutta la crittografia gira localmente nel browser — la tua chiave non viene mai inviata da nessuna parte.

Posizioni della chiave privata

1128 bit bassi
2128 bit alti

Ogni scacchiera porta 128 bit tramite la disposizione unica dell'esercito standard (16 pezzi per lato, pedoni sulle traverse 2–7, alfieri su colori opposti). Puoi anche incollare il tuo FEN — se rispetta lo schema, la chiave Bitcoin si aggiorna all'istante.

Come una chiave a 256 bit diventa due posizioni

1Dividi la chiave K a 256 bit in due metà: K = Kbassa + 2128·Kalta.
2Posiziona i pezzi in ordine fisso (re, donne, torri, alfieri, cavalli, pedoni). Ad ogni passo, le caselle rimanenti definiscono una base; le cifre successive della mezza-chiave scelgono la posizione combinatorialmente.
3I pedoni possono atterrare solo sulle traverse 2–7. Gli alfieri vanno uno su casa chiara e uno su casa scura. Il risultato è sempre una posizione con materiale legale.
4La decodifica inverte ogni passo: leggi le posizioni dei pezzi nello stesso ordine e accumula le cifre in K con lo schema di Horner. La mappatura è una biiezione perfetta.

Derivazione live

Una chiave privata Bitcoin è semplicemente un numero a 256 bit — identica su mainnet e testnet. Tra le reti cambiano solo il prefisso WIF e il formato dell'indirizzo. Gli output qui sotto sono mainnet.

Hex grezzo (32 byte)
WIF (importa in qualsiasi wallet)
Indirizzo SegWit (Bech32)
Indirizzo legacy (P2PKH)
Chiave pubblica compressa
Caricamento librerie crittografiche…

Decodifica una chiave esistente

Chiavi famose

Come funziona la mappatura

1. Dividi la chiave in due metà

Una chiave privata Bitcoin è di 256 bit. La dividiamo in una metà bassa di 128 bit (Kbassa) e una metà alta (Kalta). Ogni metà diventa una delle due posizioni.

2. Codifica ogni metà come posizione di scacchi

Tramite l'unranking combinatorio a base mista, il valore a 128 bit sceglie una specifica disposizione dell'esercito standard di 32 pezzi sulle 64 caselle (pedoni 2–7, alfieri di colori opposti). Ogni posizione ha capacità ≈148 bit, di cui 128 usati.

3. Deriva la chiave pubblica con ECDSA

Calcola P = k·G sulla curva secp256k1. Questo passaggio è a senso unico: nessuno può recuperare k da P. Usiamo la libreria auditata @noble/secp256k1, completamente nel browser.

4. Hash → indirizzo

HASH160 = RIPEMD-160(SHA-256(chiave pubblica)) produce i 20 byte di payload che diventano l'indirizzo (Bech32 per SegWit, Base58Check per legacy).

Vuoi la teoria completa? Leggi l'articolo approfondito →