Pages:
Author

Topic: Pollard's kangaroo ECDLP solver - page 44. (Read 60095 times)

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
August 02, 2021, 03:55:22 AM
Guys, take a look at this: https://link.springer.com/content/pdf/10.1007/s11227-020-03441-5.pdf

A faster modular multiplication implementation for the P-192 curve.

Granted this is the wrong curve, but it has the same general formula y2 = x3+ax+b, so all that theoretically has to be done is to extend the summations to a few extra terms (they'll just be 32 words instead of 24, which means a 32x32 word multiplication size instead of 24x24) and accommodate for the missing ax.

E.g. where it defines range shifted representation (RSR) of a large number, which it uses in the algorithm:

Code:
X = ∑ i=0,i=23 xiWi−12 = x0W−12 + x1W−11 + ⋯ + x23W11,
Y = ∑i=0,i=23 yiWi−12 = y0W−12 + y1W−11 + ⋯ + y23W11,
Z = X ⋅ Y = ∑i=0,i=47 ziWi−24 = z0W−24 + z1W−23 + ⋯ + z47W23

We can just replace it with this:

Code:
X = ∑ i=0,i=31 xiWi−16 = x0W−16 + x1W−15 + ⋯ + x31W15,
Y = ∑i=0,i=31 yiWi−16 = y0W−16 + y1W−15 + ⋯ + y31W15,
Z = X ⋅ Y = ∑i=0,i=63 ziWi−32 = z0W−32 + z1W−31 + ⋯ + z63W31

(x, y, z summation terms are all between 0 and 255 inclusive)

Then the rest of the modular multiplication follows suit.

They say it's 26% faster than the usual ECC multiplication algorithm. I wonder if this representation also handles modular addition well. If it does, then we got ourselves a faster way to do modular arithmetic.

The study was carried out on some 8-bit embedded machine. Modern pipelines stuff 64 bits in a register so we may even be able to reduce the number of RSR words by a factor of 8 i.e. only 2 x and y words and 4 z words (and ovbiously the maximum range of each word increases proportionally).
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
August 02, 2021, 03:25:43 AM
maybe your all calc wrong, giving you example
generate 70 bit random key, and use kanagroo to find it, note the time
then split 70 bit 65 bit with 32 keys and try to find one by one in 65 bit and note time,
then split 70 bit 65 bit with 32 keys and try to find 32 keys parallel in 65 bit and note time,
you will have time calc result


@brainless, you realy can downgrade 120 bit to 110 bit or 105bit and get exact 1 public key only vs. many pubkeys ?  Smiley
full member
Activity: 1232
Merit: 242
Shooters Shoot...
August 01, 2021, 09:58:06 PM
maybe your all calc wrong, giving you example
generate 70 bit random key, and use kanagroo to find it, note the time
then split 70 bit 65 bit with 32 keys and try to find one by one in 65 bit and note time,
then split 70 bit 65 bit with 32 keys and try to find 32 keys parallel in 65 bit and note time,
you will have time calc result

Why run the test when you have an average/expected run time calculation?
Running your test, you would have to set -m option to 1.x or 2.x to ensure you find key if it is the key that is in the range; expected/average can sometimes go over the 50% mark.
You can run parallel only if you have 32 GPUs and run a different program.

Granted, if the key is in the 0 or 1 spot, you would definitely save some minutes at 65 bit range, but 120 bit range is a different monster, way bigger bit range and who wants to chance it?

member
Activity: 348
Merit: 34
August 01, 2021, 08:51:10 PM
maybe your all calc wrong, giving you example
generate 70 bit random key, and use kanagroo to find it, note the time
then split 70 bit 65 bit with 32 keys and try to find one by one in 65 bit and note time,
then split 70 bit 65 bit with 32 keys and try to find 32 keys parallel in 65 bit and note time,
you will have time calc result
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
August 01, 2021, 02:47:31 PM
...
yes... but I think 1000 pubkeys in range 100 will be faster then 1 in 120 ?
If you downgrade to range 100, you will have ~1,000,000 pubkeys and only 1 of them is the right one.
You would have to calculate far more than the original one in #120.

YeEyYas  Smiley Bro, not 1000 for 10 bits but 1000000 = 32(120->115)*32(115-110) etc...
jr. member
Activity: 50
Merit: 7
August 01, 2021, 02:41:59 PM
...
yes... but I think 1000 pubkeys in range 100 will be faster then 1 in 120 ?
If you downgrade to range 100, you will have ~1,000,000 pubkeys and only 1 of them is the right one.
You would have to calculate far more than the original one in #120.

^^
copper member
Activity: 76
Merit: 11
August 01, 2021, 02:32:09 PM
...
yes... but I think 1000 pubkeys in range 100 will be faster then 1 in 120 ?
If you downgrade to range 100, you will have ~1,000,000 pubkeys and only 1 of them is the right one.
You would have to calculate far more than the original one in #120.
full member
Activity: 1232
Merit: 242
Shooters Shoot...
August 01, 2021, 02:05:14 PM
The kangaroo server is live! DP 25 and currently at DP 2^24.229/2^35.55. The server handles all user Kangaroo backups and work saves, join the discord for more information: https://discord.gg/DjMksx8wqr

we also need to have an open discussion on the best way to split the prize for all involved on the server.


Bro, try downgrade range for 5bits, from 120 to 115, you get f 32 public keys with guaranteed 1 pubkey in range 115.



The kangaroo server can only search for 1 public key at a time, we would have to run the server 32 times for that to work which will take longer than just searching for 120 natively

yes... but I think 1000 pubkeys in range 100 will be faster then 1 in 120 ?
Cobras does not read...it's been explained in this thread

It would take 1,024 (2^10) pubkeys to get down to the 110 bit range

119/2 + 1 = 60.5
109/2 + 1 = 55.5; 2^55.5 * 2^10 (number of pubkeys you have to run/check) = 2^65.5
2^65.5 > 2^60.5
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
August 01, 2021, 01:57:15 PM
The kangaroo server is live! DP 25 and currently at DP 2^24.229/2^35.55. The server handles all user Kangaroo backups and work saves, join the discord for more information: https://discord.gg/DjMksx8wqr

we also need to have an open discussion on the best way to split the prize for all involved on the server.


Bro, try downgrade range for 5bits, from 120 to 115, you get f 32 public keys with guaranteed 1 pubkey in range 115.



The kangaroo server can only search for 1 public key at a time, we would have to run the server 32 times for that to work which will take longer than just searching for 120 natively

yes... but I think 1000 pubkeys in range 100 will be faster then 1 in 120 ?
jr. member
Activity: 50
Merit: 7
August 01, 2021, 01:53:25 PM
The kangaroo server is live! DP 25 and currently at DP 2^24.229/2^35.55. The server handles all user Kangaroo backups and work saves, join the discord for more information: https://discord.gg/DjMksx8wqr

we also need to have an open discussion on the best way to split the prize for all involved on the server.


Bro, try downgrade range for 5bits, from 120 to 115, you get f 32 public keys with guaranteed 1 pubkey in range 115.



The kangaroo server can only search for 1 public key at a time, we would have to run the server 32 times for that to work which will take longer than just searching for 120 natively
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
August 01, 2021, 01:44:08 PM
The kangaroo server is live! DP 25 and currently at DP 2^24.229/2^35.55. The server handles all user Kangaroo backups and work saves, join the discord for more information: https://discord.gg/DjMksx8wqr

we also need to have an open discussion on the best way to split the prize for all involved on the server.


Bro, try downgrade range for 5bits, from 120 to 115, you get f 32 public keys with guaranteed 1 pubkey in range 115.

member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
August 01, 2021, 01:20:44 PM
The kangaroo server is live! DP 25 and currently at DP 2^24.229/2^35.55. The server handles all user Kangaroo backups and work saves, join the discord for more information: https://discord.gg/DjMksx8wqr

we also need to have an open discussion on the best way to split the prize for all involved on the server.


How long more you will be brute ?

Good lack !
jr. member
Activity: 50
Merit: 7
August 01, 2021, 01:05:42 PM
The kangaroo server is live! DP 25 and currently at DP 2^24.229/2^35.55. The server handles all user Kangaroo backups and work saves, join the discord for more information: https://discord.gg/DjMksx8wqr

we also need to have an open discussion on the best way to split the prize for all involved on the server.
jr. member
Activity: 81
Merit: 2
July 31, 2021, 10:29:18 PM
can you share script to do these calculations or explain a way please

Again, if you go a few pages back you'll find a division script in Python.

This was previously posted in this thread but deleted for some reason, it's a snippet from iceland2k14's Github that divides a pubkey by an arbitrary number and returning all the parts in between. I polished it a bit to print the compressed and uncompressed keys: https://gist.github.com/ZenulAbidin/286a652b160086b3b0f184a886ba68ca

Here's the script output when called with a random (uninteresting - with no balance) pubkey, divided by 48. The keys divided by 0, 1, 2, 3 and so on are printed in order:

~snipped
once you use script and devide with 48 , my question is what range than i have to set to scan if i devide 48
and what about if i divide with 96 what range
and what about like odd number 55

I reduced by using subtraction, not division as in icelands that NotATether posted.

If you are reducing a pubkey that is in the 100 bit range, then think of 2^x. To get the 100 bit pubkey down to 95 bit range, you will need to divide by 2^5 (32); if you want it down to 90 bit range, you will need to divide by 2^10 (1,024); if you use an odd number, then the odd number pubkey will be in a range in between the powers of 2; so if you divided by 777 then the 777 pubkey would be in a range somewhere between 2^91 = 2^100 -  2^9 (512) and 2^90 = 2^100 - 2^10 (1,024)

Thanks but may i know how we can do addition and multiplication with each other key and get one key as brainless mentioned ?
full member
Activity: 1232
Merit: 242
Shooters Shoot...
July 31, 2021, 07:57:43 PM
can you share script to do these calculations or explain a way please

Again, if you go a few pages back you'll find a division script in Python.

This was previously posted in this thread but deleted for some reason, it's a snippet from iceland2k14's Github that divides a pubkey by an arbitrary number and returning all the parts in between. I polished it a bit to print the compressed and uncompressed keys: https://gist.github.com/ZenulAbidin/286a652b160086b3b0f184a886ba68ca

Here's the script output when called with a random (uninteresting - with no balance) pubkey, divided by 48. The keys divided by 0, 1, 2, 3 and so on are printed in order:

~snipped
once you use script and devide with 48 , my question is what range than i have to set to scan if i devide 48
and what about if i divide with 96 what range
and what about like odd number 55

I reduced by using subtraction, not division as in icelands that NotATether posted.

If you are reducing a pubkey that is in the 100 bit range, then think of 2^x. To get the 100 bit pubkey down to 95 bit range, you will need to divide by 2^5 (32); if you want it down to 90 bit range, you will need to divide by 2^10 (1,024); if you use an odd number, then the odd number pubkey will be in a range in between the powers of 2; so if you divided by 777 then the 777 pubkey would be in a range somewhere between 2^91 = 2^100 -  2^9 (512) and 2^90 = 2^100 - 2^10 (1,024)
jr. member
Activity: 48
Merit: 11
July 31, 2021, 08:16:47 AM
...

Salut.
I also have RTX 3090. I can’t stabilize the speed. The rate is from 5000 to 20.
How did you solve this problem. Or don't you have it?
What's the secret? Why is the speed not stable?


Show an example of startup parameters and output of a program
newbie
Activity: 11
Merit: 0
July 31, 2021, 06:35:01 AM
btw i can offer 115bit range only 1 key, for make this key i need 0.75btc for buying 3090rtx gpu's for my calc fast to within 7 days Smiley, but here no one have this for work of months to days Smiley

I've been puzzling over your way of reducing the number of keys to 16/260 and 1/720 for two weeks now)))
You write that for 1 key of 115 bits it takes 7 days for 3090. How much time does it take to compress to 260 and 720 keys?
Thank you

Based on my experience the compression happens almost instantaneously since you just make 260 or 720 passes in a loop respectively.

I'm not sure I can believe the time to crack is that fast for a single 3090, what's most likely happening is that he's running a bunch of them in parallel. Otherwise #120 wouldn't be so hard to solve and could be done with a GPU farm full of 3090s.
------------------------------------------------------------------------------------------------------------------------------------
Salut.
I also have RTX 3090. I can’t stabilize the speed. The rate is from 5000 to 20.
How did you solve this problem. Or don't you have it?
What's the secret? Why is the speed not stable?
jr. member
Activity: 48
Merit: 11
July 30, 2021, 04:38:39 AM
@Brainless, show to us your  BTC wallet ? I think Wink something  tells me for some reason, you was some time ago crack some walets Wink, so, we are see, what you have a method, and regard you for your succes Huh
COBRAS, what is the basis for your accusation?
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
July 30, 2021, 01:34:06 AM
...
which script you used bro

If we are talking about
for 10 bit down = 1024 pubkeys
for 20 bit down = 1024*1024 = 1048576 pubkeys
for 30 bit down = 1024*1024*1024 = 1073741824 pubkeys
then NotATether posted it several posts above:
https://gist.github.com/ZenulAbidin/286a652b160086b3b0f184a886ba68ca

If we are talking about
1048576 and 1073741824 pubkeys with each other addition and mutiplication will return you 260 pubkeys apear where 16 pubkeys sure inside 10 bit down from main pubkey
these 260 pubkeys again played for get 30 bit down for 1/720 pubkeys
only Brainless knows this, it is his secret. I don't know if he told anyone about it

Hi was told

Quote
" I got it down to 104 bits today, but with 32,000 pubkeys; better than the normal 2^16 normally required, but I can't figure out a way to shrink it down to one key... "

for 10 bit down = 1024 pubkeys
for 20 bit down = 1024*1024 = 1048576 pubkeys
for 30 bit down = 1024*1024*1024 = 1073741824 pubkeys

1048576 and 1073741824 pubkeys with each other addition and mutiplication will return you 260 pubkeys apear where 16 pubkeys sure inside 10 bit down from main pubkey
these 260 pubkeys again played for get 30 bit down for 1/720 pubkeys
now you can start to find with above tip

but no one try "pubkeys with each other addition and mutiplication"

But, then I was a child, I have no secret what kind of love boy I was for Sharon Stone, and I told my secret to everyone Wink And many people was trust me )))

@Brainless, show to us your  BTC wallet ? I think Wink something  tells me for some reason, you was some time ago crack some walets Wink, so, we are see, what you have a method, and regard you for your succes Huh
jr. member
Activity: 48
Merit: 11
July 30, 2021, 01:29:07 AM
...
which script you used bro

If we are talking about
for 10 bit down = 1024 pubkeys
for 20 bit down = 1024*1024 = 1048576 pubkeys
for 30 bit down = 1024*1024*1024 = 1073741824 pubkeys
then NotATether posted it several posts above:
https://gist.github.com/ZenulAbidin/286a652b160086b3b0f184a886ba68ca

If we are talking about
1048576 and 1073741824 pubkeys with each other addition and mutiplication will return you 260 pubkeys apear where 16 pubkeys sure inside 10 bit down from main pubkey
these 260 pubkeys again played for get 30 bit down for 1/720 pubkeys
only Brainless knows this, it is his secret. I don't know if he told anyone about it
Pages:
Jump to: