Bitcoin Forum
June 17, 2024, 03:05:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 »  All
  Print  
Author Topic: brute-forcing public keys at amazing speed 2.2 PH/s on CPU [malware warning]  (Read 3443 times)
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 19, 2020, 08:42:13 PM
Last edit: April 19, 2020, 08:55:55 PM by COBRAS
 #101

core i7 3770 8 RAM 28 mins

28 min per key with 8Gb RAM ?

I try fined key from in.txt of reliase. Speed down to 0.01Mkey per second. Give me please examples what you use ? My ex is to hard for me.


BabyStep:0x20000000
Start:49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E0000000000000000
Stop :49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EFFFFFFFFFFFFFFFF
Keys :1

This config is down on my i5 with 8Gb !!!😠

Thenx

[
sssergy2705
Copper Member
Newbie
*
Offline Offline

Activity: 188
Merit: 0


View Profile
April 20, 2020, 09:01:50 AM
 #102

core i7 3770 8 RAM 28 mins

28 min per key with 8Gb RAM ?

I try fined key from in.txt of reliase. Speed down to 0.01Mkey per second. Give me please examples what you use ? My ex is to hard for me.


BabyStep:0x20000000
Start:49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E0000000000000000
Stop :49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EFFFFFFFFFFFFFFFF
Keys :1

This config is down on my i5 with 8Gb !!!😠

Thenx

Code:
root@system:~# ./bsgs in.txt 
BSGS v1.0
BabyStep:0x20000000 (2^29.00)
Start:10000000000000000
Stop :1FFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 8
BabyStep Thread 0: 0x1 -> 0x4000000
BabyStep Thread 1: 0x4000001 -> 0x8000000
BabyStep Thread 3: 0xc000001 -> 0x10000000
BabyStep Thread 2: 0x8000001 -> 0xc000000
BabyStep Thread 4: 0x10000001 -> 0x14000000
BabyStep Thread 6: 0x18000001 -> 0x1c000000
BabyStep Thread 5: 0x14000001 -> 0x18000000
BabyStep Thread 7: 0x1c000001 -> 0x20000000
[2.42 MKey/s][Cnt 2^29.00][03:33][4864.0MB]  
Sort Thread 3: 00C00000 -> 01000000
Sort Thread 0: 00000000 -> 00400000
Sort Thread 4: 01000000 -> 01400000
Sort Thread 2: 00800000 -> 00C00000
Sort Thread 1: 00400000 -> 00800000
Sort Thread 5: 01400000 -> 01800000
Sort Thread 7: 01C00000 -> 02000000
Sort Thread 6: 01800000 -> 01C00000
[10.64 MSort/s][Cnt 2^25.00][03s][4864.0MB]  
GiantStep Thread 3: 16000000000000000
GiantStep Thread 2: 14000000000000000
GiantStep Thread 0: 10000000000000000
GiantStep Thread 1: 12000000000000000
GiantStep Thread 5: 1A000000000000000
GiantStep Thread 6: 1C000000000000000
GiantStep Thread 4: 18000000000000000
GiantStep Thread 7: 1E000000000000000
[13.72 MKey/s][Cnt 2^33.03][10:40][4864.0MB]  
Key# 0 Pub:  0x0230210C23B1A047BC9BDBB13448E67DEDDC108946DE6DE639BCC75D47C0216B1B
       Priv: 0x1A838B13505B26867

Done: Total time 14:18

in.txt
Code:
20000000
0000000000000000000000000000000000000000000000010000000000000000
000000000000000000000000000000000000000000000001FFFFFFFFFFFFFFFF
0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b

Jean_Luc
Sr. Member
****
Offline Offline

Activity: 462
Merit: 696


View Profile
April 21, 2020, 07:36:40 AM
Merited by ABCbits (1), A-Bolt (1)
 #103

Jean_Luc also made the vanity search program, and some guy modified it to work with pollard kangaroo method. The code is here: https://github.com/alek76-2/vs-kangaroo-hybrid

I beleive that this program should be faster. It uses GPU, not CPU. Of course it is not good to compare CPU and GPU, GPU will always be ahead.


Just curious, I wrote a simple Kangaroo program, I didn't test the alek's one because I have a look in his code and see that basic optimizations (at least for CPU) are missed. Especially line 625 of Vanity.cpp
Code:
ph->Kp = secp->AddAffine(ph->Kp, Sp[pw]);  // This requires a modular inversion which can be batched

I published the code here: https://github.com/JeanLucPons/Kangaroo

A comparison between BSGS and Kangaroo, (64bit search, on my old Xeon) :
Kangaroo should end in 2^33 iterations (in average). I reached 18.18 MKey/s (here the DP method can be applied to speed up the hashtable and decrease drastically the needed memory, this method can be efficiently implemented on GPU).

Code:
Kangaroo v1.0
Start:49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E0000000000000000
Stop :49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EFFFFFFFFFFFFFFFF
Keys :16
Number of CPU thread: 8
Range width: 2^64
Number of random walk: 2^13.00 (Max DP=17)
DP size: 17 [0xffff800000000000]
Solvekey Thread 0: 1024 TAME kangaroos
Solvekey Thread 1: 1024 TAME kangaroos
Solvekey Thread 2: 1024 TAME kangaroos
Solvekey Thread 3: 1024 TAME kangaroos
Solvekey Thread 4: 1024 WILD kangaroos
Solvekey Thread 5: 1024 WILD kangaroos
Solvekey Thread 6: 1024 WILD kangaroos
Solvekey Thread 7: 1024 WILD kangaroos
[18.00 MKey/s][Count 2^34.40][20:47][Dead 10][20.2MB] 
Key# 0 Pub:  0x0259A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EBB3EF3883C1866D4
[18.18 MKey/s][Count 2^33.80][13:44][Dead 3][15.4MB] 
Key# 1 Pub:  0x02A50FBBB20757CC0E9C41C49DD9DF261646EE7936272F3F68C740C9DA50D42BCD
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EB5ABC43BEBAD3207
[18.07 MKey/s][Count 2^30.28][01:12][Dead 1][2.8MB] 
Key# 2 Pub:  0x0304A49211C0FE07C9F7C94695996F8826E09545375A3CF9677F2D780A3EB70DE3
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E5698AAAB6CAC52B3
[18.18 MKey/s][Count 2^32.78][06:44][Dead 2][9.4MB] 
Key# 3 Pub:  0x030B39E3F26AF294502A5BE708BB87AEDD9F895868011E60C1D2ABFCA202CD7A4D
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E59C839258C2AD7A0
[18.18 MKey/s][Count 2^33.82][13:54][Dead 3][15.6MB] 
Key# 4 Pub:  0x02837A31977A73A630C436E680915934A58B8C76EB9B57A42C3C717689BE8C0493
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E765FB411E63B92B9
[18.18 MKey/s][Count 2^33.07][08:16][Dead 1][10.9MB] 
Key# 5 Pub:  0x020ECDB6359D41D2FD37628C718DDA9BE30E65801A88A00C3C5BDF36E7EE6ADBBA
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5E7D0E6081C7E0E865
[18.18 MKey/s][Count 2^34.45][21:27][Dead 4][20.7MB] 
Key# 6 Pub:  0x0322DD52FCFA3A4384F0AFF199D019E481D335923D8C00BADAD42FFFC80AF8FCF0
       Priv: 0x49DCCFD96DC5DF56487436F5A1B18C4F5D34F65DDB48CB5EC737344CA673CE28


I'll post the full result for the 16 keys on github when ended.
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 21, 2020, 09:15:52 AM
 #104

Quote from: Jean_Luc link=topic=5238719.msg54267073#msg54267073

I published the code here: https://github.com/JeanLucPons/Kangaroo




Jean_Luc, Anybodey can you make a exe file for windows ?

My intel i5 without CUDA, and my manipulation with memory cash, arh, radyboosters etc. unsuccesful for me. I hope Kangoro will work for me more succesful

Pleeeease.

Br.



[
Jean_Luc
Sr. Member
****
Offline Offline

Activity: 462
Merit: 696


View Profile
April 21, 2020, 09:18:49 AM
 #105

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.
Jean_Luc
Sr. Member
****
Offline Offline

Activity: 462
Merit: 696


View Profile
April 21, 2020, 09:20:35 AM
 #106


Jean_Luc, Anybodey can you make a exe file for windows ?



I re added it. Strangely github removed it ?!!!
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 21, 2020, 09:22:19 AM
 #107


Jean_Luc, Anybodey can you make a exe file for windows ?



I re added it. Strangely github removed it ?!!!

I was seen only sorces for Kongaroo, in github witout exe. 😩

Please reupload exe for Kangaroo to github, Jean_Luc ?

Biiiiiig thank you !!!

[
Jean_Luc
Sr. Member
****
Offline Offline

Activity: 462
Merit: 696


View Profile
April 21, 2020, 09:28:38 AM
 #108

https://github.com/JeanLucPons/Kangaroo/releases
You see it ? for me it seems ok.
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 21, 2020, 10:08:23 AM
 #109

https://github.com/JeanLucPons/Kangaroo/releases
You see it ? for me it seems ok.

May God protect you, you are a good man,Jean_Luc.👋


Biggest Thanks and Regards You. Oh now I see exe file.

[
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 21, 2020, 10:15:32 AM
Last edit: April 21, 2020, 10:29:33 AM by COBRAS
 #110


May God protect you, you are a good man,Jean_Luc.👋


Biggest Thanks and Regards You Jean_Luc !!!!!!!!!!!!

Oh Yes Yes Yes Yes, Now I see exe file.

[
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 21, 2020, 10:54:30 AM
 #111

 
0
FFFFFFFFFFFFFF
02E9F43F810784FF1E91D8BC7C4FF06BFEE935DA71D7350734C3472FE305FEF82A
-----

I solve now this in 1:54 min !!! I happy now !!! And file size 8.4 Mb, memory on my notebook not working like shet !!! Smiley

[
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 22, 2020, 11:31:18 AM
 #112

Please help.

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

Publick key 02E9F43F810784FF1E91D8BC7C4FF06BFEE935DA71D7350734C3472FE305FEF82A

[
COBRAS
Member
**
Offline Offline

Activity: 883
Merit: 22


View Profile
April 22, 2020, 01:10:40 PM
 #113

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

[
MrFreeDragon
Sr. Member
****
Offline Offline

Activity: 443
Merit: 350


View Profile
April 22, 2020, 01:13:30 PM
 #114

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?

Jean_Luc
Sr. Member
****
Offline Offline

Activity: 462
Merit: 696


View Profile
April 22, 2020, 01:45:32 PM
Last edit: April 22, 2020, 02:07:27 PM by Jean_Luc
Merited by A-Bolt (1)
 #115

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
dextronomous
Full Member
***
Offline Offline

Activity: 431
Merit: 105


View Profile
April 22, 2020, 02:24:05 PM
Last edit: April 22, 2020, 09:40:14 PM by dextronomous
 #116

Great to have a Jean_Luc around all the time, thanks a lot for you'r great works.
MrFreeDragon
Sr. Member
****
Offline Offline

Activity: 443
Merit: 350


View Profile
April 22, 2020, 02:48:40 PM
 #117

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.

Jean_Luc
Sr. Member
****
Offline Offline

Activity: 462
Merit: 696


View Profile
April 22, 2020, 02:57:36 PM
 #118

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
MrFreeDragon
Sr. Member
****
Offline Offline

Activity: 443
Merit: 350


View Profile
April 22, 2020, 03:24:02 PM
 #119

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!

MrFreeDragon
Sr. Member
****
Offline Offline

Activity: 443
Merit: 350


View Profile
April 22, 2020, 03:47:42 PM
 #120

-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).

Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!