Search content
Sort by

Showing 20 of 356 results by soferox
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 03/01/2022, 17:29:41 UTC
Check your pm for a python script

No python script...

As to everyone else who has been helping thank you so much. I will 100% give a bounty out to everyone that has added some help to this effort. I am really hoping the 2 newly identified characters are correct. Based on my estimation with a missing 8 characters and unsure if the second if its w, x, y, z it will take 3.9 days per run (w, x, y, z are the runs) so 3.9 x 4 is roughly ~16 days. I hope to come back with really good news and if not well lesson learned to get water proof paper lol...

Thank you all again,
S.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 31/12/2021, 08:41:33 UTC
Man really wish I'd have done at least 1 tx on this thing.
I know it's a long shot, but still: Any chance you ever signed a message to prove ownership of that address?

Thats a good idea, but ssadly this was a offline wallet from the start and never used, only ever deposited into.

Thanks tho Smiley
S.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 23:12:30 UTC
Blah thats right. Man really wish I'd have done at least 1 tx on this thing.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 22:40:36 UTC
Can I use the Hash160 to get that value? The value I found starts with an 'f'

Thanks,
Aaron
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 22:22:47 UTC
What kind of hardware did he have to solve 10 characters in 11 minutes! Thats awesome and is exactly what I need. going to look into this as well now!

You can't do it in that short time, as you don't have the public key.

1 year ago, user PawGo calculated exactly your case (10 missing WIF characters) but with the public key in less than 11 minutes.
Not bad, no?  Wink 10 missing WIF characters - Less than 11 minutes on old CPU. GPU performance - to be seen.
That's fantastic. I'll have to go back to check Pollard's kangaroo algorithm again.

SO I may have gotten lucky and found an old screenshot of wallet that contains a Hash160 address. That is the public key right? Please tell me I just got lucky and can use the kangaroo stuff above?

Thanks,
S.
Post
Topic
Board Development & Technical Discussion
Re: BitCrack - A tool for brute-forcing private keys
by
soferox
on 30/12/2021, 21:33:39 UTC
I have a question. Recently there was a flood and a notebook containing a offline wallet was damage and it destroyed part of a WIF private key, so now I basically have:

Kw**********(I have the next 40 characters, just not posting for obvious reasons), so I am missing 10 characters in all.

I also have the public key. Is it possible to use this software to start a search at Kw... and iterate over the missing 10 characters with the known 40 characters also in the key.

For example : 1GuqEWwH5iRZ89oo5xw26FqmyZFMWZrtPi - is the public address

and for the WIF private key I'd have Kw**********JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7

Any advice is appreciated and examples are even more appreciated Smiley

Thank you,
S.

It's a good thing that you have end of WIF format data where the checksum is. You have to first Base58 decode the string (with corrupted part, or you can replace the corrupted part with zeros). Since you are doing it only once you can use this online tool:
https://www.browserling.com/tools/base58-decode

Once you have decoded number you can use the checksum to quickly check the possible missing values, if the checksum does not match you do not need the other calculations to get public key and check against it.
This is enormous speed-up, this is doable even on CPU, no need for GPU.

I doubt that you have some ready made tool for this second step, have to do some work yourself to code checking the missing values against the checksum. Good luck!


Edit:
Just tried it with some test values, you have to do Base58 Decode for all possible versions of missing values, not only once, string before corrupted characters stays the same but Base58 Encode changes all values after the corrupted place.

However, this is still much, much faster then generating Public key, doable on CPU for sure.

I believe I tried this with CPU and it was going to take a crazy amount of years to go through all combos. So perhaps I am doing something wrong. I am willing to pay a bounty for any help and code examples provided.

Thanks,
S.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 21:21:20 UTC
What kind of hardware did he have to solve 10 characters in 11 minutes! Thats awesome and is exactly what I need. going to look into this as well now!

You can't do it in that short time, as you don't have the public key.

1 year ago, user PawGo calculated exactly your case (10 missing WIF characters) but with the public key in less than 11 minutes.
Not bad, no?  Wink 10 missing WIF characters - Less than 11 minutes on old CPU. GPU performance - to be seen.
That's fantastic. I'll have to go back to check Pollard's kangaroo algorithm again.

Ok that makes sense. Seems like bitcrack is my only hope at this point. Thank you for your continued help. Should I solve this I would love to pay everyone a bounty who has helped Smiley

Thanks,
S.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 21:05:57 UTC
If there is an outgoing transaction, then with the un/compressed public key and kangaroo or pollard, also possible.
Sadly this was an offline wallet, so it only ever had incoming transaction. It has never sent out.
So that would be very easy. ~60 missing bits, we would have the private key within minutes.

1 year ago, user PawGo calculated exactly your case (10 missing WIF characters) but with the public key in less than 11 minutes.

Quote
Let's take WIF 5HrdZxkxnVst8Q_____keiLe1k4AmSDaAhqQVUYVxVSBkf5VfUu
Now, we may find the first WIF to be tested, it will be 5HrdZxkxnVst8Q11111keiLe1k4AmSDaAhqQVUYVxVSBkf5VfUu.

They started with less missing characters but then ...

Not bad, no?  Wink 10 missing WIF characters - Less than 11 minutes on old CPU. GPU performance - to be seen.
That's fantastic. I'll have to go back to check Pollard's kangaroo algorithm again.

Thread: Using Kangaroo for WIF solving http://bitcointalk.org/index.php?topic=5315607.0



Edit: PawGo posted

Hi,
1) you may check my program WifSolver to see if it helps.
https://github.com/PawelGorny/WifSolver

2) in your case I think it is possible to convert program into task for BitCrack. Using Gpu solution will be find much faster. Let me know if you need help with configuring bitcrack - how to configure range start/stop, stride etc

3) BUT! If you say that you know publickey, we may use even faster solution, Kangaroo. I have prepared a special version of it to work with custom stride, somewhere on the forum I post explanation how it works. If it works, for 10 missing characters result will be done in VERY reasonable time.

Check the post:
https://bitcointalk.org/index.php?topic=5315607.msg56298967#msg56298967

What kind of hardware did he have to solve 10 characters in 11 minutes! Thats awesome and is exactly what I need. going to look into this as well now!
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 20:59:17 UTC

Pollard's Kangaroo method also uses a start and end range. However, it does not support strides (AFAIK) because Pollard's Kangaroo algo is using it's own kind of stride while making the tame and wild kangaroos hop. There's no way to tell Kangaroo: "OK, there is a part of the private key at the end that's already known, don't search those bits". The consequence is that for this particular situation, Kangaroo will take longer to find the PK (way too long actually).



Normal Kangaroo yes, but I have already patched it for solving WIFs, custom stride is supported. Link in post above

I will check it out. I have two 1070s in a rig I can dedicate this too, so hopefully it can do some fast solving. I will message back if I need help. Thank you!
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 05:47:18 UTC
And then I pasted the characters after the lost 10 chars inside the page. Before the characters, I pated the 'w' (since you know you have that), followed the 10 characters lowest possible private keys that still base-58 encode into w........JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7 - replace the dots with 10 "1" (the number one) characters. Because 1 is the first digit of base8 number system. The resulting hex gives the starting range.
Keep in mind that this method is significantly slower than to simply test each character permutation.
You see each character at the start of the string (from left) converts to a much bigger integer than any character from the end of the string. So even the difference between 1 char missing becomes huge.
Take the following example:
Ky**DfuvLpt8eSb8EQzhZwDCQeCaycKeAoxJMY8pfPZXmn3uB38R
Even though only 2 characters are missing the difference between Ky11Df... and KyzzDf... as integer is
Code:
13491826005831086771641399365157222283117801812915393869332949675679483454208
While the permutations are only 3364.

Do you have a faster way I can do this with GPUs? I have used your tool, but with just CPU its going to take far too long for 10 missing characters.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 04:30:32 UTC
...
This will probably not take minutes unless you have a large GPU farm, but a few weeks is a more accurate estimate. Since Bitcrack can only talk to 1 GPU as far as I know.

Without an outgoing transaction, we don't have the public key, it will take longer.

Pollard's Kangaroo method also uses a start and end range. However, it does not support strides (AFAIK) because Pollard's Kangaroo algo is using it's own kind of stride while making the tame and wild kangaroos hop. There's no way to tell Kangaroo: "OK, there is a part of the private key at the end that's already known, don't search those bits". The consequence is that for this particular situation, Kangaroo will take longer to find the PK (way too long actually).

Bitcrack, on the other hand, lets us specify an arbitrarily large stride and it converts it to a 256-bit int. Since in this case, 80% of the private key is already known, we can make the stride equal to that huge PK chunk at the end and effectively, only search keys between Kw11111111...... and Kwzzzzzzzzzz.......

so I am plugging the value into that site: w1111111111JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7 and for hex I am getting:

64 B3 82 BA 7E 44 5B 0F 02 B1 26 EE 95 04 62 B9 E3 A8 8D 67 7C 5D E1 74 E6 44 88 6D 5B 20 F8 8F F0 10 E5 FF A5 C0. I feel like I am doing something wrong on the site.

Any insight? I am not getting the hex values you got in your original post.

My hex for w1111111111 came from the following input: w1111111111JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7oQX1cWCo92tAA3ihLJ7 (I accidentally duplicated the last part).

Ok, so I get how to get the range for the start and finish in hex to then use in the --keyspace. What I don't know is how did you get the decimal number that starts with 244 that goes after --stride?

Also do I plug the public address in anywhere?

Thank you,
S.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 03:26:02 UTC
I thought WIF keys that began with K or L were compressed keys and WIF keys that began with 5 were the uncompressed ones? Also I am a bit confused how I get those big numbers with only the public address and a WIF key that is missing characters. Could you elaborate anymore? I apologize I am fairly new to learning about all this.

Yeah you're right - my memory was a bit rusty. In any case just replace the -u flag with -c.

I simply converted the base58 of the lower characters to decimal (and hex). First I went to this page: https://www.dcode.fr/base-58-cipher

And then I pasted the characters after the lost 10 chars inside the page. Before the characters, I pated the 'w' (since you know you have that), followed the 10 characters lowest possible private keys that still base-58 encode into w........JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7 - replace the dots with 10 "1" (the number one) characters. Because 1 is the first digit of base8 number system. The resulting hex gives the starting range.

Then to get the end range, you repeat the process but instead of ten 1 characters, you insert 10 'z' characters (the highest character in base58 is lowercase 'z').

To get the stride, I simply converted the lower part of the base58 you had (the one after the dots).

To determine the start and end ranges and the stride, you only need part of the WIF, not the public address.

These steps will create a range and strie that is suitable to input inside Bitcrack.
It has a difficulty of log2(58**10) = 58.5798 bits, this is doable if you have a few GPUs.
If there is an outgoing transaction, then with the un/compressed public key and kangaroo or pollard, also possible.

Sadly this was an offline wallet, so it only ever had incoming transaction. It has never sent out.

No problem, because Bitcrack is more efficient than Kangaroo for your problem (also, Kangaroo will only work if you have the public key, not the address).

Really? I thought with 10 missing characters that was 58^10th or a large number and it was going to take centuries to solve this. How exactly do I solve this in minutes? What tool should I use, or is there something custom? I am willing to pay a bounty for someone assisting me to set this up on machine.


58**10 is a very large number, however to estimate the difficulty, you need the equivalent power in base 2, so what we do is we take the log2 of the result: log2(58**10). Then if gives us the difficulty in bits: such that 2**bits == 58**10 (here, bits equals 58.a_fractional_part).

Difficulty can also be written as "10 base 8 characters", but its common for programs to estimate it in terms of bits as well.

This will probably not take minutes unless you have a large GPU farm, but a few weeks is a more accurate estimate. Since Bitcrack can only talk to 1 GPU as far as I know.

so I am plugging the value into that site: w1111111111JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7 and for hex I am getting:

64 B3 82 BA 7E 44 5B 0F 02 B1 26 EE 95 04 62 B9 E3 A8 8D 67 7C 5D E1 74 E6 44 88 6D 5B 20 F8 8F F0 10 E5 FF A5 C0. I feel like I am doing something wrong on the site.

Any insight?
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 03:03:38 UTC
It has a difficulty of log2(58**10) = 58.5798 bits, this is doable if you have a few GPUs.
If there is an outgoing transaction, then with the un/compressed public key and kangaroo or pollard, also possible.
Sadly this was an offline wallet, so it only ever had incoming transaction. It has never sent out.
So that would be very easy. ~60 missing bits, we would have the private key within minutes.
Really? I thought with 10 missing characters that was 58^10th or a large number and it was going to take centuries to solve this. How exactly do I solve this in minutes? What tool should I use, or is there something custom? I am willing to pay a bounty for someone assisting me to set this up on machine.

We don't have an outgoing transaction, so we can't do it with pollard or kangaroo.

You said above that we could do it in minutes. Is that not possible now since we don't have any outgoing TXs?

Thanks,
S.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 02:56:43 UTC
It has a difficulty of log2(58**10) = 58.5798 bits, this is doable if you have a few GPUs.
If there is an outgoing transaction, then with the un/compressed public key and kangaroo or pollard, also possible.

Sadly this was an offline wallet, so it only ever had incoming transaction. It has never sent out.

So that would be very easy. ~60 missing bits, we would have the private key within minutes.

Really? I thought with 10 missing characters that was 58^10th or a large number and it was going to take centuries to solve this. How exactly do I solve this in minutes? What tool should I use, or is there something custom? I am willing to pay a bounty for someone assisting me to set this up on machine.
Post
Topic
Board Development & Technical Discussion
Re: VanitySearch (Yet another address prefix finder)
by
soferox
on 30/12/2021, 02:53:43 UTC
Sorry I made a new thread to not clutter this one up. Thank you both!
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 02:49:53 UTC
It has a difficulty of log2(58**10) = 58.5798 bits, this is doable if you have a few GPUs.
If there is an outgoing transaction, then with the un/compressed public key and kangaroo or pollard, also possible.

Sadly this was an offline wallet, so it only ever had incoming transaction. It has never sent out.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 02:46:42 UTC
See my answer on Jean Luc's Kangaroo thread:

I have a question. Recently there was a flood and a notebook containing a offline wallet was damage and it destroyed part of a WIF private key, so now I basically have:

Kw**********(I have the next 40 characters, just not posting for obvious reasons), so I am missing 10 characters in all.

I also have the public key. Is it possible to use this software to start a search at Kw... and iterate over the missing 10 characters with the known 40 characters also in the key.

For example : 1GuqEWwH5iRZ89oo5xw26FqmyZFMWZrtPi - is the public address

and for the WIF private key I'd have Kw**********JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7

basically I want to always have search for private key start at 'Kw', then search for missing 10, and end with 'JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7'

Any advice is appreciated and examples are even more appreciated

Thank you,
S.

The "K" at the beginning stands for an uncompressed private key so effectively one character is ruled out.

You should probably use bitcrack with a stride of "244 62 8 66 47 124 80 157 248 14 101 42 20 166 75 38 90 171 48 143 193 217 43 86 127 213 68 99 176 225 142 231 221 232 209 1 232 119 87 59 159 250 92" (these are grouped in three digits - where there's less than three digits then put zeros at the beginning).

Then you set the start range to "62 15 48 27 224 252 140 123 196 154 246 145 249 147 190 242 245 119 253 137 57 120 87 229 177 249 235 57 188 105 162 106 16 38 232 62 226 68 207 61 60 159 137 16 30 135 117 115 185 255 165 192" (3E 0F 30 1B E0 FC 8C 7B C4 9A F6 91 F9 93 BE F2 F5 77 FD 89 39 78 57 E5 B1 F9 EB 39 BC 69 A2 6A 10 26 E8 3E E2 44 CF 3D 3C 9F 89 10 1E 87 75 73 B9 FF A5 C0, or: w1111111111JzXa.....)

and the end range to "63 53 101 37 224 105 133 154 79 164 116 14 184 245 198 239 210 247 218 39 60 17 143 67 53 249 245 92 6 253 234 184 11 67 248 114 161 110 81 101 39 66 237 125 158 135 117 115 185 255 165 192" (3F 35 65 25 E0 69 85 9A 4F A4 74 0E B8 F5 C6 EF D2 F7 DA 27 3C 11 8F 43 35 F9 F5 5C 06 FD EA B8 0B 43 F8 72 A1 6E 51 65 27 42 ED 7D 9E 87 75 73 B9 FF A5 C0, or: wzzzzzzzzzzJzXa....).

Make sure you only search for uncompressed keys to speed things up.

In one command:

./bitcrack -u --keyspace 0x3E0F301BE0FC8C7BC49AF691F993BEF2F577FD89397857E5B1F9EB39BC69A26A1026E83EE244C F3D3C9F89101E877573B9FFA5C0:0x3F356525E069859A4FA4740EB8F5C6EFD2F7DA273C118F4335F9F55C06FDEAB80B43F872A16E5 1652742ED7D9E877573B9FFA5C0 --stride 2440620080660471240801572480141010420201660750380901710481431932170430861272130 68099176225142231221232209001232119087059159250092

It has a difficulty of log2(58**10) = 58.5798 bits, this is doable if you have a few GPUs.

Note: it's important to place your public address at the end of the command (after the stride), although I did not write that in the other post.
'

I thought WIF keys that began with K or L were compressed keys and WIF keys that began with 5 were the uncompressed ones? Also I am a bit confused how I get those big numbers with only the public address and a WIF key that is missing characters. Could you elaborate anymore? I apologize I am fairly new to learning about all this.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 02:36:19 UTC
the paper turned to mush. There is no hope of any kind of analysis.

Do you have the compressed/uncompressed public key or outgoing transactions from that address?

I have the public address which will have transactions on it yes. Does that help any?
I basically only have the damage WIF key and the public address like in the example in original post.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 02:20:49 UTC
and for the WIF private key I'd have Kw**********jcQmKRPNTF8CU9H1thzC981DCrZgmS4m8ygXFCEk (this is just an example, no funds are here)

Is the paper missing after Kw or is there enough paper for some letters, so that the chemical analysis would help you to recover some more characters to make the calculation easier?

For example:
Kw**********jcQ...

** -> paper / chemical analysis / recover characters
****** -> hole / no paper

-> so you would have 6 missing characters

the paper turned to mush. There is no hope of any kind of analysis.
Post
Topic
Board Bitcoin Technical Support
Re: Missing 10 Characters in WIF Private Key - Can I recover them?
by
soferox
on 30/12/2021, 02:20:29 UTC
I have a question. Recently there was a flood and a notebook containing a offline wallet was damage and it destroyed part of a WIF private key, so now I basically have:

do you have the seed phrase or only saved the PK?

Its just a PK from many many years ago.