Pages:
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.
Pages:
Jump to: