Pages:
Author

Topic: brute-forcing public keys at amazing speed 2.2 PH/s on CPU [malware warning] - page 6. (Read 3490 times)

sr. member
Activity: 462
Merit: 701
My Hi-End GPU can`t find any key for 1h))

That should work. For 80bit search, 2^41 is an average time, with a probability of ~50% to find the key.
I will try this night.
Many thanks to MrFreeDragon for testing the software Wink
sr. member
Activity: 443
Merit: 350
My low cost hardware has solved the 80bit key is 03:52:25.

With the 1st Kangarooo v1.1 my GPU 1080ti solved 80bit key for 35 minutes. This time seems reasonable as with the speed 436MKey 80bit key should be solved (2^40 operations) for 2^40 / 436M = 2521 sec = 42 minutes.
With 2080ti at 1100MKey/sec the total time should be 15-20 minutes.
Code:
$ ./kangaroo -gpu -t 0 in80.txt

Kangaroo v1.1
Start:80000000000000000000
Stop :FFFFFFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 0
Range width: 2^79
Number of random walk: 2^20.81 (Max DP=16)
DP size: 16 [0xffff000000000000]
GPU: GPU #0 GeForce GTX 1080 Ti (28x128 cores) Grid(56x256) (177.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^20.81 kangaroos
[436.09 MKey/s][GPU 436.09 MKey/s][Count 2^39.55][Dead 0][35:22][942.4MB] 
Key# 0 Pub:  0x037E1238F7B1CE757DF94FAA9A2EB261BF0AEB9F84DBF81212104E78931C2A19DC
       Priv: 0xEA1A5C66DCC11B5AD180

Done: Total time 35:45

For the test I used 80bit key from 100 bitcoin transaction challenge:
Code:
80000000000000000000
ffffffffffffffffffff
037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc
sr. member
Activity: 642
Merit: 316
My low cost hardware has solved the 80bit key is 03:52:25.
My Hi-End GPU can`t find any key for 1h))
Config txt the same like in example, just little increase range to 80bit, all public keys from example.
Code:

Kangaroo v1.2
Start:49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB4800000000000000000000
Stop :49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48FFFFFFFFFFFFFFFFFFFF
Keys :16
Number of CPU thread: 0
Range width: 2^80
Number of random walk: 2^22.09 (Max DP=15)
DP size: 15 [0xFFFE000000000000]
GPU: GPU #0 GeForce RTX 2080 Ti (68x64 cores) Grid(136x256) (417.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^22.09 kangaroos in 16571.8ms
[1017.74 MKey/s][GPU 1017.74 MKey/s][Count 2^41.74][Dead 2][01:08:13][8578.7MB]
sr. member
Activity: 462
Merit: 701
My low cost hardware has solved the 80bit key is 03:52:25.
I will now work on endomorphism and symetry optimization.

Code:
Kangaroo v1.2
Start:25FEEE926526B0B4F0085358DF14702F7F6F04E8EC2200000000000000000000
Stop :25FEEE926526B0B4F0085358DF14702F7F6F04E8EC22FFFFFFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 0
Range width: 2^80
Number of random walk: 2^18.58 (Max DP=19)
DP size: 19 [0xFFFFE00000000000]
GPU: GPU #0 GeForce GTX 1050 Ti (6x128 cores) Grid(12x256) (45.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^18.58 kangaroos in 1320.9ms
[115.22 MKey/s][GPU 115.22 MKey/s][Count 2^40.35][Dead 1][03:52:22][209.5MB]
Key# 0 Pub:  0x02E9CE716922FFB1CC2306E55D4E5A4F4A9B9D050E4ABB3EB95B246E7998A2508D
       Priv: 0x25FEEE926526B0B4F0085358DF14702F7F6F04E8EC2243F5E7A6482FFC1F8DC4

Done: Total time 03:52:25
sr. member
Activity: 462
Merit: 701
Range 2^80, DP - by default, speed 1100Mkeys/s but not a single key was found in 1 hour

I published a new release 1.2 with faster kangaroo creation.
I'm trying to attack a 80bit key but on my hardware (115MK/s), it will take time Wink

in.txt
Code:
25FEEE926526B0B4F0085358DF14702F7F6F04E8EC2200000000000000000000
25FEEE926526B0B4F0085358DF14702F7F6F04E8EC22FFFFFFFFFFFFFFFFFFFF
02E9CE716922FFB1CC2306E55D4E5A4F4A9B9D050E4ABB3EB95B246E7998A2508D
sr. member
Activity: 462
Merit: 701
Range 2^64, DP-12, speed 900Mkeys/s, Time to find 16 keys is 15m30s (the time is about the same as for weaker cards, although the speed is higher)

Yes having a too large DP size and too much threads create an overhead. You need more iterations.

Range 2^80, DP - by default, speed 1100Mkeys/s but not a single key was found in 1 hour

I will try to make a test with a 80bit key today and improve the creation of kangaroo which is slow.
sr. member
Activity: 443
Merit: 350
-snip-
Range 2^80, DP - by default, speed 1100Mkeys/s but not a single key was found in 1 hour

Good thing - now you know your exact speed as you tested the card "on highway" Smiley
However it is strange you could not solve 80bit range for 1 hour.

Actually for 80bit key the Pollard Kangaroo code should make on average 2^40 operations. So, with the speed 1100Mkey/sec you will need only 2^40/1100M seconds = 1000 seconds = 16-17 minutes.

Check the range you use for the search. For 80bit key it is 0x80000000000000000000 - 0xffffffffffffffffffff (2^79 - 2^80-1). Or other in higher bit keys, but with the range length 80bit.

EDIT: There is also possible that your key is out of the range you specify.
sr. member
Activity: 642
Merit: 316
Yes with a large number of thread and a small range (64bits) you face an overhead due to the DP method.
You can try to set by hand the dpSize using the -d option.

C:\C++\Kangaroo\VC_CUDA10\x64\Release>Kangaroo.exe -t 0 -d 10 -gpu ..\..\in.txt

You will get a warning but ignore it.

As MrFreeDragon said, such a GPU will be much more efficient on 80bit search or more.

My setup and speed:
Range 2^64, DP-10, speed 500Mkeys/s
Range 2^64, DP-11, speed 700Mkeys/s
Range 2^64, DP-12, speed 900Mkeys/s, Time to find 16 keys is 15m30s (the time is about the same as for weaker cards, although the speed is higher)

Range 2^80, DP - by default, speed 1100Mkeys/s but not a single key was found in 1 hour
sr. member
Activity: 462
Merit: 701
Yes with a large number of thread and a small range (64bits) you face an overhead due to the DP method.
You can try to set by hand the dpSize using the -d option.

C:\C++\Kangaroo\VC_CUDA10\x64\Release>Kangaroo.exe -t 0 -d 10 -gpu ..\..\in.txt

You will get a warning but ignore it.

As MrFreeDragon said, such a GPU will be much more efficient on 80bit search or more.
sr. member
Activity: 443
Merit: 350
-snip-
I tried to test the GPU version.
But for some reason, loading the GPU and memory is extremely small.
And the speed drops immediately from 350 to 100 Mkeys per second
-snip-

I am not sure, but the speed is droping while changing the target key. The program is clearing the kanagroo points and setting up the new troops of wild kangaroos.

With your 2080ti you should have a good performance. The 64bit is just very small for it, and the GPU spend more time for "preparation" rather than for actual finding.

Try the code with higher key (for example 80bit key). I think that with your 2080ti you could solve 80bit key for 20-30 minutes. And also you will see your actual speed during this time.

EDIT: Running GTX 2080 Ti for 64bit is like driving the sport car in small village. If you want to test the actual speed of your "car" you need to go to highway!  Wink
sr. member
Activity: 642
Merit: 316
Anyway, first GPU release is coming
Thanks for your work.
You are really very good at algorithms.
I tried to test the GPU version.
But for some reason, loading the GPU and memory is extremely small.
And the speed drops immediately from 350 to 100 Mkeys per second.


sr. member
Activity: 443
Merit: 350
-snip-
Anyway, first GPU release is coming:
16 keys (64bits) solved in 29:44, key by key, no reuse of old points.

Very good job. I guess that the GPU code for Pollard Kanagaroo is now available for public. Thank you!

I have just tested your code on Ubuntu 18.04, GPU only, GTX 1080ti, and it found 16 keys (64 bit) just for 16:11 minutes, so 1 minute per 64bit key on average  Shocked

Code:
$ ./kangaroo -t 0 -gpu in16.txt

Kangaroo v1.1
Start:49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E0000000000000000
Stop :49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EFFFFFFFFFFFFFFFF
Keys :16
Number of CPU thread: 0
Range width: 2^64
Number of random walk: 2^20.81 (Max DP=9)
DP size: 9 [0xff80000000000000]
GPU: GPU #0 GeForce GTX 1080 Ti (28x128 cores) Grid(56x256) (177.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^20.81 kangaroos

Key# 0 Pub:  0x0259A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EBB3EF3883C1866D4
[450.01 MKey/s][GPU 450.01 MKey/s][Count 2^32.58][Dead 0][38s][963.6MB] 
Key# 1 Pub:  0x02A50FBBB20757CC0E9C41C49DD9DF261646EE7936272F3F68C740C9DA50D42BCD
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EB5ABC43BEBAD3207
[226.64 MKey/s][GPU 226.64 MKey/s][Count 2^31.62][Dead 0][30s][496.3MB] 
Key# 2 Pub:  0x0304A49211C0FE07C9F7C94695996F8826E09545375A3CF9677F2D780A3EB70DE3
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E5698AAAB6CAC52B3
[390.01 MKey/s][GPU 390.01 MKey/s][Count 2^33.49][Dead 1][56s][1807.4MB] 
Key# 3 Pub:  0x030B39E3F26AF294502A5BE708BB87AEDD9F895868011E60C1D2ABFCA202CD7A4D
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E59C839258C2AD7A0
[338.95 MKey/s][GPU 338.95 MKey/s][Count 2^33.91][Dead 3][01:08][2413.7MB] 
Key# 4 Pub:  0x02837A31977A73A630C436E680915934A58B8C76EB9B57A42C3C717689BE8C0493
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E765FB411E63B92B9
[287.84 MKey/s][GPU 287.84 MKey/s][Count 2^31.95][Dead 0][32s][623.5MB] 
Key# 5 Pub:  0x020ECDB6359D41D2FD37628C718DDA9BE30E65801A88A00C3C5BDF36E7EE6ADBBA
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E7D0E6081C7E0E865
[351.49 MKey/s][GPU 351.49 MKey/s][Count 2^33.80][Dead 1][01:06][2232.6MB] 
Key# 6 Pub:  0x0322DD52FCFA3A4384F0AFF199D019E481D335923D8C00BADAD42FFFC80AF8FCF0
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EC737344CA673CE28
[415.57 MKey/s][GPU 415.57 MKey/s][Count 2^33.33][Dead 0][50s][1609.4MB] 
Key# 7 Pub:  0x02DB4F1B249406B8BD662F78CBA46F5E90E20FE27FC69D0FBAA2F06E6E50E53669
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E38160DA9EBEAECD7
[303.41 MKey/s][GPU 303.41 MKey/s][Count 2^34.29][Dead 5][01:26][3133.8MB] 
Key# 8 Pub:  0x023BD0330D7381917F8860F1949ACBCCFDC7863422EEE2B6DB7EDD551850196687
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E79D808CAB1DECF8D
[347.56 MKey/s][GPU 347.56 MKey/s][Count 2^32.22][Dead 1][34s][748.5MB] 
Key# 9 Pub:  0x02332A02CA42C481EAADB7ADB97DF89033B23EA291FDA809BEA3CE5C3B73B20C49
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E54CAD3CFBC2A9C2B
[215.09 MKey/s][GPU 215.09 MKey/s][Count 2^31.55][Dead 0][32s][471.4MB] 
Key#10 Pub:  0x02513981849DE1A1327DEF34B51F5011C5070603CA22E6D868263CB7C908525F0C
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E0D5ECCC38D0230E6
[284.99 MKey/s][GPU 284.99 MKey/s][Count 2^34.52][Dead 6][01:42][3670.8MB] 
Key#11 Pub:  0x03D4E6FA664BD75A508C0FF0ED6F2C52DA2ADD7C3F954D9C346D24318DBD2ECFC6
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EE3579364DE939B0C
[404.11 MKey/s][GPU 404.11 MKey/s][Count 2^32.43][Dead 0][36s][866.9MB] 
Key#12 Pub:  0x0356B468963752924DBF56112633DC57F07C512E3671A16CD7375C58469164599D
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E7C43B8E079AE7278
[229.29 MKey/s][GPU 229.29 MKey/s][Count 2^31.63][Dead 0][30s][502.1MB] 
Key#13 Pub:  0x03D5BE7C653773CEE06A238020E953CFCD0F22BE2D045C6E5B4388A3F11B4586CB
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E8D63EF128EF66B42
[402.53 MKey/s][GPU 402.53 MKey/s][Count 2^33.42][Dead 1][54s][1714.8MB] 
Key#14 Pub:  0x02B1985389D8AB680DEDD67BBA7CA781D1A9E6E5974AAD2E70518125BAD5783EB5
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E2452DD26BC983CD5
[328.84 MKey/s][GPU 328.84 MKey/s][Count 2^34.01][Dead 9][01:12][2575.7MB] 
Key#15 Pub:  0x0355B95BEF84A6045A505D015EF15E136E0A31CC2AA00FA4BCA62E5DF215EE981B
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E7AD38337C7F173C7

Done: Total time 16:11

PS. The code works faster if use ONLY GPU. If use GPU and CPU, the speed was slower (like 2-3 times slower).
sr. member
Activity: 443
Merit: 350
A solved wild point become P1 + d1.G = (k1 + d1).G
A collision with a new wild point P2 + d2.G will give P2 + d2.G = (k1 + d1).G  => P2 = (k1 + d1 - d2).G
I think solved wild can be reused.

We can say that a wild kangaroo trapped becomes a tame one Wink

Oh, yes yes and yes. You are right. If the key solved, all the wild points became tame... But the "cord" will not be direct...
Yes, clear. I was wrong. You are right!

EDIT:
"We can say that a wild kangaroo trapped becomes a tame one": The whole troop of kangaroos become tame!
sr. member
Activity: 462
Merit: 701
A solved wild point become P1 + d1.G = (k1 + d1).G
A collision with a new wild point P2 + d2.G will give P2 + d2.G = (k1 + d1).G  => P2 = (k1 + d1 - d2).G
I think solved wild can be reused.

We can say that a wild kangaroo trapped becomes a tame one Wink
sr. member
Activity: 443
Merit: 350
1) Did you use the tame table for the subsequent keys? (I mean while you find the 1st key, you have some tame points - do you use them for the key2, key3, etc... ?) Wild points  are not important anymore, but tame ones very helpful as all 16 keys are within the same range; and if you use them, the time needed for the subsequent key will be less, less and less.

No this optimization is not yet done. Reusing tame points will speed up thing by ~2 for others keys.
Edit: I'm wondering if using wild point of solved key can be reused also, this should work...
-snip-

Wild points of slved keys will not be helpful. All the wild points are just connected with the exact public key - so every wild point is a unknown part (the same unknown as the public key).

The other thing is with the tame points - you know the private key to every tame point. So the tame points you have - the better chances for meeting with wild Smiley

I am imaging it like you have the "cord" to every tame kangaroo. "Cord" is the exact private key. As soon as the tame kangaroo meet with the wild one, you can easily retrieve the private key for the target address using your known "cord" and the known "jump" by the wild kangaroo (one adding/substraction operation).

In the table of wild kangaroos you have the known jumps from the point of target address (target public key). As soon as you change the target address, all the wild points become useless. So, after changing the target address all the wild points should be cleared. They will just requre more time for comparator without real help.
full member
Activity: 431
Merit: 105
Great to have a Jean_Luc around all the time, thanks a lot for you'r great works.
sr. member
Activity: 462
Merit: 701
1) Did you use the tame table for the subsequent keys? (I mean while you find the 1st key, you have some tame points - do you use them for the key2, key3, etc... ?) Wild points  are not important anymore, but tame ones very helpful as all 16 keys are within the same range; and if you use them, the time needed for the subsequent key will be less, less and less.

No this optimization is not yet done. Reusing tame points will speed up thing by ~2 for others keys.
Edit: I'm wondering if using wild point of solved key can be reused also, this should work...

2) How much were your tame and wild tables?

I use the distinguished point method so it varies a lot according to the dpSize.
I wrote few notes on it on an other project: https://github.com/JeanLucPons/BTCCollider/blob/master/README.md

Anyway, first GPU release is coming:
16 keys (64bits) solved in 29:44, key by key, no reuse of old points.

Code:
C:\C++\Kangaroo\VC_CUDA10\x64\Release>Kangaroo.exe -t 0 -gpu ..\..\in.txt
Kangaroo v1.0
Start:49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E0000000000000000
Stop :49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EFFFFFFFFFFFFFFFF
Keys :16
Number of CPU thread: 0
Range width: 2^64
Number of random walk: 2^18.58 (Max DP=11)
DP size: 11 [0xFFE0000000000000]
GPU: GPU #0 GeForce GTX 1050 Ti (6x128 cores) Grid(12x256) (45.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^18.58 kangaroos
[115.23 MKey/s][GPU 115.23 MKey/s][Count 2^33.52][Dead 5][02:02][463.9MB]
Key# 0 Pub:  0x0259A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EBB3EF3883C1866D4
[115.22 MKey/s][GPU 115.22 MKey/s][Count 2^32.41][Dead 1][01:01][218.3MB]
Key# 1 Pub:  0x02A50FBBB20757CC0E9C41C49DD9DF261646EE7936272F3F68C740C9DA50D42BCD
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EB5ABC43BEBAD3207
[115.13 MKey/s][GPU 115.13 MKey/s][Count 2^32.99][Dead 0][01:29][323.5MB]
Key# 2 Pub:  0x0304A49211C0FE07C9F7C94695996F8826E09545375A3CF9677F2D780A3EB70DE3
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E5698AAAB6CAC52B3
[115.21 MKey/s][GPU 115.21 MKey/s][Count 2^32.66][Dead 0][01:12][258.7MB]
Key# 3 Pub:  0x030B39E3F26AF294502A5BE708BB87AEDD9F895868011E60C1D2ABFCA202CD7A4D
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E59C839258C2AD7A0
[115.22 MKey/s][GPU 115.22 MKey/s][Count 2^33.26][Dead 1][01:47][389.7MB]
Key# 4 Pub:  0x02837A31977A73A630C436E680915934A58B8C76EB9B57A42C3C717689BE8C0493
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E765FB411E63B92B9
[114.51 MKey/s][GPU 114.51 MKey/s][Count 2^34.70][Dead 8][04:42][1044.9MB]
Key# 5 Pub:  0x020ECDB6359D41D2FD37628C718DDA9BE30E65801A88A00C3C5BDF36E7EE6ADBBA
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E7D0E6081C7E0E865
[115.21 MKey/s][GPU 115.21 MKey/s][Count 2^32.00][Dead 1][47s][164.7MB]
Key# 6 Pub:  0x0322DD52FCFA3A4384F0AFF199D019E481D335923D8C00BADAD42FFFC80AF8FCF0
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EC737344CA673CE28
[115.21 MKey/s][GPU 115.21 MKey/s][Count 2^32.12][Dead 0][51s][179.6MB]
Key# 7 Pub:  0x02DB4F1B249406B8BD662F78CBA46F5E90E20FE27FC69D0FBAA2F06E6E50E53669
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E38160DA9EBEAECD7
[115.06 MKey/s][GPU 115.06 MKey/s][Count 2^33.88][Dead 5][02:42][595.5MB]
Key# 8 Pub:  0x023BD0330D7381917F8860F1949ACBCCFDC7863422EEE2B6DB7EDD551850196687
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E79D808CAB1DECF8D
[115.23 MKey/s][GPU 115.23 MKey/s][Count 2^31.71][Dead 0][39s][136.2MB]
Key# 9 Pub:  0x02332A02CA42C481EAADB7ADB97DF89033B23EA291FDA809BEA3CE5C3B73B20C49
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E54CAD3CFBC2A9C2B
[83.23 MKey/s][GPU 83.23 MKey/s][Count 2^30.23][Dead 0][17s][51.3MB]
Key#10 Pub:  0x02513981849DE1A1327DEF34B51F5011C5070603CA22E6D868263CB7C908525F0C
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E0D5ECCC38D0230E6
[114.85 MKey/s][GPU 114.85 MKey/s][Count 2^34.98][Dead 20][05:41][1269.3MB]
Key#11 Pub:  0x03D4E6FA664BD75A508C0FF0ED6F2C52DA2ADD7C3F954D9C346D24318DBD2ECFC6
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EE3579364DE939B0C
[115.22 MKey/s][GPU 115.22 MKey/s][Count 2^33.99][Dead 2][02:54][642.5MB]
Key#12 Pub:  0x0356B468963752924DBF56112633DC57F07C512E3671A16CD7375C58469164599D
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E7C43B8E079AE7278
[115.11 MKey/s][GPU 115.11 MKey/s][Count 2^33.12][Dead 0][01:37][351.9MB]
Key#13 Pub:  0x03D5BE7C653773CEE06A238020E953CFCD0F22BE2D045C6E5B4388A3F11B4586CB
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E8D63EF128EF66B42
[115.22 MKey/s][GPU 115.22 MKey/s][Count 2^31.36][Dead 0][32s][108.8MB]
Key#14 Pub:  0x02B1985389D8AB680DEDD67BBA7CA781D1A9E6E5974AAD2E70518125BAD5783EB5
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E2452DD26BC983CD5
[115.22 MKey/s][GPU 115.22 MKey/s][Count 2^31.49][Dead 0][34s][118.0MB]
Key#15 Pub:  0x0355B95BEF84A6045A505D015EF15E136E0A31CC2AA00FA4BCA62E5DF215EE981B
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E7AD38337C7F173C7

Done: Total time 29:44
sr. member
Activity: 443
Merit: 350
The Pollard's kangaroo has solved the 16 64bit keys in 3:07:38, so a bit faster than BSGS (03:35:53) and with a lot less memory.

https://github.com/JeanLucPons/Kangaroo/blob/master/README.md

I will definitely add a GPU support for it.


Yes, Kangaroo method does not need memory.

Can you please clarify:

1) Did you use the tame table for the subsequent keys? (I mean while you find the 1st key, you have some tame points - do you use them for the key2, key3, etc... ?) Wild points  are not important anymore, but tame ones very helpful as all 16 keys are within the same range; and if you use them, the time needed for the subsequent key will be less, less and less.

That means that for method evaluation it is better to perform several tests and confirm the average time for one key rather than the total time.

2) How much were your tame and wild tables?
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
1Ph/s speed is roughly 2^66 per 24 hours.
There is a bitcoin address with 0.64BTC and 64bit private key. You need 2^63 operations to bruteforce it.

If you have real speed 2^66 per 24 hours, so you can perform 2^63 operations juts for 24/(2^3)=3 hours.

So, welcome to prove your speed: just take 0.64BTC from this address: https://www.blockchain.com/btc/address/16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN

The private key for this address is in the range: 0x8000000000000000 - 0xffffffffffffffff (64bit key, i.e. with 192 leading zeros)
Give me public key of this address (64bytes)

Eter, hello. You was finded private key for this address ? I check all examples in this thread I apologise private key from this thread only for new wallets Sad
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
Please help.

What start and and key in Kangaroo config I will neede for this, for ex ETH public key ?

Publick key 02E9F43F810784FF1E91D8BC7C4FF06BFEE935DA71D7350734C3472FE305FEF82A
Pages:
Jump to: