Author

Topic: Paper wallet per bitcoin e varie alt (Read 3408 times)

legendary
Activity: 1932
Merit: 2077
December 08, 2017, 06:54:17 AM
#39
curiosita': ecco il saldo dell'indirizzo   che corrisponde alla chiave privata 0 (e compress e uncompress sono uguali)

1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh  BTC 3.70979528

questi bitcoin NON POTRANNO MAI essere prelevati, per come funziona ECDSA

evitate la pessima idea di usare zero come chiave privata.


Qualcuno ha tentato di prelevarli senza riuscirci:

https://blockchain.info/it/address/1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh

https://blockexplorer.com/address/1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh

legendary
Activity: 3276
Merit: 2898
January 14, 2016, 10:12:55 AM
#38
arulbero la preoccupazione di bittaitaliana è che scarico uno di quei generatori, lo uso interamente offline, ricavando la privare key tutto offline, ma il file del generatore sia manomesso, in modo che generi per esempio a rotazione 100.000 indirizzi, di cui , chi lo ha creato, ha la priv key di tutti e 100.000 .

Come si fa a verificare che invece quei generatori che ho riportato nel primo post, siano del tutto casuali e chi li ha creati non può avere la minima possibilità di avere le priv key?

Ci sono dei test per stabilire quanto casuale sia una certa sequenza, ma ricadremmo nel problema di essere sicuri che il tool che implementa questo controllo funzioni a dovere (oltre al fatto che personalmente non saprei come fare, insomma bisognerebbe studiarci su un bel po')

La soluzione più pulita per te è quella che ti ha indicato corsaro, ovvero scarichi Bitcoin Core e lo installi su un pc offline.

Ho letto qui -> https://bitcointalksearch.org/topic/secp256k1-power-sidechannels-1319848
che la prossima versione di Bitcoin Core, la 0.12, utilizzerà la libreria libsecp256k1 al posto di OpenSSL. Questa nuova libreria, oltre a essere molto più efficiente per quanto riguarda la verifica delle firme, dovrebbe essere anche più sicura contro il "side-channel attack".

Non ho capito bene in cosa consiste questo tipo di attacco: può essere fatto solo contro i wallet fisici (tipo Trezor)? Si va a cercare una qualche falla nell'entropia del dispositivo elettronico da cui attinge l'algoritmo di generazione dei numeri pseudo casuali? Ma l'algoritmo di per sè è sempre lo stesso? Oppure nella generazione attuale delle chiavi private di Bitcoin Core 0.11.2 c'è una qualche vulnerabilità?

Mi piacerebbe capire insomma se gli eventuali problemi riguardano solo la macchina fisica su cui gira Bitcoin Core o l'algoritmo in sè.

gli attacchi side-channel sono attacchi che usano informazioni indirette per cercare di arrivare a deduzioni sul come bucare un sistema di criptazione.

Nella pratica, per OpenSSl so che sono stati fatti molti studi negli anni su come creare dei processi "spia" per monitorare l'utilizzo delle risorse CPU e cache,
e da statistiche su questi utilizzi "derivare" in che modo venivano generate chiavi private.

Questo pero' vuol dire che sul tuo pc privato, uno fa molto prima a montarti uno spyware che spia le chiavi, piuttosto che uno programma
complicatissimo che attraverso deduzioni assurde e indirette cerca di arrivare a che chiavi hai generato Smiley

discorso diverso su un ambiente multitasking dove tu spii indirettmente cosa fanno gli altri user, ma direi che per i wallet privati
quasi nessuno e' in questa condizione.

Inoltre io  su queste affermazioni ci farei sempre la tara: openssl e' sotto gli occhi di tutti (nel bene e nel male) da tanti anni, questo vuol dire che
tanti avranno provato a bucarla, a trovare punti deboli ecc. e quasto vuol anche dire che per forza ogni tanto emerge qualche nuovo bug.

Il fatto che una libreria nuova sia PER FORZA superiore in sicurezza e' tutto da dimostrare, ossia essendo nuova, e' ovvio che per ora ha passato
molti meno test e stress della buona vecchia openssl...


legendary
Activity: 1932
Merit: 2077
January 14, 2016, 09:17:59 AM
#37
arulbero la preoccupazione di bittaitaliana è che scarico uno di quei generatori, lo uso interamente offline, ricavando la privare key tutto offline, ma il file del generatore sia manomesso, in modo che generi per esempio a rotazione 100.000 indirizzi, di cui , chi lo ha creato, ha la priv key di tutti e 100.000 .

Come si fa a verificare che invece quei generatori che ho riportato nel primo post, siano del tutto casuali e chi li ha creati non può avere la minima possibilità di avere le priv key?

Ci sono dei test per stabilire quanto casuale sia una certa sequenza, ma ricadremmo nel problema di essere sicuri che il tool che implementa questo controllo funzioni a dovere (oltre al fatto che personalmente non saprei come fare, insomma bisognerebbe studiarci su un bel po')

La soluzione più pulita per te è quella che ti ha indicato corsaro, ovvero scarichi Bitcoin Core e lo installi su un pc offline.

Ho letto qui -> https://bitcointalksearch.org/topic/secp256k1-power-sidechannels-1319848
che la prossima versione di Bitcoin Core, la 0.12, utilizzerà la libreria libsecp256k1 al posto di OpenSSL. Questa nuova libreria, oltre a essere molto più efficiente per quanto riguarda la verifica delle firme, dovrebbe essere anche più sicura contro il "side-channel attack".

Non ho capito bene in cosa consiste questo tipo di attacco: può essere fatto solo contro i wallet fisici (tipo Trezor)? Si va a cercare una qualche falla nell'entropia del dispositivo elettronico da cui attinge l'algoritmo di generazione dei numeri pseudo casuali? Ma l'algoritmo di per sè è sempre lo stesso? Oppure nella generazione attuale delle chiavi private di Bitcoin Core 0.11.2 c'è una qualche vulnerabilità?

Mi piacerebbe capire insomma se gli eventuali problemi riguardano solo la macchina fisica su cui gira Bitcoin Core o l'algoritmo in sè.
legendary
Activity: 1400
Merit: 1000
January 14, 2016, 07:15:11 AM
#36
Si potrebbe anche stampare un foglio di carta o cartoncino e poi farlo plastificare, per essere sicuri che non ci siano poi problemi

non lo so che tipo di reazione, negli anni, potrebbe avvenire fra plastica e toner.

Io credo la cosa migliore da fare (almeno quello che facico io) sia di stamparsi almeno 3 copie di ogni paper wallet, usando la migliore carta di cellulosa trovata presso i rivenditori di cancelleria. Credo la fabriano multipaper da 100 grammi sia una delle migliori.
hero member
Activity: 1176
Merit: 500
January 14, 2016, 04:06:20 AM
#35
Si potrebbe anche stampare un foglio di carta o cartoncino e poi farlo plastificare, per essere sicuri che non ci siano poi problemi
legendary
Activity: 1400
Merit: 1000
January 13, 2016, 02:39:50 PM
#34
Aggiungo qualche riflessione:
- splittare su piu' address magari generati con sistemi differenti in modo che eventuali problemi su sw A magari non sono presenti nel sw B e parte dell'investimento lo si mantiene
- fare attenzione alla carta ... siamo sicuri che tra qualche anno sarà ancora leggibile correttamente? Quanti anni dura una stampa fatta con stampante laser?

un foglio di carta stampato con una laser, dura almeno mezzo secolo e forse più. Se la qualità non è buona ingiallisce. La carta inoltre hanno un piccolo nemico, i tarli.
va conservata in ambienti asciutti e puliti, al riparo dalla luce.

Poi tutto dipende dalla carta. La cellulosa di buona qualità dura di più di quella scadente ed economica.
La migliore carta è quella di cotone, usata dagli artisti. La carta di cotone si trova facilmente in commercio.
legendary
Activity: 2506
Merit: 1120
January 13, 2016, 01:57:10 PM
#33
Aggiungo qualche riflessione:
- splittare su piu' address magari generati con sistemi differenti in modo che eventuali problemi su sw A magari non sono presenti nel sw B e parte dell'investimento lo si mantiene
- fare attenzione alla carta ... siamo sicuri che tra qualche anno sarà ancora leggibile correttamente? Quanti anni dura una stampa fatta con stampante laser?
legendary
Activity: 1526
Merit: 1000
January 13, 2016, 10:54:02 AM
#32
Perfetto allora, ringrazio tutti per le info, per non correre rischi, come faccio anche in altri campi, uso tutte le opzioni possibili, ovvero un paper wallet da quei siti, uno con bitcoin core, ecc  Grin
legendary
Activity: 1932
Merit: 2077
January 13, 2016, 10:06:06 AM
#31
Ragazzi non ci sto quasi capendo più una randa, siete troppo tecnici  Grin

arulbero la preoccupazione di bittaitaliana è che scarico uno di quei generatori, lo uso interamente offline, ricavando la privare key tutto offline, ma il file del generatore sia manomesso, in modo che generi per esempio a rotazione 100.000 indirizzi, di cui , chi lo ha creato, ha la priv key di tutti e 100.000 .

Come si fa a verificare che invece quei generatori che ho riportato nel primo post, siano del tutto casuali e chi li ha creati non può avere la minima possibilità di avere le priv key?

Ci sono dei test per stabilire quanto casuale sia una certa sequenza, ma ricadremmo nel problema di essere sicuri che il tool che implementa questo controllo funzioni a dovere (oltre al fatto che personalmente non saprei come fare, insomma bisognerebbe studiarci su un bel po')

La soluzione più pulita per te è quella che ti ha indicato corsaro, ovvero scarichi Bitcoin Core e lo installi su un pc offline.
Quindi generi dei nuovi indirizzi e le relative chiavi offline (ovviamente ti fidi del fatto che almeno Core funzioni correttamente; se così non fosse comunque, visto che è il client di gran lunga più diffuso, se le sue chiavi private fossero generate in modo non sicuro ci sarebbe un effetto domino negativo anche sul valore dei bitcoin conservati in indirizzi "sicuri" generati da altri software).

Se vuoi stamparti anche un qr-code, c'è un programmino apposta che, sempre offline, traduce le stringhe di caratteri in un'immagine: di fatto ti costruisci un paper wallet a mano sicuro quanto lo è l'implementazione di Bitcoin Core della funzione di generazione random della chiave privata.

 
legendary
Activity: 2450
Merit: 1008
January 13, 2016, 09:27:12 AM
#30
Come si fa a verificare che invece quei generatori che ho riportato nel primo post, siano del tutto casuali e chi li ha creati non può avere la minima possibilità di avere le priv key?
Si suppone che del codice pubblicato su GitHub sia sottoposto a un numero sufficiente di occhi attenti e scrupolosi da fare in modo che del codice malevolo non sia incluso.

Chiaramente nessuna certezza.
legendary
Activity: 3276
Merit: 2898
January 13, 2016, 08:27:23 AM
#29
Ragazzi non ci sto quasi capendo più una randa, siete troppo tecnici  Grin

arulbero la preoccupazione di bittaitaliana è che scarico uno di quei generatori, lo uso interamente offline, ricavando la privare key tutto offline, ma il file del generatore sia manomesso, in modo che generi per esempio a rotazione 100.000 indirizzi, di cui , chi lo ha creato, ha la priv key di tutti e 100.000 .

Come si fa a verificare che invece quei generatori che ho riportato nel primo post, siano del tutto casuali e chi li ha creati non può avere la minima possibilità di avere le priv key?


al 100% non puoi essere certo di nulla... ma non nel campo bitcoin... propio in generale.

se sei abbastanza paranoico, puoi anche suppore che i parametri selezionati da SECG per secp256k1
contengono in realta' una bakcdoor, ossia un particolare ECDLP che su quella curva e' subesponenziale...

quindi vivi tranquillo e non farti troppe paranoie.


legendary
Activity: 1526
Merit: 1000
January 13, 2016, 08:07:15 AM
#28
Ragazzi non ci sto quasi capendo più una randa, siete troppo tecnici  Grin

arulbero la preoccupazione di bittaitaliana è che scarico uno di quei generatori, lo uso interamente offline, ricavando la privare key tutto offline, ma il file del generatore sia manomesso, in modo che generi per esempio a rotazione 100.000 indirizzi, di cui , chi lo ha creato, ha la priv key di tutti e 100.000 .

Come si fa a verificare che invece quei generatori che ho riportato nel primo post, siano del tutto casuali e chi li ha creati non può avere la minima possibilità di avere le priv key?
legendary
Activity: 2506
Merit: 1120
January 13, 2016, 07:33:08 AM
#27
curiosita': ecco il saldo dell'indirizzo   che corrisponde alla chiave privata 0 (e compress e uncompress sono uguali)

1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh  BTC 3.70979528

questi bitcoin NON POTRANNO MAI essere prelevati, per come funziona ECDSA

evitate la pessima idea di usare zero come chiave privata.


e come mai continua a ricevere pagamenti quell'indirizzo, se non può essere usato ? non è possibile che un indirizzo abbia più chiavi private?

Sì, è possibile, poichè la matematica garantisce solo che due chiavi private distinte producano due chiavi pubbliche distinte. Ma tra chiave pubblica e indirizzo ci sono delle trasformazioni (SHA256) che potrebbero portare a delle collisioni.

Comunque in questo caso è molto più probabile che qualcuno abbia avuto la felice idea di generarsi l'indirizzo proprio a partire dalla chiave privata 0 e lì abbia inviato i suoi bitcoin.
Facendo riferimento a
http://gobittest.appspot.com/Address
Aggiungo che:
Il passaggio 3 calcola RIPEMD-160 Hash of 2 di un hash 256 e genera una sequenza di 160 bit, da qui' in poi l'indirizzo e' determinato. Visto che 160 < 256 la cardinalità degli indirizzi BTC è minore di quella delle chiavi e quindi la funzione non puo' essere iniettiva. Ci possono essere più chiavi con lo stesso address.
legendary
Activity: 3276
Merit: 2898
January 13, 2016, 07:21:25 AM
#26


e come mai continua a ricevere pagamenti quell'indirizzo, se non può essere usato ? non è possibile che un indirizzo abbia più chiavi private?

https://en.bitcoin.it/wiki/Proof_of_burn
legendary
Activity: 1932
Merit: 2077
January 13, 2016, 06:45:30 AM
#25
curiosita': ecco il saldo dell'indirizzo   che corrisponde alla chiave privata 0 (e compress e uncompress sono uguali)

1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh  BTC 3.70979528

questi bitcoin NON POTRANNO MAI essere prelevati, per come funziona ECDSA

evitate la pessima idea di usare zero come chiave privata.


e come mai continua a ricevere pagamenti quell'indirizzo, se non può essere usato ? non è possibile che un indirizzo abbia più chiavi private?

Sì, è possibile, poichè la matematica garantisce solo che due chiavi private distinte producano due chiavi pubbliche distinte. Ma tra chiave pubblica e indirizzo ci sono delle trasformazioni (SHA256) che potrebbero portare a delle collisioni.

Comunque in questo caso è molto più probabile che qualcuno abbia avuto la felice idea di generarsi l'indirizzo proprio a partire dalla chiave privata 0 e lì abbia inviato i suoi bitcoin.
legendary
Activity: 2450
Merit: 1008
January 13, 2016, 06:45:07 AM
#24
evitate la pessima idea di usare zero come chiave privata.
Potrebbe essere un modo per distruggere bitcoin. Esistono applicazioni che prevedono la distruzione di un certo ammontare di bitcoin.

Ciao!
hero member
Activity: 1176
Merit: 500
January 13, 2016, 06:40:00 AM
#23
curiosita': ecco il saldo dell'indirizzo   che corrisponde alla chiave privata 0 (e compress e uncompress sono uguali)

1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh  BTC 3.70979528

questi bitcoin NON POTRANNO MAI essere prelevati, per come funziona ECDSA

evitate la pessima idea di usare zero come chiave privata.


e come mai continua a ricevere pagamenti quell'indirizzo, se non può essere usato ? non è possibile che un indirizzo abbia più chiavi private?
legendary
Activity: 2506
Merit: 1120
January 13, 2016, 06:37:40 AM
#22
Incomincio a chiarirmi le idee ...
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBF25E8CD0364141=~(1.158 * 10^77)
Ma ogni volta che capisco qualcosa scopro di non sapere altre 10 Smiley
Ora cerco di capire meglio
...
Nel caso del Bitcoin, l'ordine della curva n* (cioè il numero di volte diverse - di scalari possibili - per cui puoi moltiplicare il punto base G per ottenere un punto A diverso della curva) è poco meno di 2^256. Ogni scalare k in questione (tra 0 1 e n-1 ci sono n-1 possibilità diverse) è una chiave privata, mentre il punto A = k*G della curva che si ottiene mediante la moltiplicazione del punto base della curva proprio per k è la chiave pubblica corrispondente a quella chiave privata.

Quindi in definitiva ogni scalare lo puoi rappresentare con una sequenza di 256 bit, ma non tutti le sequenze di 256 bit rappresentano uno scalare valido (non vanno bene quelle che corrispondono a un numero compreso tra n e 2^256); vanno bene insomma solo quelli che corrispondono a un numero tra 0 1 e n-1.
...
legendary
Activity: 3276
Merit: 2898
January 13, 2016, 06:35:54 AM
#21
curiosita': ecco il saldo dell'indirizzo   che corrisponde alla chiave privata 0 (e compress e uncompress sono uguali)

1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh  BTC 3.70979528

questi bitcoin NON POTRANNO MAI essere prelevati, per come funziona ECDSA

evitate la pessima idea di usare zero come chiave privata.
legendary
Activity: 2450
Merit: 1008
January 13, 2016, 06:23:53 AM
#20
Non per fare il rompicoglioni, ma il numero deve essere maggiore di zero
Hai ragione, ho un pelo semplificato ma l'obiezione è corretta. Sistemo sopra.
legendary
Activity: 1932
Merit: 2077
January 13, 2016, 06:23:41 AM
#19

Il mio inglese fa acqua da tutte le parti ... pertanto ...
Non capisco come da un numero di 256 bit si possa generare un numero non minore di n-1, a quanto vedo io si possono escludere solo la sequenza di tutti "0" (>=1) e quella di tutti "1" (<(n-1)).
Ho capito bene o mi sfugge qualcosa?

Con 256 bit tu puoi rappresentare (in base 2, formato binario) tutti i numeri che vanno da 0 compreso a 2^256-1.

Ad esempio, con 3 bit puoi formare tutti i numeri da 0 a 2^3 - 1 (cioè da 0 a 7 compreso):

000  --> 0
001  --> 1
010  --> 2
011  --> 3
100  --> 4
101 -->  5
110 -->  6
111 -->  7

Nel caso del Bitcoin, l'ordine della curva n* (cioè il numero di volte diverse - di scalari possibili - per cui puoi moltiplicare il punto base G per ottenere un punto A diverso della curva) è poco meno di 2^256. Ogni scalare k in questione (tra 0 1 e n-1 ci sono n-1 possibilità diverse) è una chiave privata, mentre il punto A = k*G della curva che si ottiene mediante la moltiplicazione del punto base della curva proprio per k è la chiave pubblica corrispondente a quella chiave privata.

Quindi in definitiva ogni scalare lo puoi rappresentare con una sequenza di 256 bit, ma non tutte le sequenze di 256 bit rappresentano uno scalare valido (non vanno bene quelle che corrispondono a un numero compreso tra n e 2^256); vanno bene insomma solo quelli che corrispondono a un numero tra 0 1 e n-1.

*EDIT: n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141  (in formato esadecimale) come ha scritto gbianchi

n=115792089237316195423570985008687907852837564279074904382605163141518161494337 (in formato decimale)

*EDIT2 : ovviamente come riportato dai colleghi del forum il caso k=0 va escluso
legendary
Activity: 3276
Merit: 2898
January 13, 2016, 06:20:41 AM
#18
Non capisco come da un numero di 256 bit si possa generare un numero non minore di n-1
No, è il contrario: deve essere minore di n-1. n-1 è un numero appena appena più piccolo di 2^256.

La strada normalmente usata è questa:

0) si genera un valore tramite una "fonte di casualità" (movimento del mouse, ecc.)
1) si fa l'hash tramite algoritmo SHA256 di questo valore (il che genera proprio un numero a 256 bit)
2) se questo numero è minore di n-1 allora è fatta, altrimenti si ricomincia

Ciao!

Non per fare il rompicoglioni, ma il numero deve essere maggiore di zero e minore dell'ordine di ecp256k1

che e' FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
legendary
Activity: 2506
Merit: 1120
January 13, 2016, 06:19:02 AM
#17
Non capisco come da un numero di 256 bit si possa generare un numero non minore di n-1
No, è il contrario: deve essere minore di n-1. n-1 è un numero appena appena più piccolo di 2^256.

La strada normalmente usata è questa:

0) si genera un valore tramite una "fonte di casualità" (movimento del mouse, ecc.)
1) si fa l'hash tramite algoritmo SHA256 di questo valore (il che genera proprio un numero a 256 bit)
2) se questo numero è minore di n-1 allora è fatta, altrimenti si ricomincia

Ciao!
La mia frase e' contorta ma diciamo la stessa cosa. Il dubbio è, come puo' essere una sequenza "non minore di", ossia: il passo 2 falisce (devo rifare) solo se sono tutti 1.
EDIT: esempio 111(base 2) = 7 = 2^3-1
EDIT2: risolto, n != 2^256 ma un numero più piccolo ...
legendary
Activity: 2450
Merit: 1008
January 13, 2016, 05:59:01 AM
#16
Non capisco come da un numero di 256 bit si possa generare un numero non minore di n-1
No, è il contrario: deve essere minore di n-1. n-1 è un numero appena appena più piccolo di 2^256.

La strada normalmente usata è questa:

0) si genera un valore tramite una "fonte di casualità" (movimento del mouse, ecc.)
1) si fa l'hash tramite algoritmo SHA256 di questo valore (il che genera proprio un numero a 256 bit)
2) se questo numero è minore di n-1 e maggiore di 0 allora è fatta, altrimenti si ricomincia

Ciao!
legendary
Activity: 2506
Merit: 1120
January 13, 2016, 05:09:54 AM
#15
...
Riporto da Mastering Bitcoin:

The first and most important step in generating keys is to find a secure source of entropy, or randomness. Creating a bitcoin key is essentially the same as "Pick a number between 1 and 2^256." The exact method you use to pick that number does not matter as long as it is not predictable or repeatable. Bitcoin software uses the underlying operating system’s random number generators to produce 256 bits of entropy (randomness). Usually, the OS random number generator is initialized by a human source of randomness, which is why you may be asked to wiggle your mouse around for a few seconds. For the truly paranoid, nothing beats dice, pencil, and paper.

More accurately, the private key can be any number between 1 and n - 1, where n is a constant (n = 1.158 * 1077, slightly less than 2^256) defined as the order of the elliptic curve used in bitcoin. To create such a key, we randomly pick a 256-bit number and check that it is less than n - 1. In programming terms, this is usually achieved by feeding a larger string of random bits, collected from a cryptographically secure source of randomness, into the SHA256 hash algorithm that will conveniently produce a 256-bit number. If the result is less than n - 1, we have a suitable private key. Otherwise, we simply try again with another random number.
...
Il mio inglese fa acqua da tutte le parti ... pertanto ...
Non capisco come da un numero di 256 bit si possa generare un numero non minore di n-1, a quanto vedo io si possono escludere solo la sequenza di tutti "0" (>=1) e quella di tutti "1" (<(n-1)).
Ho capito bene o mi sfugge qualcosa?
legendary
Activity: 1932
Merit: 2077
January 13, 2016, 02:57:45 AM
#14
aruolbero perdonami, ma non ho afferrato
come fa una sequenza casuale di 256 numeri ad essere una private key? e come ci ricavo poi l'indirizzo ? Vale solo per i bitcoin o anche per le altre alt. Per la stampante non è un problema, uso una vecchia brother offline, senza wireless, attaccata solo a un vecchissimo pc che non ha mai visto internet in vita sua  Grin

Una chiave privata altro non è che una stringa di 256 bit, scelti nel modo più "casuale" possibile (e questa è la questione fondamentale e più delicata sulla quale si regge tutta la sicurezza del sistema Bitcoin).

Riporto da Mastering Bitcoin:

The first and most important step in generating keys is to find a secure source of entropy, or randomness. Creating a bitcoin key is essentially the same as "Pick a number between 1 and 2^256." The exact method you use to pick that number does not matter as long as it is not predictable or repeatable. Bitcoin software uses the underlying operating system’s random number generators to produce 256 bits of entropy (randomness). Usually, the OS random number generator is initialized by a human source of randomness, which is why you may be asked to wiggle your mouse around for a few seconds. For the truly paranoid, nothing beats dice, pencil, and paper.

More accurately, the private key can be any number between 1 and n - 1, where n is a constant (n = 1.158 * 1077, slightly less than 2^256) defined as the order of the elliptic curve used in bitcoin. To create such a key, we randomly pick a 256-bit number and check that it is less than n - 1. In programming terms, this is usually achieved by feeding a larger string of random bits, collected from a cryptographically secure source of randomness, into the SHA256 hash algorithm that will conveniently produce a 256-bit number. If the result is less than n - 1, we have a suitable private key. Otherwise, we simply try again with another random number.

Per ricavare poi da una chiave privata quella pubblica corrispondente e l'indirizzo associato, basta eseguire alcuni semplici step (è facile farselo da soli con uno script di poche righe). La procedura la trovi ben visualizzata ad esempio anche qui --> http://gobittest.appspot.com/Address dove bisogna inserire nel primo campo la chiave privata che si è generata nel formato esadecimale ( 64 simboli da 4 bit ciascuno -> tipo "1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD" ottenuti per semplice conversione da una stringa di 256 bit del tipo "0011010...").

C'è anche un thread dedicato all'argomento nella sezione internazionale https://bitcointalksearch.org/topic/how-to-create-a-bitcoin-receive-address-from-a-coin-flip-944596 con relativo tutorial passo passo.

questi progetti hanno il sorgente aperto e sono pubblicati su github. Bisognerebbe andarsi a leggere rigo per rigo il codice sorgente. In ogni caso vanno sempre lanciati offline.
Se uno non si fida dell'autore, puo' sempre generare indirizzi col bitcoin core e poi stampare le priv key da live cd su pc totalmente offline. Non è difficile.

Capire se un generatore di numeri pseudo casuali sia veramente buono o meno leggendone il codice è veramente difficile. La soluzione migliore, se vuoi comunque usare un software, è proprio quella di usare Bitcoin Core offline.

Se le preoccupazioni di bittaitaliana sono relative solo a ciò che succede subito dopo aver creato la chiave privata (evitare che qualcun altro da remoto ne venga immediatamente in possesso tramite Internet) allora il tuo ultimo consiglio è la soluzione migliore (qui il concetto chiave è rimanere offline)

Se invece le preoccupazioni di bittaitaliana si estendono anche alla sicurezza intrinseca (dal punto di vista probabilistico) della chiave privata che si va a generare, il metodo di cui ho discusso sopra è imbattibile (qui il concetto chiave è non utilizzare un software, cioè un algoritmo di generazione di numeri pseudo casuali).

Per quanto riguarda invece la questione della conservazione della chiave privata successiva alla sua creazione, in qualunque modo essa sia avvenuta, che il pezzo di carta (o paper wallet che dir si voglia) sia la soluzione più sicura invece è tutto da dimostrare (almeno secondo me).
legendary
Activity: 1400
Merit: 1000
January 13, 2016, 01:32:10 AM
#13
Corsaro mna da assoluto noob chiedo a te e ad altri, ma come si fa ad assicurarsi che questi generatori, non siano degli scam ? Cioè che alla fine hanno xx indirizzi che fanno uscire e di quegli indirizzi hanno le private key ?

Cmq se quello multiplo è valido, è davvero ottimo, aggiorno subito il thread

questi progetti hanno il sorgente aperto e sono pubblicati su github. Bisognerebbe andarsi a leggere rigo per rigo il codice sorgente. In ogni caso vanno sempre lanciati offline.
Se uno non si fida dell'autore, puo' sempre generare indirizzi col bitcoin core e poi stampare le priv key da live cd su pc totalmente offline. Non è difficile.
legendary
Activity: 1526
Merit: 1000
January 12, 2016, 06:51:02 PM
#12
aruolbero perdonami, ma non ho afferrato
come fa una sequenza casuale di 256 numeri ad essere una private key? e come ci ricavo poi l'indirizzo ? Vale solo per i bitcoin o anche per le altre alt. Per la stampante non è un problema, uso una vecchia brother offline, senza wireless, attaccata solo a un vecchissimo pc che non ha mai visto internet in vita sua  Grin
legendary
Activity: 1932
Merit: 2077
January 12, 2016, 06:15:52 PM
#11
Ho deciso di mettere al sicuro, solo su paper wallet stampati con una vecchia stampante offline, su un pc offline, sia dei bitcoin, che altre coin.
La mia paura è sempre quella di trovare un servizio che offra paperwallet ma poi non sia sicuro, quindi vi chiedo gentilmente se conoscete dei paper wallet sicuri (ovviamente da generare offline) di bitcoin, dogecoin, litecoin, dashcoin ed ethereum.

Non mi interessavo wallet, anche se sono sicuri al 110%, voglio solo paperwallet.
Danke

Corsaro mna da assoluto noob chiedo a te e ad altri, ma come si fa ad assicurarsi che questi generatori, non siano degli scam ? Cioè che alla fine hanno xx indirizzi che fanno uscire e di quegli indirizzi hanno le private key ?

Cmq se quello multiplo è valido, è davvero ottimo, aggiorno subito il thread

Provocazione:
per essere il più sicuro possibile non ti puoi fidare di software che generano private key.
Quindi genera a mano (lancio moneta/dado/estrazione numeri lotto) una sequenza di 256 numeri (0 e 1) e quella è la tua private key. Da quella ricavi l'indirizzo e invia lì tutti i bitcoin. Ovviamente segnati su un foglio (senza bisogno della stampante) la private key che hai generato, quel foglio sarà il tuo paperwallet.
legendary
Activity: 1526
Merit: 1000
January 12, 2016, 05:33:44 PM
#10
Corsaro mna da assoluto noob chiedo a te e ad altri, ma come si fa ad assicurarsi che questi generatori, non siano degli scam ? Cioè che alla fine hanno xx indirizzi che fanno uscire e di quegli indirizzi hanno le private key ?

Cmq se quello multiplo è valido, è davvero ottimo, aggiorno subito il thread
legendary
Activity: 1400
Merit: 1000
January 12, 2016, 11:58:13 AM
#9
Grazie Stemby, ho aggiornato il thread con quello per i doge e litecoin, se qualcuno ne conosce anche altri sempre per doge e litecoin mi fa sempre piacere.
Corsaro mesi fa mi avevi dato un link per i paper wallet degli eth, te lo ricordi ?

ps, mancano sempre i dash però


era questo, il link, bitta?

https://kvhnuke.github.io/etherwallet/


Questo tuo thread, bitta, sta cominciando a piacermi Wink

Grazie corsaro, è proprio quello che avevo usato all'inizio, non ricordavo il link, lo metto subito nel thread iniziale. Ora mancano solo quelli per i dash e poi siamo apposto  Grin

eccotelo qua...  Grin Grin

https://paper.dash.org/


quest'altro invece pare sia universale... fa un sacco di coin...
https://walletgenerator.net/?currency=dash#

legendary
Activity: 1526
Merit: 1000
January 12, 2016, 10:07:50 AM
#8
Grazie Stemby, ho aggiornato il thread con quello per i doge e litecoin, se qualcuno ne conosce anche altri sempre per doge e litecoin mi fa sempre piacere.
Corsaro mesi fa mi avevi dato un link per i paper wallet degli eth, te lo ricordi ?

ps, mancano sempre i dash però


era questo, il link, bitta?

https://kvhnuke.github.io/etherwallet/


Questo tuo thread, bitta, sta cominciando a piacermi Wink

Grazie corsaro, è proprio quello che avevo usato all'inizio, non ricordavo il link, lo metto subito nel thread iniziale. Ora mancano solo quelli per i dash e poi siamo apposto  Grin
legendary
Activity: 1400
Merit: 1000
January 12, 2016, 02:13:09 AM
#7
Grazie Stemby, ho aggiornato il thread con quello per i doge e litecoin, se qualcuno ne conosce anche altri sempre per doge e litecoin mi fa sempre piacere.
Corsaro mesi fa mi avevi dato un link per i paper wallet degli eth, te lo ricordi ?

ps, mancano sempre i dash però


era questo, il link, bitta?

https://kvhnuke.github.io/etherwallet/


Questo tuo thread, bitta, sta cominciando a piacermi Wink
legendary
Activity: 1526
Merit: 1000
January 09, 2016, 08:37:05 AM
#6
Grazie Stemby, ho aggiornato il thread con quello per i doge e litecoin, se qualcuno ne conosce anche altri sempre per doge e litecoin mi fa sempre piacere.
Corsaro mesi fa mi avevi dato un link per i paper wallet degli eth, te lo ricordi ?

ps, mancano sempre i dash però
legendary
Activity: 1400
Merit: 1000
January 09, 2016, 02:52:00 AM
#5
Quindi www.bitaddress.org è affidabile per i bitcoin, perfetto, lo metto in lista, e per i doge, litecoin e dash ?

https://bitcoinpaperwallet.com/

(non per dashcoin ed ethereum)

È uno dei fork di bitaddress.

Mi raccomando, scaricalo da GitHub e usalo offline.

Ciao!

si mi raccomanto: scaricate il file zip da github, https://github.com/cantonbecker/bitcoinpaperwallet scompattatelo e lanciate il sito in off line. E generate i paper wallet da li (non dal sito online). Inoltre se possibile stampate il tutto da un live CD OS COME ubuntu http://www.ubuntu.com/download/desktop
legendary
Activity: 2450
Merit: 1008
January 08, 2016, 01:02:54 PM
#4
Quindi www.bitaddress.org è affidabile per i bitcoin, perfetto, lo metto in lista, e per i doge, litecoin e dash ?

https://bitcoinpaperwallet.com/

(non per dashcoin ed ethereum)

È uno dei fork di bitaddress.

Mi raccomando, scaricalo da GitHub e usalo offline.

Ciao!
legendary
Activity: 1526
Merit: 1000
January 08, 2016, 12:01:20 PM
#3
Mi raccomando a fine lavoro stacca la stampante, smontala e nascondi i pezzi in varie parti del mondo  Grin

Bitaddress coi suoi vari fork non va più bene?

Anche da legendary, sei sempre un pirla alex  Grin

Quindi www.bitaddress.org è affidabile per i bitcoin, perfetto, lo metto in lista, e per i doge, litecoin e dash ?
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
January 08, 2016, 11:57:31 AM
#2
Mi raccomando a fine lavoro stacca la stampante, smontala e nascondi i pezzi in varie parti del mondo  Grin

Bitaddress coi suoi vari fork non va più bene?
legendary
Activity: 1526
Merit: 1000
January 08, 2016, 10:48:01 AM
#1
Ho deciso di mettere al sicuro, solo su paper wallet stampati con una vecchia stampante offline, su un pc offline, sia dei bitcoin, che altre coin.
La mia paura è sempre quella di trovare un servizio che offra paperwallet ma poi non sia sicuro, quindi vi chiedo gentilmente se conoscete dei paper wallet sicuri (ovviamente da generare offline) di bitcoin, dogecoin, litecoin, dashcoin ed ethereum.

Non mi interessavo wallet, anche se sono sicuri al 110%, voglio solo paperwallet.
Danke

Faccio una lista, per precauzione ne vorrei usare diversi per ogni singola moneta (anche perchè devo mettere al sicuro bitcoin anche non miei).

Per i bitcoin:

1: www.bitaddress.org
2: https://bitcoinpaperwallet.com/

dogecoin e litecoin

1: https://bitcoinpaperwallet.com/

ethereum

1. https://kvhnuke.github.io/etherwallet/

Dash

https://paper.dash.org/

MULTICOIN
https://walletgenerator.net/?currency=dash#




Jump to: