Bitcoin Forum
May 10, 2024, 08:27:58 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 »  All
  Print  
Author Topic: BIP38 python problem  (Read 898 times)
larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 06, 2021, 02:18:07 AM
 #61


You can encrypt the wallet with AES256, encode the wallet in BASE64 using some easy-to-parse computer font such as Courier New or System (they must be monospaced so they can be perfectly read again using OCR), and then print out the characters onto a large number of sheets of paper. Then you save the AES key and IV as qrcodes. Store all materials in a confidential place such as inside a safe.

When you want to access the file again, read the papers in with a scanner, strip all whitespace and then decode the AES256 with the key and IV you have independently scanned. Requires a lot of paper, but it works.

At first glance the above method seems to sound doable and promising however, iit does have some issues. one of the main ones is that there is no way that any piece of ocr software can "perfectly read" the characters off of a printed page.

In short, if you preserve your data well, you might end up having to hand-type it in (or at least go through it with your own eyeball character by character to fix scanning errors) to restore the unencrypted version. Assuming you can do that and don't mind doing that then this method could possibly work.

1715372878
Hero Member
*
Offline Offline

Posts: 1715372878

View Profile Personal Message (Offline)

Ignore
1715372878
Reply with quote  #2

1715372878
Report to moderator
"This isn't the kind of software where we can leave so many unresolved bugs that we need a tracker for them." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715372878
Hero Member
*
Offline Offline

Posts: 1715372878

View Profile Personal Message (Offline)

Ignore
1715372878
Reply with quote  #2

1715372878
Report to moderator
LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16631


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
October 06, 2021, 09:05:17 AM
 #62

In short, if you preserve your data well, you might end up having to hand-type it in (or at least go through it with your own eyeball character by character to fix scanning errors) to restore the unencrypted version. Assuming you can do that and don't mind doing that then this method could possibly work.
If you're talking about several kB, that's going to be very annoying to do. At least add partial checksums per line or multiple lines.
Say this is your data (from random.org:
Code:
oKp30Otodg07mSc83Nxw
3EdM4CFypmOfSupspfcd
OO9LL0I4QEc4dx5HhdlQ
lXSDsvm17tzQNhlEwYH0
mJPcDPPE2pQaD4Q9oaBu
pFhODlJNXz8V8vAunpzn
xeRTGwg4c5jYCzLqDNJL
4eIzVtQGEUtBJzCyhGtx
q4Vw92cwd0PqsLj9sGff
Ip6y9986cNfkEg36OYs4
A simple md5sum per line would be:
Code:
43dbfbbc3fe9eecccc313b5ed4707bec  -
7d2f3295028a1dfb41df0c9e696d9d9b  -
b75dbc5c69502db35d76028643314996  -
24d8f8420aaf27e25d93787cd434a7b9  -
5833cf59445a9657c2da7088ae7a4119  -
5952f16a3f33d8c87e5846605cc95cac  -
6989ed58a32c2622dda4418eab730c65  -
844a3c31527f88588c3dd7f22ccdf883  -
c5dca4c2ee7ac2d7c0c1874d267a8b7a  -
32b5dc97587bd5e7e34f58f55f90353d  -
This makes it much faster to check where you have a reading error.

There might be but it seems like everything is gone online now. They want to let you do everything "online" through their website. I guess they hoping someone puts in their private key. Grin
There are also offline QR-code generators that replace a Bitcoin address by something else. And I wouldn't be surprised if some QR-readers do the same.

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 06, 2021, 01:46:22 PM
 #63


If you're talking about several kB, that's going to be very annoying to do. At least add partial checksums per line or multiple lines.

Yeah maybe! Although you seem to forget that my file is almost 90 kilobytes. Checksums is an additional overhead and software complexity that most people probably don't have the technical ability for. But I'm intrigued.

Quote
This makes it much faster to check where you have a reading error.

I wish I could test out this method but I'm skeptical that it's going to be worth the additional hassle and storage space being consumed. but I could be wrong. especially with a 90,000 character string that needs to be scanned in correctly!

Quote
A simple md5sum (https://en.wikipedia.org/wiki/Md5sum) per line would be:
Code:

43dbfbbc3fe9eecccc313b5ed4707bec  -
7d2f3295028a1dfb41df0c9e696d9d9b  -
b75dbc5c69502db35d76028643314996  -
24d8f8420aaf27e25d93787cd434a7b9  -
5833cf59445a9657c2da7088ae7a4119  -
5952f16a3f33d8c87e5846605cc95cac  -
6989ed58a32c2622dda4418eab730c65  -
844a3c31527f88588c3dd7f22ccdf883  -
c5dca4c2ee7ac2d7c0c1874d267a8b7a  -
32b5dc97587bd5e7e34f58f55f90353d  -


yeah I know about md5sum but do you think that's the best type of checksum to be using? It doesn't attempt to fix any errors and it's pretty huge.  Shocked I mean my 25 page file I could legit see it balooning to 40 pages after this fiasco!

LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16631


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
October 06, 2021, 02:47:01 PM
 #64

Although you seem to forget that my file is almost 90 kilobytes. Checksums is an additional overhead and software complexity that most people probably don't have the technical ability for. But I'm intrigued.
The beauty of using an "external" checksum is that you don't have to use it: you can still type all 90,000 characters manually, but if you make a mistake, using the checksum will make it easier to find where you went wrong.

Quote
I wish I could test out this method
That's easy: print 1000 bytes, type them all, and see if they're the same.

Quote
yeah I know about md5sum but do you think that's the best type of checksum to be using? It doesn't attempt to fix any errors and it's pretty huge.  Shocked I mean my 25 page file I could legit see it balooning to 40 pages after this fiasco!
You don't have to add 15 pages of checksums: you can also do one checksum per page. It depends on how accurate your OCR or typing skills are.
Error correction would be better, and that easily puts you back at QR-codes again (where you can choose the level of error correction).

I still think printing 90,000 bytes as a backup is a terrible idea though Tongue

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 07, 2021, 04:57:17 AM
 #65

You don't have to add 15 pages of checksums: you can also do one checksum per page. It depends on how accurate your OCR or typing skills are.

Here's the thing though. i scanned in a single page of base64 and the original had 3522 characters but the scanned file has more it has 3525. so i can't just go line by line because the lines don't correspond necessarily to the same character positions. so i can't just go by checksums alone. i have extra characters. if the character counts were the same and some characters just got read wrong to a different character then the line by line checksum method might work. but that's not the case.

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 07, 2021, 06:34:04 AM
 #66


You don't have to add 15 pages of checksums: you can also do one checksum per page. It depends on how accurate your OCR or typing skills are.

I think the OCR engine is pretty accurate. It seems to have only had a small amount of errors maybe about 4 or 5 on that single page of 3000 plus characters. I think that's acceptable but I really haven't put it to the ultimate test yet which is actually making a printout and scanning it back in. I just used a digital file with the OCR so far. I expect the results to be worse.

And maybe that one page was just a lucky one. I'll need to do alot more testing to see what the average case is. I hate typing so I need the error rate to be very low.

Quote
Error correction would be better, and that easily puts you back at QR-codes again (where you can choose the level of error correction).
Did I mention how much I hate having to do manual error correction? This QR code idea intrigues me and yet somehow I'm worried that if I tried to make some huge qr codes to backup my 100kb file (or 90ish), I might run into problems actually being able to scan it back in. You know, my android phone can't handle those because I tested it. It just wont read big ones. At all. not off my computer screen but ...


LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16631


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
October 07, 2021, 09:52:53 AM
 #67

This QR code idea intrigues me and yet somehow I'm worried that if I tried to make some huge qr codes to backup my 100kb file (or 90ish), I might run into problems actually being able to scan it back in. You know, my android phone can't handle those because I tested it.
I tested this large QR-code with my old QR code reader (it seems to have disappeared from the Play Store), and it worked fine.

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 08, 2021, 03:42:00 AM
 #68

I tested this large QR-code with my old QR code reader (it seems to have disappeared from the Play Store), and it worked fine.

I'm just totally confused. None of the qr code readers I tried so far work at all with that qr code. I know I tried at least 3 different ones off of google play store. They don't work with other large qr codes I made either! I'm going to try and figure out what the cutoff is because for small size qr codes they scan it fast. Something is seriously wrong. Either with my phone or with my computer disply or with these apps. Huh

Regarding my OCR scanning experiement while at first seeming promising, page 1 only had a small handful of corrections but page 2 was way more. Like 40 or 50 at least. Maybe even more. I don't really consider that acceptable. It takes way too much time to go in and try and fix everything. So I'm thinking that a 25 page thing using ocr would not be very efficient in that regards but maybe a shorter thing like 2 or 3 pages max.

So I'm thinking using qr codes instead for the 25 page document maybe. the problem is there is no software that does that. where it breaks up something into a bunch of qr codes that get spit out onto a page/pages. and there is NO WAY i am going to try and do something like that manually.
LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16631


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
October 08, 2021, 08:37:00 AM
 #69

I'm thinking that a 25 page thing using ocr would not be very efficient in that regards but maybe a shorter thing like 2 or 3 pages max.
I think you should rethink this idea:
I need a way to store more information than just the seed words. For each wallet, I figure I might need upwards of 1000 characters. Possibly I'd like to store multiple wallets all at once. So looking at maybe 5000 to 10000 characters. 10 kb. I need to be able to print out an encrypted image on a piece of paper. That would be my cold storage. When I'm ready to redeem, I will scan the image back in and decrypt its contents. And recover the original text file containing all my important seed phrases.
What are the 1000 characters per wallet you're trying to store? There's probably a better solution, if you explain what exactly you're trying to do.
Can you start with an example: create a (throw away) Bitcoin wallet, and post everything you want to store here.

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 08, 2021, 10:14:52 AM
 #70


What are the 1000 characters per wallet you're trying to store? There's probably a better solution, if you explain what exactly you're trying to do.
Can you start with an example: create a (throw away) Bitcoin wallet, and post everything you want to store here.

Actually what I'm trying to do is store 1000 bitcoin private keys+addresses. That takes about 90kb or so. I have the file and I want to use it as my "wallet". Instead of an HD wallet. I need to print it on paper in encrypted form and decrypt it whenever I need to access it. Which might not be that often. But still it should be rather fast. Like minutes not hours.

that's why i don't think using ocr is really feasible for this situation. but i do need to do some further teting to convince myself fully of that. I think qr codes might provide more of what I'm needing but I need to find a tool that splits up my file and creates a bunch of qrcodes out of it. because if I can't test it then I can't really know.
LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16631


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
October 08, 2021, 10:29:46 AM
 #71

Actually what I'm trying to do is store 1000 bitcoin private keys+addresses. That takes about 90kb or so.
What's stopping you from using BIP38 on each private key?
Bitaddress.org (I only use this online legacy version for a test of course) makes that very easy if you click Bulk Wallet (Passphrase: test):
Code:
1,"1FpowQrfR2F92BARiGRNBjRw6oqHC9fRMJ","6PnTud91uBVjFJLuaZJWyRtqe3NY3sLHvVsu7U91scN34PbgnNgCFtaQCb"
2,"1KYeL3aMpi9AbUF237TmxEWoEZMAwBmG68","6PnZAadxGMjyvjYza4ngRH1Ebkf4SbPBc3xGuH58azB4idCwiLC9mYwJZg"
3,"1vNsT73PucMAPs4agU6yzy8wAQVAejv57","6PnYuCB6X685Z9P71uCFX3jv3fDRzxjkvhWMTuQjb9qxE3hLurGuffzxFK"
4,"1DSVh3mfAxC3WHdRcnTYfsn8TZMYYgAeKr","6PnZJZVTmDCo4zGig2r7fHnwhBD8S3dWShGGE8q5XEwAP6RDiXLc5qwaK4"
5,"1NLQcpGCu6zJ3nZHKd3y7jYbSpZfvKnvxc","6PnTDsf34yqTxT6afDUUh6RiXY41DEzQ4tT3BYqZQ7zpw2jvv9SQ4w8Hhe"
6,"173UmKcwUcHBMR12CtCF9ka3dD4tamLVMW","6PnViHwxzWotkCtXCVyxJm7Qnu9RCKDQshUHScxkPdkrzqa8X4Zv1jSzUk"
7,"1Pv7MYgcjRh3SgHa5Tyfna6KzL1oDoJAA1","6PnX9ZVCCPvufaPr6RBz73V5QN1DLaGvxko7FCTzRdmFt8NWDmdz3LH5Bu"
8,"1Mmn8wvCWVnh851VmAzcCVWyxfcK14SYmJ","6PnPhhWZgmZ1adDt92QqdPEDsXUGr2Yp7N58WjdsHwdue1tEiHJF7zt97G"
9,"1mShzzPuLamED4adyeYy9syBppe2V4Q1N","6PnM4Vm51rTtp3mrF2BgT9GQzPjkR7keGbP6Hyj8kRDHe9FsgsraANy54G"
10,"1CdnDEX9og5x7sU3LCCS7D4etSD9t3wPhe","6PnSj1LCZsyUt8rR91k1NfQ4hrqcMpSGueLqv2SVwPygXKboUvAw6sG7uc"
11,"1Fqtns476tPZxqXFEjULMUFw72566k9YwV","6PnXfyUXPp6ChsLKnPuGgwwNupMoeHjJXGZK6DRKFVPVfmwNRz3M6Mkrs7"
12,"19zH966iexiXwqwV1MAKft1Z8h5ceULUkS","6PnNGjsE4PprkwLkLpc8a63nhR9axmi3dznob6KnRnNquxfBXwqJAt4Y8f"
13,"1BogPV3s11ByCLVvxaeogfb576fUzvq7s3","6PnNoBS29DuJ7GtzZAjW6qT76djX8fPxU4nNmckVqacCVhNjKgBW7yyQGp"
14,"1Q4xg57HxoSkv5mptdcRVQkopCSbwgyLhJ","6PnRNxVBSwa7b4mEMtwVNeb3LFvHBAUpsJpT9hcPX1EN4nywaBF1nYy6NU"
15,"153shGpzyKaMEy5t3UTSPLCDYqskRibVjF","6PnM8dH9Z5yukPisH47cVJNSXQ7N6bC9ejg9VQ8qzsNoWvB2wT8iZxsMh4"
16,"18eHqu5px2vzpSi9WMMhNLt7Y6ivAe1tTt","6PnSDoQuGSC6dBV8dz2KUu1P66v5EHZhmyTo7o4pfb9BYDgmKdxAoHK4i2"
17,"1LF78iaRD1CjvRKo1AU39x93P2tqFviWbK","6PnPUJm4sJGaSfq6qkBe9KVdMDnbBMFPxKPKmihY5Qsh62ir9x3LyUHoFo"
18,"1JMqoANczBWvWQvUBhkYshnBPSe3rE3Pg","6PnZbDnn1Aos1Qwi67s4eZijfmgreMWtAZ5whX1m4ABWTPvn2UYe5LvRPx"
19,"1KQZpPfujmEPSiPh2W3Qxv7AUzgkoS5mVo","6PnP9rgJ1ZzYGDTLhWZJZcmhmyBM7X4FesjmhAeazR5afjxPBmNTwqhqLU"
20,"12EGj1vhHgm9kPt2Ehe2QES9rAKUbSN4T6","6PnPYhNBkqjwrymtAnawjQVMwK1yBsWMRLVDgZLS3A9ot7AA7C7XQ3XfGq"
21,"1CGHQ4XZV7b2i4dKGy5Rud18RMWAKpTx2H","6PnNyLHGiXcXPxgDEdjYveDe3tscbY3xAxQ1gRYst9F72JN3PrYwwu5q9y"
22,"16Emwo7Zm3pDPmFw8zpTEeYTEYNaMx5JwX","6PnU1ZdynFd3fpkXLMeim3wTMKHKn7DWXCesbM5TKKkKZen2GwPCnNXhv7"
23,"1JJjtDHw6Tx4tPHPc5gzFtJEE1pLqBCqfX","6PnXy1VZpNjdT9DzYrh7sqz3RkQZF2Ps4QASd8HrTgB1VGKKcPu12xTehL"
24,"1ahBTTMXc71VC7M8kASxadGesszB8Gb8n","6PnYaQKzRjDXk6TH9KbevJArKi6mq8RUL4a3GRQjA9kKTt5e5Eg1FrKTpR"
25,"1M9GAPJx3oKKeTDe2vFoCwWeryQQavGZe6","6PnWe9MYP25QfUmHyC6WcH9WFWKonbRood4HyX2hKUk9PMQfrAWxKiLUqP"
26,"1ABPXcqs1hiCP9jJzfEiSxZrR6rjCSHLDg","6PnT2SoRzLSfkstGNXRbfWv1vs7qNgPmDWBJE6ho3AcNzcLq9dnhPGkQKD"
27,"1MP5RRyUDvmEEtMGuEe3Q9ua4ZLd3mTuiN","6PnNPbu8jLMf52Ygk4V1VuZCBcGruVHinzkdeRYFsENUwVyVTTW4aVUvmh"
28,"1KJsGoAvEC2cF3Hnvf15BaUJmt1uCHLCsc","6PnXuDA5JhA32pxRbXmR1DCPEfK4voMz2R3Xv3ZxND2At66SZYPd8N8DuQ"
29,"1L38m3GyUxJUcuZtxHVLGsaUKhZfAXnPxE","6PnRh5NpQVxxjf68pFCRz7YXtYPYARRJygpJ5tRsoXKsfRQktzUxr4pSMN"
30,"18MBupBXpXoGRvrfFxPvUnPSLfQKygxgJn","6PnSkntDXRBaz7gKXy9kLWejEEDN71fsYrtnZihp4zM6AjnWKpnTdVjXrL"
31,"15dzTyoZzA3nraXwUGiY7MM2QHgcWAbd6n","6PnZbDC9vJ5yuXbWbq8MzQp8J1fPWPjZJj3Zu52Ro4JfskQgkKfVPumjRS"
32,"1M12M8Yd3ccVnu623D4uqwKRcNYjJubsRZ","6PnPAQ3rFYNPwztH1xLD4y5k9jmL5xxoBsdbriVw7hW8hQqdNFxuEvcLN6"
33,"1JLfWxS2pqjUcWDcQTLwmS4W9KHwcGsPjx","6PnX5e8vWQZjpr1U8iqiBEbdFAWjJbwQbVGSZBBN5h9biptEV4Y8bbnLAt"
34,"12kguAtR4BonNwKFxs89QRpoAH8SGGrhmd","6PnN664VcUoivVDRbEeF3dy6jm1e4rKbwctPmCsUi6s56iEn8m18CeP8n5"
35,"1DatKJPTtpTggTZm27QQc2twrvzPpghYnA","6PnWSjJvdzksx8KKJgJufg8XNQjWNcKSJVaic5yK9ecKRKeKY1VRcZG9ts"
36,"14gPFzbsedSqabh8YoG93UFX6YGBXALZ37","6PnXFX8ScfKarRxw5NJ7Ww6hZPPTuU9HK97SiowjVnZWgNBDxGWpfHhrpZ"
37,"1JS5nmAkfytVh1XAJrajfZFHVM3sBbbWoc","6PnMkFDVrmMVWoH7pSxhXzV5xga2JmxeASv9dWcKvGRRfAEgAh2KXar4kx"
38,"1LPKhb6M2QN5vGx6BE1C4k8cDcvs47nmWa","6PnY6mSQA3BVkbNNHp3E8op7JNqE7GXDtPZKjv863FuN8RkQuMwWzQ9bTP"
39,"1A6tvoukhfgwhG4KEZ7TMHnLchbLsxbjDj","6PnRnN8oBB4Zqn4GJRDUskpVqeTa9nB8WCys7eQL8NrLKb85329hPpVDxW"
40,"1BWbUnsG7VfA4EgLZGUjQFgZrqNuPTiA2j","6PnRWTW3phwMFpTuz6dxJHmUXh5xPPn7tHmeqiDeyHu5hP8SQ5zpftE6mK"
41,"1J9padjU7harD5Lz3WM7zvgbUZ6AS3kjET","6PnYgKrGBixH1hs34CvRdUzPdS81Zw5VqEjG1T8NXpguKQpw9GfPqmnGM8"
42,"19iNmiMaJpHaFaFf4ibQMPU5ismNf96NR8","6PnUUT71U1hvJ4jfp2YfQoky53GguMnVeSWKAQHNdpU5A7qi5zyRrRDYyZ"
43,"1MdUw8dhJoQwaif66VJobecS3aZustWZ1y","6PnXD6wE6jyy6kiZ8BdqzKkRrTqxqqjuJ7K1bbfWos2Zf2GFmknw3ZP4Cs"
44,"14ZjfYLAZMnAxX18uBjfKRJD4K4YwyYmVW","6PnQ3TXWZw9DHpaesX6pYFRHixXhsyLDp1KBfkBqd9G7Yj7UrfhRFQKtvC"
45,"1HrwwsUwxNsv6UEovjTthKbXubTYUYo929","6PnY5HGyqPBbUPNoteBqtR3sd9iuDsLkGc3sxaUcUjeVvNRmev4ASgK3fA"
46,"12CSz1VMf4LhchZamRXTSCWEXo849krdN4","6PnMSDRtq8FPzgrRt2sxyTiSHPDTWKS8KyfheDFgZ8weHyS28jjxfsAvxu"
47,"1Q34Jmc3Su1vJWcDfCtixx1LjiRNRTEQki","6PnNy2gJXQMM6p94GscQHhFyUKqwTKpsQjdCMZZEPzReBSY29kYei44xUU"
48,"1FVuxhkRvQkfnKzwWEjQgr9R1E13pS15vC","6PnRPNvZvjtyzcsmNKEjnj8btLxstCjcuUXHFdjDU6Egm6aSGjkV4amH3k"
49,"1LwuY5QZYeeZZDhuK6ZWGRk2Aw3kkQF8CP","6PnNiCFgac8egM7bmFesbwPRjDNh6qsPRU6RFTDwQ9wgBSvdJWFJQn9Z3T"
50,"1NtLRQavqG1Rzh6cVT3DW7VMfqtFzYZV3J","6PnV7Gwc8BS4FP6aubU3gFCsYfdCuSnXyYmEDGFQPZY7Fe2bDP8qGW9zKF"
51,"1KTeifGBDYj2FcU9wzg12uCPgaTVrCAAda","6PnYtMxzatasJCMtvLqft9NGxVNCjDvXfkBD6H9Hafy6F8HF4XyajwE8kP"
52,"1NjW8apZAZayksBTp5taJ9yj7hghTaCWB8","6PnU1Z8D83oVdjYwP7XBofY6GSJ6ywm5GMcZJZEXR6KNLaEcuebyfZy79a"
53,"1GDWNWfXZetd626v7zoK7aXNwrPv47xSy7","6PnRrVw4JU5zUWK7AkESqiy5KC3vzfSSB8qR139sbfFJYprv5rxUpj6WZN"
54,"1AKzrMm7fXUYAxqU95M1ixxZovhstszB2p","6PnYJSbaFyJdrXftVLzDxjmmvbZdQD2CFiosn1Xs8DLE4itgNJMuajHeK3"
55,"1HdYnZu81NWC5cnGB9fTUkdBsVH1YpZxkH","6PnWtQXYCPxuD4ukcduTQucpf1W8qmbfJmmczzo3DqHQW7rYtQCvgvEDTG"
56,"1CxtevUsu3V2egd5pG6ohLrGvQuLHW4Nmp","6PnSBo3FW5YtLWeJ7YLN7RuqSxTVczWu5voRpkkJPveJUMazL2kQcv8rGk"
57,"16ta5KRZ7iZ6g2K2xQBJUazuHbL6vVMNA8","6PnPbaMeJo54gUDftv3y3uE1qDL3nCBWfyh3yX7pmQT48TPCMKkkrkV8ek"
58,"1LSuTzTKKTkurJFqCYAMrBjEWHGaMGNrH9","6PnU46w7h2bx5aGFynoFeFpkVvMHso1UyaxcduSr9yBxNgZmVfGdX5o4MK"
59,"17if3omir9d6dKByKwPhB1twibY9HAggtC","6PnZ7BqMZfa97LNDH2ACvKHNbSKLPkazfnebJShasG7em8hio4czGSji8G"
60,"19qPGCGhYnY4FHC1uVjEsViRwPkVtffJ1F","6PnS7RdEuUapdVten9Boy46CpEaBRZePLivvMjHATasKd1sjXmshbyPVRn"
61,"1Egj2bUKjYT5i8t4cUB81WfDHiAuuvfF7v","6PnSWri2YeojY9X4ZBuo1GzzSGcWJBuPLnnvfpPCNXFXQcXqrQJmb4fQ82"
62,"15inAqEEUuisWGSjwqhHZijbkvxxToxMNd","6PnRATuYDwohRoPDrNJJJv8bGwzZt5SEMSWjgXBWSYb3CuMSqjuE5p5yy6"
63,"1C2iaWHbCm5jcgJmHBHPxXNV8P8MpFYGX9","6PnRBoM4Cx4NDuKvuXKjun9TZE89A633SzZGHLU5A2mMgQHUWWEtoVDqTx"
64,"1BEFmHKDjYKK1RpsuUSfV1LW78wEL76ceT","6PnXMKjxZF7fnC8pupqu5zZHYr4KW4N8U7nzho8e7Bi8FeEmKuaiech31R"
65,"1GbRWtyTkMV1eqhVJhaFxbc3o6gjkFfitr","6PnW7GyBSoK52jQnyyaisbabRsjDTrS7yeQ5hCUAgFYK35Hu7aez2iHSzP"
66,"14KB2TPk13sgDf35sMmUkB59RpqWRAg2q3","6PnNK1DnBHBaY8yfzRHDf7qJZZXd7mJB3CvyNeTgve38NTXab23qFfEtot"
67,"1ApAtHQVDSBv5eysHd3rcCuCQZC3CyMS8U","6PnWMPv1bCm74uYcg3KuoXHqWcJUsCcFjRnnzsowe3BSHSLf62vDFjwVgP"
68,"1PGzkvvsMBL9EcAZqcdeo15vyTwYS4ttBW","6PnNP3paCWPGyd2ZNiU12nFUoY4SbM97Xp9XLm6dou6K7HL4iwZ23hafDX"
69,"1UuLVtnM3nd5y1D6GLEHcAxmoFdrKrhAm","6PnZSjGEuWB9QmqMnkBG1S7FadQ6UDLWhKuoWU57TH2aBHtbprSCz7Zyon"
70,"1Fe4KM1dxcVhpEiApTDwyzdYptQBwmRLJe","6PnYZ8AZfkdwujbX4YdgXgm6hUHChUGRNrDvWWquww58rzy1wBPAFDMyQV"
71,"1zQrfonPb6GNU2YviWoFHYDsh7aE9bQ6g","6PnVrNXH2jxWtkFCqBUux7LS8LfW1Fj6GMJTXkAspRjT3UpmS1PU6uvTpF"
72,"1LBXK659QQGYVTdwchJtywYM2WDwXFP5KK","6PnWEHgRtDa4vH6wh7NnRbPyze2iKTzFDSfcJi3QwnHj8kpYj34eQnq3w1"
73,"1LSmgTHKPDYW9fvFTkt5eoqcqKLPY9BiBu","6PnPESyuCA9Bu5AM5EcV3ueJt1HQyTgqbSCnu9nsDZeffs8YDFEQavNMxG"
74,"1GPgSWgkvUZKK3SikWEbFc1GmdraEBX9SH","6PnXHW4mtSfB8GJEr9ZUe9YTh5aAVnDNCbxBKfWTSaFgg4Z6ymcCAFfK5t"
75,"15Lx5WXQx5CSZqMCnrvvGioR8s1cpxsY65","6PnNc4dh8BmM5277HfCUfdVHbvkzT3BNajeGo3sg9vgkNTFWCvuMqS38JH"
76,"12Br2mvzat6zhbz4Vkt6mXKTKcjmHcbYna","6PnSif1uKLj45ukYjR5vodD2bJvUHNEsFcT1vxm2keQpGDFKM25Bx8v4iC"
77,"16y7oveEdDSZH56b2frEfSW3ht4z8MpcSg","6PnT6WmtMSmJS8JVPPXTADxNvATwEjTEoYsx1uvj9v6396wBUdN1tVgGKj"
78,"1BRWzySVCCKXLocVudL2Avw65GBNqYD9Ee","6PnXrc2e3cUrskNBBjXiCJUCdQXe4z6tzJvrsLbbUMyiqGEL2Qc8xCNJ2u"
79,"18uvxgZxV1QiijWNNpG1zYVR8pMwUFXo9B","6PnY9iidM1P8LhkQPmcyT2zmwh6JiEVYPe26v5gPLdAtu4SHazXV78HNTA"
80,"1238SNQdivNuXhuW5P4SeUjkUgSD9eutVn","6PnYtYzHXLSy7Q241gJdf1jLb1ztyjcm62iNRnfbwLrywswyLPrydWd7fV"
81,"1Q2fAEMC73PBGdF8j2KdNFmJWj1CbA5mnu","6PnUZjcbaZkAkcRXoAjq5FRydLPK6fxgREHimwmyRDQw8fhEYnePUYsgc6"
82,"1MZSvZX8Ri9yPF3bAVyvKcgcLNNbmAyiZY","6PnUzBhmwSQn3v9wCbRLQChVaWPVEVpm1mESzAeRP29GNd7RonRgG3PMTe"
83,"193MUnSnjC3KwUiZYHQWN9zFk5Xr5DsN29","6PnZbGekkN2pTyXT9mKN5HcgyHE6VrMsuJ5DxP3PkuQBjpbFW8No4WH8Us"
84,"1DhG6DhAdZRxFYnmd5JfgFWmu25BfE6uiN","6PnYQzuAo9jExLVXqVdJkuLwsajRVxcpAodXmRXvWqFhkm4PufpR7oC4oz"
85,"1LQ6daC9hJ7Rg5S2fRjVLW4dHmEAKfVwvw","6PnNtubvJCzq1SCAtgo6bYCJ4mKqD5WWqvdEPS4vQzJACg9ELJT4SYEoa1"
86,"1MoUQMxqt9TavaEJjTHQtRFJXuaECxJ9Nf","6PnMsV92tgLw92nzSkNRzBJck4AekWJ7HPwP6JdzYCCpHtYkwmrFsJVWRy"
87,"1JbLrPKirNDAdAyuCAPFQxPQPBCmpfVpiJ","6PnTZwjkjeehYcF62VkuJduRLp3We2MPwJmyf98MwQErFVSBbs9KEfk56U"
88,"11C5nmRp4w9dPLsCC9eBBPfcWnEgUGgkd","6PnS5rZuCHr7K7PvE2Ge14QwoZewDYLhdcrBv8RwenpSapBWwdvMWuwu3H"
89,"1J86kNVvB45gusL2y6jqmtoSAGiSR8jDsC","6PnPHHkarwncch5uaURWJ8BbEzZaecxRYsP5LwYo74K6JrM8yF36UQaRsC"
90,"12XnGArqwMEagZBFtRvBJGuESdWBTMoBqL","6PnXZuXZGmEEXrmaGE8WyJXd6zuZx77NCcVwcuDb5NnaSncQBAFAukrsQY"
91,"1Mf16y6zh7VHFt5KcJQN5JJjdYkfYidqGF","6PnV91kCXn8RJHbgb4R4smLTdHv7ZPZJz2tLSYwDaYPRJjJPS3MM4Uo1JJ"
92,"14o8UMpWth3VGR9Kni1nPwV4xugJezqyBr","6PnSbcLGTDNfMNdKkN6wkLrDaDMS4nES1dBSDUiLiKzYXWwCSBvnqpjnuK"
93,"18kcAdWpoEHFGAdakjbky7QSfhQ5guGAEU","6PnWVjnVXSkKFBFfj1ChFnskBsfi6MP4A6NMM27TadvmiFC7o9X4GmenMm"
94,"1DX5m41SEQvDgj4UrHoqdrWEGKhJphRB32","6PnThDMvExNnkLMYoWiaLz7nVygomzf7kU7Za1nn5YHwQKVbr1f3VukLzM"
95,"1E6ao1brWRGXw3MU1t1Nj5Ed62f9mYV2ry","6PnUKxCiEAviU52iMBW9GhtFfxbc7roCxCUShrMhqxwZm43dF9CeVydc8z"
96,"12uTS5Z7W6UHc9Wyf6xDfMoNp3xLC4Zayi","6PnPSmAfKoVZEb6hBbesr4ioLHjhzezewiqAdBNbbwRwzSYyHtfFyM3z7F"
97,"1EKjC6AuWimfKdfGFCnLSVqYTyoibPsq89","6PnMWQj8uAyekUdybQLanAVcx5PmbfcAJKUzKgBRWXHQT7dKtSrZtANYbS"
98,"1uJp4gp9XBzPch1dT22RvosDwEz8qmUvs","6PnVvy3cz3Non5sSUzTF5mt2XJtsrZ4ngLUWgyiMVMQuYnVyrHGpaS9QJF"
99,"1DQ4nPJ6J26jykbPHcttFRTRh7REptNx7","6PnMhs26pTnRCJbUR6fSXjAHNYh243GURuL5LKTkKs9rBYtGH5dJBSgZLv"
100,"1J4gEvvcHV7V2UhsVtJ4e4rJ6BLT4gnkUm","6PnSsu3xZLSYYjxDoSV3ujDHreQidh2ZchcdWZPfwFF8pmXmxPMe9sFYZu"
The great benefit of printing individual private keys is that you can simply decrypt only one of them, while keeping the rest in cold storage. And you won't lose all of them if you can't read all pages.
Even better if you create all of the keys from a HD seed, and store that seed separately.

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 09, 2021, 05:04:44 AM
 #72

Actually what I'm trying to do is store 1000 bitcoin private keys+addresses. That takes about 90kb or so.
What's stopping you from using BIP38 on each private key?

The great benefit of printing individual private keys is that you can simply decrypt only one of them, while keeping the rest in cold storage. And you won't lose all of them if you can't read all pages.

You know that makes sense. I think that's a much better way actually than my idea of encrypting them all in one big blob.

Quote
Even better if you create all of the keys from a HD seed, and store that seed separately.

Understood. Cheesy
LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16631


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
October 09, 2021, 08:53:44 AM
 #73

You know that makes sense.
In that case: you can still add a QR-code. My favourite is a paper wallet (don't use the site that turned into a scam) that prints the private key twice, one of them upside down. That reduces the risk of losing it if the paper gets partially damaged. You can of course easily do this manually.
Creating 1000 individual QR-codes would be very easy to script on Linux, but a tad more work if you also want to keep track which address belongs to each QR.

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 10, 2021, 03:53:47 AM
 #74

In that case: you can still add a QR-code. My favourite is a paper wallet (don't use the site that turned into a scam) that prints the private key twice, one of them upside down. That reduces the risk of losing it if the paper gets partially damaged. You can of course easily do this manually.

No thanks for doing 1000 qrcodes manually. the chances of making a mistake would be very high plus it would take forever!

Quote
Creating 1000 individual QR-codes would be very easy to script on Linux, but a tad more work if you also want to keep track which address belongs to each QR.

I think anything you can do with linus you should be able to do with windows. especially soemthing as simple as creating a bunch of qr codes but unfortunately i'm not sure why such a tool doesn't already exist for doing that. as far as keeping track of which address belongs to which qr code that's easy you need to print a qrcode for the addresses too. at least I would want to. yes it doubles the space but its needed.

also the process of using a private key guarantees your qr code is scannable since you have to scan and decrypt it in order to be able to use it for the first time. i think if you printed the text of the qrcodes along with them you won't need to print them "twice" since the text serves as a backup in case for whatever reason the qrcode is not having a good day.

the big question now is how many such qrcode private key/address pairs can be fit on a single page how many pages will it take to print all 1000. obviously the less the better but can we print on both sides of a piece of paper or is only one side best?

LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16631


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
October 10, 2021, 07:33:37 AM
 #75

creating a bunch of qr codes but unfortunately i'm not sure why such a tool doesn't already exist for doing that
One option is Bitaddress.org (offline of course) > Paper Wallet > Hide Art > BIP38 Encrypt > Print 7 per page.
But it's Legacy. I know there's a Segwit version of the site, but I haven't used it (and wouldn't easily trust it).

Quote
the big question now is how many such qrcode private key/address pairs can be fit on a single page how many pages will it take to print all 1000. obviously the less the better but can we print on both sides of a piece of paper or is only one side best?
I wouldn't go smaller than Bitaddress.org's default QR-size, and I wouldn't use both sides of the paper.

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 10, 2021, 01:00:31 PM
 #76


One option is Bitaddress.org (offline of course) > Paper Wallet > Hide Art > BIP38 Encrypt > Print 7 per page.
Yeah I've printed out a couple of those before but 7 per page is kind of on the low side I was hoping I could get more onto a single page. At least 30 but I'm not sure if that's really doable since I don't want to shrink them down in size.

But it's Legacy. I know there's a Segwit version of the site, but I haven't used it (and wouldn't easily trust it).

I wouldn't trust it either not after what some person experienced with using it. Granted, he was putting his private key onto their website directly rather than running it locally but still! He tried pasting in his address to sweep the funds to but then it changed the receiving address. Then he changed it back to his again and clicked submit but it still sent it to the other address! Imagine ignoring a warning like that and going ahead and losing 0.01 bitoin anyway.

it does sound like spyware but it remains unresolved to this day. as far as i can tell.

Further imagine that happening to the same person two times! I bet he runs everything locally now.  Grin probably with a subscription to malwarebytes or mcafee antivirus for good measure. Smiley

larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 12, 2021, 02:30:01 AM
 #77

back to the topic of bip38 in python. I finally got around to trying to code up the "decoding" part of it and there was a few little things the bip38 github page didn't really make so clear about how that is done. but i figured it out. and that's working. but i had heard that you can do bip38 for bech32 addresses. but that would be non-standard, and not in accordance with the bip. so you can't do that.
HCP
Legendary
*
Offline Offline

Activity: 2086
Merit: 4316

<insert witty quote here>


View Profile
October 13, 2021, 02:55:24 AM
Merited by ABCbits (1)
 #78

Have you (or are you) planning on putting your Python BIP38 code up on GitHub or similar? Huh Might be useful for someone in the future if they have don't have to "reinvent the wheel" Wink

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
larry_vw_1955 (OP)
Sr. Member
****
Offline Offline

Activity: 1050
Merit: 362


View Profile
October 14, 2021, 03:32:59 AM
Merited by HCP (2)
 #79

Have you (or are you) planning on putting your Python BIP38 code up on GitHub or similar? Huh Might be useful for someone in the future if they have don't have to "reinvent the wheel" Wink

I probably should, given how helpful people have been to try and help me get it figured out. I'm still trying to figure out one anomoly though. I can't really say more about it YET. It may be nothng but it may be something. Once I learn more, I'll feel better. never used github before but it's a good resume builder I heard  Grin

pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10558



View Profile
October 14, 2021, 05:40:47 AM
Merited by HCP (2)
 #80

I'm still trying to figure out one anomoly though. I can't really say more about it YET.
One big benefit of making the source code open is that you can ask others (who are familiar with the programming language you used and the topic such as cryptography here) look at your code and help you improve or fix the bugs it contains.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
Pages: « 1 2 3 [4] 5 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!