Author

Topic: Generare chiavi private manualmente con dado a 20 facce (Read 1266 times)

legendary
Activity: 2114
Merit: 15144
Fully fledged Merit Cycler - Golden Feather 22-23
Riporto in vita questa discussione per segnalare una bella guida di Jade che spiega come generare un seed con un dado, e poi generare con il jade la 24esima parola:

Dice Generated Recovery Phrase



Per poi calcolare con il jade stesso l'ultima parola:

How do I calculate a final word from a provided recovery phrase entry?

Cose da fare in una giornata di pioggia.
legendary
Activity: 3724
Merit: 1738
Join the world-leading crypto sportsbook NOW!
Vabe cosi non se ne esce piu
bisogna arrivare a un punto e darsi uno stop, altrimenti la ricorsa diventa infinita, poi dovrai farti il dado, poi bisogna pensare al materiale
poi magari, se qualcuno vede che ti autocostruisci un dado, puo pensare che vuoi generarti un seed e via dicendo
ripeto, a un certo punto bisogna fermarsi senno la ricorsa diventa verso l'atomo

la vedo dura un hack di un dado, basta tirarlo bene

Dici? Supponendo di avere un dado costruito appositamente in cui ogni lato che batte sul piano produce un suono leggermente diverso dagli altri e non percettibile all'orecchio umano, un qualsiasi dispositivo connesso tipo Alexa potrebbe eloborare i suoni (ovviamente se la distanza del device è vicina) e capire quale lato sia l'ultimo che ha battuto di conseguenza la faccia opposta sarà il numero. Fantasticando ma non troppo lontano dalla realtà.


Beh a questo punto consiglio di tirare il dado davanti al videocitofono intelligente di Alexa  Grin Grin
sr. member
Activity: 448
Merit: 580
Pizza Maker 2023 | Bitcoinbeer.events
Vabe cosi non se ne esce piu
bisogna arrivare a un punto e darsi uno stop, altrimenti la ricorsa diventa infinita, poi dovrai farti il dado, poi bisogna pensare al materiale
poi magari, se qualcuno vede che ti autocostruisci un dado, puo pensare che vuoi generarti un seed e via dicendo
ripeto, a un certo punto bisogna fermarsi senno la ricorsa diventa verso l'atomo

la vedo dura un hack di un dado, basta tirarlo bene

Dici? Supponendo di avere un dado costruito appositamente in cui ogni lato che batte sul piano produce un suono leggermente diverso dagli altri e non percettibile all'orecchio umano, un qualsiasi dispositivo connesso tipo Alexa potrebbe eloborare i suoni (ovviamente se la distanza del device è vicina) e capire quale lato sia l'ultimo che ha battuto di conseguenza la faccia opposta sarà il numero. Fantasticando ma non troppo lontano dalla realtà.
legendary
Activity: 3528
Merit: 4042
appunto
quello che sto dicendo io, se ci si lascia guidare dalla paranoia eccessiva allora e' la morte

ok essere paranoici, esempio una stampante wifi connessa a internet per stampare un paper wallet non mi pare una idea molto intelligente
ma basta prendere una stampante economica low cost non connessa e hai risolto il problema
legendary
Activity: 3724
Merit: 1738
Join the world-leading crypto sportsbook NOW!
Vabe cosi non se ne esce piu
bisogna arrivare a un punto e darsi uno stop, altrimenti la ricorsa diventa infinita, poi dovrai farti il dado, poi bisogna pensare al materiale
poi magari, se qualcuno vede che ti autocostruisci un dado, puo pensare che vuoi generarti un seed e via dicendo
ripeto, a un certo punto bisogna fermarsi senno la ricorsa diventa verso l'atomo

la vedo dura un hack di un dado, basta tirarlo bene
legendary
Activity: 3528
Merit: 4042
Vabe cosi non se ne esce piu
bisogna arrivare a un punto e darsi uno stop, altrimenti la ricorsa diventa infinita, poi dovrai farti il dado, poi bisogna pensare al materiale
poi magari, se qualcuno vede che ti autocostruisci un dado, puo pensare che vuoi generarti un seed e via dicendo
ripeto, a un certo punto bisogna fermarsi senno la ricorsa diventa verso l'atomo
sr. member
Activity: 448
Merit: 580
Pizza Maker 2023 | Bitcoinbeer.events
C'è un modo per fare a mano sulla carta anche la conversione dall'esadecimale ottenuto alla chiave privata (WIF)?

A mano si può fare tutto, basta avere pazienza e precisione.
Di fatto totalmente a mano non è fattibile.

Esiste comunque una buona guida di @turtlecute, o meglio tradotta da turtlecute, che spiega il procedimento.

CALCOLARE UNA FRASE MNEMONICA DI 24 PAROLE USANDO DADI, CARTE E PENNA.

E se il dado è truccato? scherzo
Ho visto come si fa al volo che procedura, pazzesco che qualcuno si è inventato sto sistema diabolico per farsi il seed
molto carino in ogni caso, il dubbio è, dovrai in ogni caso metterlo in qualche cliente qualche volta no? li non abbiamo problemi di sicurezza

Non è che hai detto una fesseria, pensa che qualcuno è talmente in fissa da pensare che i dadi "normali" che puoi trovare in qualsiasi gioco da scatola non vanno bene perché il peso potrebbe essere manomesso quindi preferiscono acquistare dadi professionali, quelli da casinò per intendersi perché hanno un peso bilanciato e quindi il numero che uscirà sarà totalmente casuale. Mi domando se davvero qualcuno arriva a pensare e poi a mettere in atto queste assurdità, ovviamente non sono a questi livelli io. Io la seed la faccio generare all'hardware per pigrizia  Grin
legendary
Activity: 3178
Merit: 3440
Nec Recisa Recedit
https://glacierprotocol.org/
date un'occhiata a glacier protocol per avere un'infarinatura di base su come gestire un seed/chiave privata e quali possono essere le migliori tattiche da adottare per tenere in sicurezza tutti i vostri dati.

...Il dubbio è, dovrai in ogni caso metterlo in qualche cliente qualche volta no? li non abbiamo problemi di sicurezza

puoi semplicemente usare un wallet su un pc offline e firmare la transazione(che non è mai stato usato su internet - dove installi sistema operativo / wallet etc). vedi guida sopra di glacier protocol.
non esponi le tue chiavi e sei sicuro del risultato Wink
legendary
Activity: 2114
Merit: 15144
Fully fledged Merit Cycler - Golden Feather 22-23
C'è un modo per fare a mano sulla carta anche la conversione dall'esadecimale ottenuto alla chiave privata (WIF)?

A mano si può fare tutto, basta avere pazienza e precisione.
Di fatto totalmente a mano non è fattibile.

Esiste comunque una buona guida di @turtlecute, o meglio tradotta da turtlecute, che spiega il procedimento.

CALCOLARE UNA FRASE MNEMONICA DI 24 PAROLE USANDO DADI, CARTE E PENNA.

E se il dado è truccato? scherzo
Ho visto come si fa al volo che procedura, pazzesco che qualcuno si è inventato sto sistema diabolico per farsi il seed
molto carino in ogni caso, il dubbio è, dovrai in ogni caso metterlo in qualche cliente qualche volta no? li non abbiamo problemi di sicurezza

Ovvio, generare il seed in modo ultra privacy richiede poi una serie di accorgimenti per mantenere il seed ed i bitcoin in "sicurezza".
La privacy non è un gesto unico, ma una catena di eventi.
legendary
Activity: 1554
Merit: 1168
C'è un modo per fare a mano sulla carta anche la conversione dall'esadecimale ottenuto alla chiave privata (WIF)?

A mano si può fare tutto, basta avere pazienza e precisione.
Di fatto totalmente a mano non è fattibile.

Esiste comunque una buona guida di @turtlecute, o meglio tradotta da turtlecute, che spiega il procedimento.

CALCOLARE UNA FRASE MNEMONICA DI 24 PAROLE USANDO DADI, CARTE E PENNA.

E se il dado è truccato? scherzo
Ho visto come si fa al volo che procedura, pazzesco che qualcuno si è inventato sto sistema diabolico per farsi il seed
molto carino in ogni caso, il dubbio è, dovrai in ogni caso metterlo in qualche cliente qualche volta no? li non abbiamo problemi di sicurezza
member
Activity: 161
Merit: 14
For Rent
Ma non c' era una volta o era per eth? una procedura offline che si disegnava a caso su un quadrato pieno di punti la chiave?
legendary
Activity: 2114
Merit: 15144
Fully fledged Merit Cycler - Golden Feather 22-23
C'è un modo per fare a mano sulla carta anche la conversione dall'esadecimale ottenuto alla chiave privata (WIF)?

A mano si può fare tutto, basta avere pazienza e precisione.
Di fatto totalmente a mano non è fattibile.

Esiste comunque una buona guida di @turtlecute, o meglio tradotta da turtlecute, che spiega il procedimento.

CALCOLARE UNA FRASE MNEMONICA DI 24 PAROLE USANDO DADI, CARTE E PENNA.
hero member
Activity: 1234
Merit: 789
C'è un modo per fare a mano sulla carta anche la conversione dall'esadecimale ottenuto alla chiave privata (WIF)?
full member
Activity: 183
Merit: 100
Thread molto interessante. Anche in questo post si è recentemente parlato di chiavi e probabilità di collisioni.

Così, per pura curiosità, che aspetto ha un dado da 16 facce?

ecco qui sotto la foto.  Smiley

hero member
Activity: 708
Merit: 506
I support freedom of choice
Questa immagine aiuta a farsi un'idea di cosa sia una chiave privata:

https://bitcointalksearch.org/topic/m.18291216

e anche di come viene convertita in un indirizzo bitcoin.
legendary
Activity: 1914
Merit: 2071
Questa immagine aiuta a farsi un'idea di cosa sia una chiave privata:

https://bitcointalksearch.org/topic/m.18291216
legendary
Activity: 3570
Merit: 1985
procedura divertente Smiley ma io te la tiro li piu efficace

usi un D12 e un D4 e ottieni da 2 a 16, non so come puoi fare ad ottenere 1 ma si puo fare che
- numero pari di volte che esce 2, consideri 2
- numero dispari di volte che esce 2, consideri 1

peccato che così la distribuzione non è più uniforme: ci saranno cifre più probabili di altre. Al limite puoi usare dadi da 8 e trascrivere il numero dall'ottale, però così servono 128 lanci
legendary
Activity: 1914
Merit: 2071
Riallacciandosi al tema del thread, poichè l'entropia reale del sistema è di soli 160 bit e non di 256 bit, è sufficiente lanciare una moneta 160 volte, e non 256. I restanti 96 bit possono essere impostati tutti a 0, non "servono".

Analogamente nel caso del dado a 20 facce è sufficiente lanciare il dado 40 volte, non 64. Le restanti 24 cifre esadecimali possono essere scelte a mano, dal momento che non possono fornire alcuna entropia aggiuntiva al sistema.
hero member
Activity: 708
Merit: 506
I support freedom of choice
Sono le chiavi private che controllano i bitcoin. Quindi ognuna delle 2^96 chiavi private permette di spendere i bitcoin dello stesso indirizzo. Un indirizzo non è altro che l'hash di una chiave (privata->pubblica->hash).

Poichè la corrispondenza chiave privata - chiave pubblica è biunivoca, puoi pensare a un indirizzo come all'hash di una chiave privata (anche se non è così). Le chiave private sono lunghe 256 bit, mentre i loro hash (indirizzi) sono solo 160 bit. Quindi le chiavi private sono molte di più degli indirizzi.

molto chiaro.
legendary
Activity: 1914
Merit: 2071
Sono le chiavi private che controllano i bitcoin. Quindi ognuna delle 2^96 chiavi private permette di spendere i bitcoin dello stesso indirizzo. Un indirizzo non è altro che l'hash di una chiave (privata->pubblica->hash).

Poichè la corrispondenza chiave privata - chiave pubblica è biunivoca, puoi pensare a un indirizzo come all'hash di una chiave privata (anche se non è così). Le chiave private sono lunghe 256 bit, mentre i loro hash (indirizzi) sono solo 160 bit. Quindi le chiavi private sono molte di più degli indirizzi.
hero member
Activity: 708
Merit: 506
I support freedom of choice
Ci sono circa 2^256 chiavi private distinte, e 2^160 indirizzi. Quindi ci dovrebbero essere ben 2^96 chiavi private distinte che controllano lo stesso indirizzo. Ma questo non modifica la probabilità di avere una collisione.

Diciamo che ci sono al momento 2^24 indirizzi con bitcoin (qualche milione).

Se ci fosse una sola chiave privata per ogni indirizzo la probabilità di generare a caso una chiave privata corrispondente a un indirizzo contenente già dei bitcoin sarebbe 2^24/2^160 ovvero 1 su 2^136.

Ma anche nel caso reale, pur essendoci 2^96 chiavi private per indirizzo, la probabilità di una collisione non cambierebbe, in quanto bisogna moltiplicare per 2^96 sia il numeratore che il denominatore della stessa frazione. Infatti ci sono 2^24 indirizzi con bitcoin controllati da un totale di 2^24*2^96 chiave private distinte, su 2^160*2^96 chiavi possibili.



ma chi controlla i nostri bitcoin: la chiave privata oppure gli indirizzi bitcoin? Ovvero tutte 2^96 chiavi private corrispondenti a un certo indirizzo bitcoin controllano tutte lo stesso portafoglio? In pratica posso firmare la transazione con una qualsiasi delle 2^96 chiavi?
legendary
Activity: 1914
Merit: 2071
Ci sono circa 2^256 chiavi private distinte, e 2^160 indirizzi. Quindi ci dovrebbero essere ben 2^96 chiavi private distinte che controllano lo stesso indirizzo. Ma questo non modifica la probabilità di avere una collisione.

Diciamo che ci sono al momento 2^24 indirizzi con bitcoin (qualche milione).

Se ci fosse una sola chiave privata per ogni indirizzo la probabilità di generare a caso una chiave privata corrispondente a un indirizzo contenente già dei bitcoin sarebbe 2^24/2^160 ovvero 1 su 2^136.

Ma anche nel caso reale, pur essendoci 2^96 chiavi private per indirizzo, la probabilità di una collisione non cambierebbe, in quanto bisogna moltiplicare per 2^96 sia il numeratore che il denominatore della stessa frazione. Infatti ci sono 2^24 indirizzi con bitcoin controllati da un totale di 2^24*2^96 chiave private distinte, su 2^160*2^96 chiavi possibili.

hero member
Activity: 708
Merit: 506
I support freedom of choice
Se una chiave privata porta ad un address che è stato usato credo tu possa spendere i fondi anche se le chiavi private non coincidono. A naso mi sembra possibile che due chiavi private differenti generino lo stesso address (mi pare che la cardinalità degli indirizzi sia minore di quella delle chiavi private), tuttavia si dice che la collisione sia astronomicamente improbabile.
Nel generare la chiave privata va controllato che sia anche valida in quanto il numero primo è leggermente inferiore a 2^256 quindi in caso si scelga una chiave maggiore di P va rigenerata.
Da qualche parte nel forum se ne parlava ...

Grazie.
legendary
Activity: 2506
Merit: 1120
ma non c'è un controllo che la chiave sia già usata così  Shocked

A parte che non c'è mai un simile controllo da parte di nessun software ma se per caso ci fosse una "collisione" allora avresti i soldi di un'altra persona e puoi spenderli. Quindi a questo punto la domanda è: "è possibile avere i soldi di un'altra persona?"

La risposta è negativa, non è possibile o comunque non è umanamente possibile. Le probabilità di generare un indirizzo bitcoin già presente nella blockchain sono così ridotte che è meglio lasciare perdere. Direi di più. Anche se ci si mette a generare indirizzi bitcoin a manetta non si troverà mai alcun indirizzo già presente nella blockchain. Questo perché le chiavi private generabili sono troppe. È una questione di numero di combinazioni.

Edit. Non penso che una collisione dell'hash permetta di spendere i soldi di un uguale indirizzo bitcoin corrispondente a due chiavi private diverse. Non so bene la teoria ma mi pare che venga fatto un hash della chiave privata e che quindi non ci sia corrispondenza biunivoca tra chiave privata e pubblica. Per cui in caso di collisione dell'hash ci sono due chiavi private e un solo indirizzo bitcoin.

Se è così allora per spendere i soldi occorre avere proprio la stessa chiave privata di un'altra persona: giusto? (lo chiedo ai più esperti).
Se una chiave privata porta ad un address che è stato usato credo tu possa spendere i fondi anche se le chiavi private non coincidono. A naso mi sembra possibile che due chiavi private differenti generino lo stesso address (mi pare che la cardinalità degli indirizzi sia minore di quella delle chiavi private), tuttavia si dice che la collisione sia astronomicamente improbabile.
Nel generare la chiave privata va controllato che sia anche valida in quanto il numero primo è leggermente inferiore a 2^256 quindi in caso si scelga una chiave maggiore di P va rigenerata.
Da qualche parte nel forum se ne parlava ...
hero member
Activity: 708
Merit: 506
I support freedom of choice
ma non c'è un controllo che la chiave sia già usata così  Shocked

A parte che non c'è mai un simile controllo da parte di nessun software ma se per caso ci fosse una "collisione" allora avresti i soldi di un'altra persona e puoi spenderli. Quindi a questo punto la domanda è: "è possibile avere i soldi di un'altra persona?"

La risposta è negativa, non è possibile o comunque non è umanamente possibile. Le probabilità di generare un indirizzo bitcoin già presente nella blockchain sono così ridotte che è meglio lasciare perdere. Direi di più. Anche se ci si mette a generare indirizzi bitcoin a manetta non si troverà mai alcun indirizzo già presente nella blockchain. Questo perché le chiavi private generabili sono troppe. È una questione di numero di combinazioni.

Edit. Non penso che una collisione dell'hash permetta di spendere i soldi di un uguale indirizzo bitcoin corrispondente a due chiavi private diverse. Non so bene la teoria ma mi pare che venga fatto un hash della chiave privata e che quindi non ci sia corrispondenza biunivoca tra chiave privata e pubblica. Per cui in caso di collisione dell'hash ci sono due chiavi private e un solo indirizzo bitcoin.

Se è così allora per spendere i soldi occorre avere proprio la stessa chiave privata di un'altra persona: giusto? (lo chiedo ai più esperti).
legendary
Activity: 3724
Merit: 1738
Join the world-leading crypto sportsbook NOW!
ma non c'è un controllo che la chiave sia già usata così  Shocked

Basta che prima di inviare fondi all'indirizzo lo inserisci in una query di un qualsiasi block explorer
member
Activity: 430
Merit: 22
Professional user
ma non c'è un controllo che la chiave sia già usata così  Shocked
hero member
Activity: 708
Merit: 506
I support freedom of choice

Nel caso del dado da 20, se esce 17, 18, 19 o 20, semplicemente ritirate il dado in attesa di un numero compreso tra 1 e 16


Non è difficile fare una conversione da una base all'altra, non occore certo un computer ma basta una calcolatrice che fino a prova contraria è a prova di hacker, basta usare una calcolatrice da qualche euro che fa solo le 4 operazioni elementari, quelle che vendono dentro i fustini del detersivo. Oppure una scientifica e dopo l'uso è bene togliere le batterie.

In questo caso basta un dado a 6 facce, una calcolatrice e carta e penna.
Penso che il procedimento sia quello di convertire il numero che esce dai dadi (6 facce) in un numero decimale:

Esempio dei dadi tirati: 5, 4, 1, 6, 4, 5, 2, 3
Fanno in decimale: 4*6^0+3*6^1+0*6^2+5*6^3+3*6^4+4*6^5+1*6^6+2*6^7
642622

che in base 16 fa il numero:
9CE3E

per fare questa conversione basta dividere per 16 e trovare il resto:
642622:16=40163 resto 14 (E)
40163:16=2510 resto 3
2510:16=156 resto 14 (E)
156:16=9 resto 12 (C)
9:16=0 resto 9

quindi leggendo al contrario fa il numero 9CE3E. È il caso di scartare la cifra più significativa (il nove) in quanto non ha tutta l'entropia possibile quasi sicuramente.
legendary
Activity: 3528
Merit: 4042
procedura divertente Smiley ma io te la tiro li piu efficace

usi un D12 e un D4 e ottieni da 2 a 16, non so come puoi fare ad ottenere 1 ma si puo fare che
- numero pari di volte che esce 2, consideri 2
- numero dispari di volte che esce 2, consideri 1
legendary
Activity: 3724
Merit: 1738
Join the world-leading crypto sportsbook NOW!
Le chiavi private sono il nostro accesso univoco e segreto ai Bitcoin, e quindi è importantissimo che vengano generate in maniera sicura, trasparente e verificabile.

Tutti i dispositivi elettronici che generano chiavi private sono abbastanza difficili da verificare per un utente comune (essere sicuri che agiscano in maniera trasparente e non truccata). C'è un modo molto semplice, che si può imparare in 5 minuti, per generare chiavi private, accessibile anche ai meno esperti.

Serve un dado che abbia almeno 16 facce (difficile da reperire, io trovo sempre quelli con 20 facce nei negozi di giochi in scatola), carta e penna.

Prendete il dado, tiratelo 64 volte, e ogni volta segnatevi il numero che esce su foglio.

Questi numeri segnateli uguali al dado: 1 2 3 4 5 6 7 8 9

Questi numeri segnateli in questo modo: 10 a - 11 b - 12 c - 13 d - 14 e - 15 f - 16 0

Nel caso del dado da 20, se esce 17, 18, 19 o 20, semplicemente ritirate il dado in attesa di un numero compreso tra 1 e 16


Avete già tra le mani una chiave privata generata in maniera completamente trasparente, scritta in esadecimale!

Le chiavi private bitcoin sono delle stringe a 256 bit, voi avete "solamente" 64 caratteri perché il dado vi "parla" in esadecimale, e voi così trascrivete su foglio.

Sono povero, non ho 1€ per comprare un dado e voglio comunque generare la chiave privata da solo

Potresti usare un dado a 6 facce che magari hai già a casa, te lo sconsiglio perché convertire la base 6 in base 16 per rendere più "portatile" la chiave è solo una seccatura.

Ma se hai davvero tanto tempo, puoi prendere una moneta e tirarla 256 volte segnandoti su un foglio ogni volta 1 o 0 in caso di testa o croce

Hai in mano quindi i 256 bit (256 caratteri tra 1 o 0) per avere una chiave privata generata manualmente, se vuoi renderla "portatile" puoi convertirla abbastanza facilmente in esadecimale.


Ma come faccio ad usare questa chiave privata?


USB Live di ubuntu, scaricatevi bitaddress da bitaddress.org, staccate il cavo di rete, andate sulla tab "Wallet details" e inserite i 64 caratteri esadecimali, vi apparirà la vostra chiave pubblica.

Nota 1: Avete solo una copia in mano della vostra chiave privata, in chiaro e non crittata, su un pezzo di carta.

Nota 2: Ma bitaddress.org non potrebbe essere corrotto, generando un indirizzo bitcoin falso, che corrisponde ad un altra chiave privata, od è in qualche maniera "deterministico"?

Quote
Potrebbe, quindi dovete fare un test a doppio cieco

Tenete acceso il PC con la USB live di ubuntu, staccato dalla rete. Aprite Bitaddress e dategli in pasto un esadecimale di prova, annotatevi l'indirizzo che vi appare

Prendete il vostro cellulare/tablet/tostapane con un browser javascript (Idealmente con hardware, quindi CPU, ecc... di un produttore diverso del vostro PC), aprite bitaddress.org o un altro tool equivalente di vostra fiducia, e inserite lo stesso esadecimale di prova. Se l'indirizzo coincide con il PC di prima, siete in una botte di ferro.


Nota 3: Quel dado da 20 facce tiratelo bene e su un tavolo ampio e piano, in modo da non ridurre l'entropia  Grin

Nota 4: Se su bitaddress inserite in maniera errata la chiave privata, e poi inviate dei bitcoin sopra senza accorgervi dell'errore, avete perso tutto.
Jump to: