mynonce
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 03:15:49 AM |
|
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 thought, you have the public key too. You said above that we could do it in minutes. Is that not possible now since we don't have any outgoing TXs?
... 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. I wish you good luck.
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 03:26:02 AM |
|
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-cipherAnd 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? I am not getting the hex values you got in your original post.
|
|
|
|
NotATether
Legendary
Offline
Activity: 1694
Merit: 7152
In memory of o_e_l_e_o
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 04:11:52 AM |
|
... 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: w1111111111JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7 oQX1cWCo92tAA3ihLJ7 (I accidentally duplicated the last part).
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 04:30:32 AM |
|
... 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: w1111111111JzXaqU2rcFSoaLaehAQHqoQX1cWCo92tAA3ihLJ7 oQX1cWCo92tAA3ihLJ7 (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.
|
|
|
|
Coding Enthusiast
Legendary
Offline
Activity: 1040
Merit: 2784
Bitcoin and C♯ Enthusiast
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 05:34:21 AM |
|
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 13491826005831086771641399365157222283117801812915393869332949675679483454208
While the permutations are only 3364.
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 05:47:18 AM |
|
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 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.
|
|
|
|
Coding Enthusiast
Legendary
Offline
Activity: 1040
Merit: 2784
Bitcoin and C♯ Enthusiast
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 06:05:00 AM |
|
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.
Unfortunately I haven't been able to add GPU support to FinderOuter yet.
|
|
|
|
NotATether
Legendary
Offline
Activity: 1694
Merit: 7152
In memory of o_e_l_e_o
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 09:31:08 AM |
|
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 13491826005831086771641399365157222283117801812915393869332949675679483454208
While the permutations are only 3364. The program I'm using is able to skip-count so I think that can mitigate the speed penalty. So I can jump through each next value, adding the huge difference to the previous each time to get the next.
|
|
|
|
mynonce
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 11:56:58 AM Last edit: December 30, 2021, 12:08:33 PM by mynonce |
|
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. 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](https://bitcointalk.org/Smileys/default/wink.gif) 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/WifSolver2) 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
|
|
|
|
PawGo
Legendary
Offline
Activity: 952
Merit: 1372
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 12:14:40 PM |
|
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
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 08:59:17 PM |
|
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! Also I should note I only have the WIF key and public address. I don't have the private address or public key. THe WIF is missing 10 character exactly due to damage of paper wallet. Does this make any difference?
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 09:05:57 PM |
|
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. 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](https://bitcointalk.org/Smileys/default/wink.gif) 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/WifSolver2) 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#msg56298967What 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! **EDIT** I just saw he did it with just a CPU. Thats crazy! But I don't have public key, so thats not gonna help me much right? And since this address has never sent anything I can't get it right?
|
|
|
|
mynonce
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 09:19:12 PM |
|
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](https://bitcointalk.org/Smileys/default/wink.gif) 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.
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 09:21:20 PM |
|
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](https://bitcointalk.org/Smileys/default/wink.gif) 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 Thanks, S.
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 10:22:47 PM |
|
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](https://bitcointalk.org/Smileys/default/wink.gif) 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.
|
|
|
|
mynonce
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 10:33:52 PM |
|
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?
No, with that Hash160 address, you calculate your Bitcoin address. For example : 1B2Q8vPm5E5b8yxaNWUW5ZfdCR5Zu1KMJn
examples of public keys: public key (uncompressed) 04b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a87378ec38ff91d43e 8c2092ebda601780485263da089465619e0358a5c1be7ac91f4 public key (compressed) 02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737 or 03b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737 they all start with 02, 03 or 04 length is 66 or 130 characters (0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f) letters can be upper case (A,B,C,D,E,F)
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 30, 2021, 11:12:30 PM |
|
Blah thats right. Man really wish I'd have done at least 1 tx on this thing.
|
|
|
|
LoyceV
Legendary
Offline
Activity: 3402
Merit: 17183
Thick-Skinned Gang Leader and Golden Feather 2021
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2021, 07:50:06 AM |
|
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?
|
|
|
|
soferox (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2021, 08:41:33 AM |
|
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 S.
|
|
|
|
stanner.austin
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 68
Merit: 53
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2021, 10:54:21 AM |
|
@soferox
I have made test too 4 digit recovery take 75 to 80sec on single core CPU. 10 digit is way out of range for CPU. but it's possible to code something for GPU just for WIF solving. but it's depend on how much your address is holding and how much reward we are talking.
if it's worth it, hire coder who can make cuda kernel for bf WIF and its take few minutes to recover that. but cuda coding is not cheap.
|
|
|
|
|