Author

Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it - page 272. (Read 208030 times)

newbie
Activity: 14
Merit: 0
@arulbero
I have an idea about #58. Can I message you the details?
legendary
Activity: 1915
Merit: 2074

Quote

About 16.7 MKeys/s, 1 GKeys/min.
 
Let's say 2^24 Keys/s.
To compute 2 lists of 2^28 keys, it takes 2 * 2^4 seconds, about 30 seconds. That is the time it took to retrieve the key #57.
Have you tried to search a key in space of 10 quadrillion? How many hours you think it can finish that large space?

American or British system ? -> https://www.quadrillion.com/number.shtm

quadrillion = 10^15 -> 10 quadrillion = 10^16?  10^16 = 2^53  -->  2 lists of 2^26 keys = 2 * 2^2 = 8 seconds  

quadrillion = 10^24 -> 10 quadrillion = 10^25?  10^25 = 2^83  --> 2 lists of 2^41 keys ? NO! Too much for my RAM!


Let's say that the max list size (for my RAM) is 2^28 keys.
 
To retrieve the #59, I need to compute 2 list of 2^29, I have to split the first in 2 * 2^28, then generate the 2^29 keys of the second list 2 times against each half of the first,  tot: 2*2^28 + 2*2^29 = 3*2^29 instead of 2*2^29 (96 seconds instead of 64 seconds).

To retrieve the #61, I need to compute 2 list of 2^30, I have to split the first in 4 * 2^28, then generate the 2^30 keys of the second list 4 times against each quarter of the first list,  tot: 4*2^28 + 4*2^30 = 5*2^30 instead of 2*2^30 (320 seconds instead of 128 seconds).

To retrieve the #63, I need to compute 2 list of 2^31, I have to split the first in 8 * 2^28, then generate the 2^31 keys of the second list 8 times against each part of the first list,  tot: 8*2^28 + 8*2^31 = 9*2^31 instead of 2*2^31 (1152 seconds instead of 256 seconds).

To retrieve the #65, I need to compute 2 list of 2^32, I have to split the first in 16 * 2^28, then generate the 2^32 keys of the second list 16 times against each part of the first list,  tot: 16*2^28 + 16*2^32 = 17*2^32 instead of 2*2^32 (4352 seconds instead of 512 seconds).

Time is for the #(57+x) = (2^(x/2)+1) lists of 2^((57+x-1)/2) keys instead of only 2 lists of 2^(57+x-1)/2 keys


For the #61 = #(57+4) = (2^2+1) * (2^30) = (2^2  + 1) lists of 2^30  -> 5 * 2^6 seconds = about 320 seconds = 5 min 20 sec

For the #71 = #(57+14) = (2^7+1) * (2^35) = (2^7  + 1) lists of 2^35  -> 2^7 * 2^11 seconds = about 2^18 seconds = 73 hours

For the #83 = #(57+26) = (2^13+1) * (2^82/2) = (2^13  + 1) lists of 2^41  -> 2^13 * 2^17 seconds = about 2^30 seconds = 34 years  (if I had enough RAM, 2 * 2^41 = 2^42 keys = 2^18 seconds = 73 hours !!! I would need a RAM:  2^13  = 8000 times 32 GB)

member
Activity: 166
Merit: 16
anyone notice the other transactions on #57? how on earth did they do that? Those are hellafied vanity addresses.
edit: Sorry pre coffee me.. someone just sent to those addresses .. had me freaking out for a sec.. like oh man if they
can generate vanity addresses that long that fast they pretty much own all the btc... *panic mode engaged*
Then *doh! eureka moment*  NOW it's funny.

newbie
Activity: 11
Merit: 0
That works only if you have enough RAM to store 2^28 keys. Otherwise that program cannot retrieve #57.

Besides if you want to retrieve only #57 and you don't modify the code, it starts always from 1 to 2^57 - 1 (instead from 2^56 to 2^57 - 1)

Could you please show us how to change the code so it can search only range 2^56 to 2^57 - 1?
newbie
Activity: 14
Merit: 0

Quote

About 16.7 MKeys/s, 1 GKeys/min.
 
Let's say 2^24 Keys/s.
To compute 2 lists of 2^28 keys, it takes 2 * 2^4 seconds, about 30 seconds. That is the time it took to retrieve the key #57.
Have you tried to search a key in space of 10 quadrillion? How many hours you think it can finish that large space?
member
Activity: 242
Merit: 17
this is man 1AqEgLuT4V2XL2yQ3cCzjMtu1mXtJLVvww hacked:

1LzhS3k3e9Ub8i2W1V8xQFdB8n2MYCHPCa 2018-05-29
17aPYR1m6pVAacXg1PTDDU7XafvK1dxvhi  2018-09-08
15c9mPGLku1HuW9LRtBf4jcHVpBUt8txKz 2018-11-08 today

=$ 10,448

what hash 15c9mPGLku1HuW9LRtBf4jcHVpBUt8txKz.........

look this tx https://www.blockchain.com/btc/tx/c1c8a3c8c9dccc3dbbc470e294a0610a2bc2e22c41f9a0c2a06ef5dc1d6d4480
 and this address https://www.blockchain.com/btc/address/1LqJ9cHPKxPXDRia4tteTJdLXnisnfHsof ownd by https://github.com/brichard19/BitCrack/blob/master/README.md (scroll down you will find the address).  how fast BitCrack find the 57  
puzzle key?  "THIS MAN" is fast

Nope
Somehow Mr  1AqEgLuT4V2XL2yQ3cCzjMtu1mXtJLVvww has given some BTC (0.1) to 1LqJ9cHPKxPXDRia4tteTJdLXnisnfHsof  Wink I wonder why Wink

https://www.blockchain.com/btc/tx/c1c8a3c8c9dccc3dbbc470e294a0610a2bc2e22c41f9a0c2a06ef5dc1d6d4480


legendary
Activity: 1915
Merit: 2074
If the public key is revealed it is still safe from bruteforce if the attacker don't know the range of bits to search for?

Of course.
Many blocks mined by Satoshi have txs with "pay to public key" script (P2PK) instead of "pay to public key hash" script (P2PKH, pay to address).

The public keys are known, but the btc are still there:

block #100

https://www.blockchain.com/it/btc/tx/2d05f0c9c3e1c226e63b5fac240137687544cf631cd616fd34fd188fc9020866

PUSHDATA(65)[04e70a02f5af48a1989bf630d92523c9d14c45c75f7d1b998e962bff6ff9995fc5bdb44f1793b3749 5d80324acba7c8f537caaf8432b8d47987313060cc82d8a93] CHECKSIG

Code:
x = e70a02f5af48a1989bf630d92523c9d14c45c75f7d1b998e962bff6ff9995fc5

y = bdb44f1793b37495d80324acba7c8f537caaf8432b8d47987313060cc82d8a93
newbie
Activity: 14
Merit: 0
@arulbero

If the public key is revealed it is still safe from bruteforce if the attacker don't know the range of bits to search for?
hero member
Activity: 2744
Merit: 541
Campaign Management?"Hhampuz" is the Man

Is this puzzle still available?and remain unsolved thats why the answer keeps on coming even this thread has been posted three years ago?
Anyway this has been a big prize if the 32bitcoin remain as the bounty for the puzzle,no wonder how much the value for now of bitcoin
legendary
Activity: 1915
Merit: 2074
I you try this code (https://gist.github.com/jhoenicke/2e39b3c6c49b1d7b216b8626197e4b89) and want to get all puzzle private keys up to #57 , you need to change
 giant steps up to  2^28

#define GSTEP (1<<28)

otherwise it stops at #52



That works only if you have enough RAM to store 2^28 keys. Otherwise that program cannot retrieve #57.

Besides if you want to retrieve only #57 and you don't modify the code, it starts always from 1 to 2^57 - 1 (instead from 2^56 to 2^57 - 1)
member
Activity: 242
Merit: 17
I used the Baby Step - Giant Step applied to a search space of 2^54 points --> 2^27 steps (more or less). It took about 18 seconds to retrieve the private key. Obviously if I had to search the private key in the entire search space of 2^256 points, I couldn't perform the 2^128 required steps (this is computationally infeasible).

Can you share the code?

No, I can't.


Information:

https://sefiks.com/2018/02/28/attacking-elliptic-curve-discrete-logarithm-problem/
http://andrea.corbellini.name/2015/06/08/elliptic-curve-cryptography-breaking-security-and-a-comparison-with-rsa/


Code (not mine, slower than mine but good, with the first 51 public keys of the puzzle transaction) :

https://gist.github.com/jhoenicke/2e39b3c6c49b1d7b216b8626197e4b89


I you try this code (https://gist.github.com/jhoenicke/2e39b3c6c49b1d7b216b8626197e4b89) and want to get all puzzle private keys up to #57 , you need to change
 giant steps up to  2^28

#define GSTEP (1<<28)

otherwise it stops at #52

newbie
Activity: 14
Merit: 0
@arulbero thanks mate!
legendary
Activity: 1915
Merit: 2074
Quote
I search only the last 56 bit (between 2^56 and 2^57 - 1)

Btw why -1?

Because 2^57 has 58 digits (in binary form '1' + 57 '0'). Then 2^57 could be the key #58, not #57

key 1 -> 1 bit :  1  ( from 2^0 to 2^1 - 1)

key 2 -> 2 bit :  from 2 to 3 (from 2^1 to 2^2 - 1) : 10 or 11

key 3 -> 3 bit : from 4 to 7 (from 2^2 to 2^3 - 1) : 100 or 101 or 110 or 111

key 57 -> 57 bit : from 2^56 to 2^57 - 1

key 58 -> 58 bit : from 2^57 to 2^58 - 1

If you look at

key #3
.....0000000000000000000000000000000000000000000000000000000000000111 (to address 19ZewH8Kk1PDbSNdJ97FP4EiCjTRaZMZQA)

and at the #4
.....0000000000000000000000000000000000000000000000000000000000001000 (to address 1EhqbyUMvvs7BfL8goY6qcPbD6YKfPqb7e)

key #3 = 2^3 - 1 = 7
key #4 = 2^3      = 8
newbie
Activity: 14
Merit: 0
Quote
I search only the last 56 bit (between 2^56 and 2^57 - 1)

Btw why -1?
legendary
Activity: 1915
Merit: 2074
Quote

About 16.7 MKeys/s, 1 GKeys/min.
 
Let's say 2^24 Keys/s.
To compute 2 lists of 2^28 keys, it takes 2 * 2^4 seconds, about 30 seconds. That is the time it took to retrieve the key #57.

Wow faster than libsecp256k1

I don't know, did you test it?

Look at this thread:
https://bitcointalksearch.org/topic/m.47210876
https://bitcointalksearch.org/topic/m.47263144
newbie
Activity: 14
Merit: 0
Quote

About 16.7 MKeys/s, 1 GKeys/min.
 
Let's say 2^24 Keys/s.
To compute 2 lists of 2^28 keys, it takes 2 * 2^4 seconds, about 30 seconds. That is the time it took to retrieve the key #57.

Wow faster than libsecp256k1
member
Activity: 462
Merit: 14
I don't know why but I'm smelling a big scam. Because a newbie that offer more than 12 000€ to solve a following of numbers this is strange...
Well it ain't newbie in fact he ranked up to member. Anyway, I do not see something relevant with the data presented. It maybe some sort of coincidence. Even if so BTC won't be decrypted that easily and for that the reward is nothing. I bet no one could manage to predict on or cracked the things with BTC.
legendary
Activity: 1915
Merit: 2074
Quote

My code instead uses a different library written by myself for the LBC project.

In your code how many keys can you generate per minute?

About 16.7 MKeys/s, 1 GKeys/min.
 
Let's say 2^24 Keys/s.
To compute 2 lists of 2^28 keys, it takes 2 * 2^4 seconds, about 30 seconds. That is the time it took to retrieve the key #57.
newbie
Activity: 14
Merit: 0
Quote

My code instead uses a different library written by myself for the LBC project.

In your code how many keys can you generate per minute?
legendary
Activity: 1915
Merit: 2074
If I get this correctly, you need the Raw Public Key to recover the private key.

But it is not possible to get the Raw Public Key  from a Bitcoin Address unless some transaction is done by whoever cracked the private key first, right?

Right!

which program you use to generate a large number of address and keys?

You have to use a library tailored to elliptic computations.

The most famous is the libsecp256k1 written by Pieter Wuille (it is in Bitcoin Core).

These programs https://gist.github.com/jhoenicke/2e39b3c6c49b1d7b216b8626197e4b89 and https://github.com/klynastor/supervanitygen use this library.

My code instead uses a different library written by myself for the LBC project.
Jump to: