Bitcoin Forum
November 09, 2024, 08:44:19 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 [79] 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 ... 144 »
  Print  
Author Topic: Pollard's kangaroo ECDLP solver  (Read 58813 times)
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
March 21, 2021, 11:54:39 AM
 #1561


Did you do this first?
 

yes I use nano edit "Makefile"


CrunchyF
Jr. Member
*
Offline Offline

Activity: 56
Merit: 26


View Profile
March 21, 2021, 05:29:32 PM
Last edit: March 21, 2021, 05:39:40 PM by CrunchyF
Merited by NotATether (1)
 #1562

Hi everybody,
I'm writing a  light beta library in C  to run Pollard kangaroo algorithm on ARM64 CPU.

I am at the very beginning of this project but i am able to do benchmark.

when the library will be functionnal i will posted it on github.

the library (a shared object file) will be callable by python with ctypes module
The herds  of kangaroos will be controlled directly with python (for convenience and ease).
The idea is to have a lot of clients running on ARM64 low cost CPU to compute parallelized secp256k1 points additions  .
The memory (DP  points of a client) will be returned with a client-server socket data transfer (server will have the main hashtable of DP ) as the Kangaroo software from Jean-Luc Pons.

The first benchmark on ARM (Raspberry PI 400 without overclocking ) are better than I expected (around 30MKeys/s with 4 cores).

What do you think about this performance ?
Do you know if there is a very low cost card (mini PC) with ARM CPU (similar to raspberry pi compute module 4 see link below)  to do the work (in a parallelized way) and see if the ratio (computing power)/price might be better compared to the latest GPU CUDA Compatible graphics card.

https://www.raspberrypi.org/products/compute-module-4/?variant=raspberry-pi-cm4001000



NotATether
Legendary
*
Offline Offline

Activity: 1778
Merit: 7372


Top Crypto Casino


View Profile WWW
March 21, 2021, 06:01:33 PM
 #1563

The first benchmark on ARM (Raspberry PI 400 without overclocking ) are better than I expected (around 30MKeys/s with 4 cores).

That's an impressive speed, considering that Xeon E3-1230 @3.2GHz with 4c/8t only does 10MKeys/s and that the CPU inside this is:

Code:
Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz

So clock speed and thread count is halved on this silicon but yet it's 3x faster. And this makes sense because x86_64 has 16 64-bit registers and 8 128-bit SSE registers (Kangaroo doesn't use AVX yet), while armv8-a (the arch used in Cortex A72) has 64 registers and 32 more of the wider registers.

x86 was always an inefficient arch anyway because of all the backward compatibility it had to preserve. With ARM it's like "recompile for our new generation or else" and stuff written for armv8 won't work on armv7 AFAIK.

Do you know if there is a very low cost card (mini PC) with ARM CPU (similar to raspberry pi compute module 4 see link below) to do the work (in a parallelized way) and see if the ratio (computing power)/price might be better compared to the latest GPU CUDA Compatible graphics card.

A 2080Ti costs $1000 and can do about ~1100MKeys/s per my guessing. A Raspberry Pi 4 costs $35 and you can buy up 28 of those for each 2080Ti, and all those Pi 4's combined can do 30x28=840 MKeys/s which is only a little slower than GPU's speed. If you manage to push it a little over 30MKeys/s (like by using Neon instruction set) then you can match GPU performance.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
CrunchyF
Jr. Member
*
Offline Offline

Activity: 56
Merit: 26


View Profile
March 21, 2021, 06:42:39 PM
 #1564



If you manage to push it a little over 30MKeys/s (like by using Neon instruction set) then you can match GPU performance.

In fact this speed is achieved with a modified version of the secp256k1 library of bitcoin core where every verification instructions have been removed for field and group function.
The library field_5*52.h  (instead of 10*26 for x86 cpu) (limbs registers) is automatically include for 64bits architecture and you've right it's maybe 10x faster.

I will study the NEON instructions to improve but it will be difficult because this benchmark doesn't include the DP detection code.
It's only a pure random walk benchmark on 1 Billion points.

 
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
March 21, 2021, 07:26:04 PM
 #1565



If you manage to push it a little over 30MKeys/s (like by using Neon instruction set) then you can match GPU performance.

In fact this speed is achieved with a modified version of the secp256k1 library of bitcoin core where every verification instructions have been removed for field and group function.
The library field_5*52.h  (instead of 10*26 for x86 cpu) (limbs registers) is automatically include for 64bits architecture and you've right it's maybe 10x faster.

I will study the NEON instructions to improve but it will be difficult because this benchmark doesn't include the DP detection code.
It's only a pure random walk benchmark on 1 Billion points.

 
So your speed (30MKey/s) does not include actually searching for/finding and writing/storing distinguished points to RAM/file?
CrunchyF
Jr. Member
*
Offline Offline

Activity: 56
Merit: 26


View Profile
March 21, 2021, 07:56:45 PM
 #1566

So your speed (30MKey/s) does not include actually searching for/finding and writing/storing distinguished points to RAM/file?

Exactly, but i'don't think it will decreases dramatically the performance.

in the way i'm imagine the system, the clients (lots of ARM CPUs) will be only dedicated to be wild or tame kangaroo and to performs pure increments in the random walk.

If a distinguished point is found (i've to find a way to  be faster as possible) : example (AND mask beetween the first   of the 5 limbs (5*52bits)of X  and the desired DP,
 the client   send the X coordinate through a socket to the centralized server (computer with and hashtable checking continuously if a collision is found between received x coordinate and previously ones ).
I think it will  not slow significantly the computing because a client send a message to the server  only 1 on 2^DP times on average and a the stop of computing during the socket communication can be optimised to be fast.
 
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
March 21, 2021, 08:05:54 PM
 #1567

So your speed (30MKey/s) does not include actually searching for/finding and writing/storing distinguished points to RAM/file?

Exactly, but i'don't think it will decreases dramatically the performance.

in the way i'm imagine the system, the clients (lots of ARM CPUs) will be only dedicated to be wild or tame kangaroo and to performs pure increments in the random walk.

If a distinguished point is found (i've to find a way to  be faster as possible) : example (AND mask beetween the first   of the 5 limbs (5*52bits)of X  and the desired DP,
 the client   send the X coordinate through a socket to the centralized server (computer with and hashtable checking continuously if a collision is found between received x coordinate and previously ones ).
I think it will  not slow significantly the computing because a client send a message to the server  only 1 on 2^DP times on average and a the stop of computing during the socket communication can be optimised to be fast.
 

I don't know your setup so I'm just asking questions.

So each tame or wild thread, must jump, check for dp, if dp send to hashtable and then jump again, if no dp, jump again, rinse and repeat.

In your test, you merely walked through 1 billion random points, correct?
CrunchyF
Jr. Member
*
Offline Offline

Activity: 56
Merit: 26


View Profile
March 21, 2021, 08:23:13 PM
 #1568


So each tame or wild thread, must jump, check for dp, if dp send to hashtable and then jump again, if no dp, jump again, rinse and repeat.

Yes !

In your test, you merely walked through 1 billion random points, correct?

1 billions points of random walk determined by the formula :
jD=[G,2*G,4*G...2^n-1*G]
 tamePos[j+1] =  tamePos[j] + jD[tamePos[j].x % n]    (like in Jean-Luc Pons algorithm explanation) j
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
March 21, 2021, 08:31:33 PM
 #1569


So each tame or wild thread, must jump, check for dp, if dp send to hashtable and then jump again, if no dp, jump again, rinse and repeat.

Yes !

In your test, you merely walked through 1 billion random points, correct?

1 billions points of random walk determined by the formula :
jD=[G,2*G,4*G...2^n-1*G]
 tamePos[j+1] =  tamePos[j] + jD[tamePos[j].x % n]    (like in Jean-Luc Pons algorithm explanation) j
So you said you used 4 cores, how many "kangaroos" per core/thread were you running?
CrunchyF
Jr. Member
*
Offline Offline

Activity: 56
Merit: 26


View Profile
March 21, 2021, 08:41:57 PM
 #1570

So you said you used 4 cores, how many "kangaroos" per core/thread were you running?

one kangaroo per core.

DarkArrow
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
March 22, 2021, 02:01:49 AM
 #1571

Would someone explain in simple terms what this kangaroo tool does exactly? Thanks.
NotATether
Legendary
*
Offline Offline

Activity: 1778
Merit: 7372


Top Crypto Casino


View Profile WWW
March 22, 2021, 04:49:19 AM
Merited by ABCbits (2)
 #1572

Would someone explain in simple terms what this kangaroo tool does exactly? Thanks.

Basically we are generating a tame/wild "kangaroo" pair, which is actually just two sets of starting points. The starting point will be different depending on whether the kangaroo is labeled "wild" or "tame".

Then add [this is point addition we're talking here] slightly different incremental terms (mod the secp256k1 group order) until they either equal each other or we have added so much term value that it exceeds the search interval.

i.e if the interval is 2^40 we can only point add that much to the starting point before we have to discard the pair and start with a new one.

To speed things up we start hundreds of kangaroo pairs in parallel and see if any wild kangaroo equals any any tame kangaroo.

This program only stores the x coordinate of points do it might look like it's just storing and adding numbers, but actually the y point is computed from the x point so it's a compact way of storing points.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
March 24, 2021, 04:10:10 AM
 #1573

Some Speed test for you kangaroo

What are you speed result?

recommend to test puzzle #70 and puzzle #75 not a long time

try testing time not over 5-10 minute

Kangaroo.exe -gpu -o result.txt in.txt


Puzzle #40
in.txt
Code:
8000000000
FFFFFFFFFF
03A2EFA402FD5268400C77C20E574BA86409EDEDEE7C4020E4B9F0EDBEE53DE0D4
1050  laptop ==>  02 second  - 03 second
keyspace jump = 549755813888

Puzzle #60
in.txt
Code:
800000000000000
FFFFFFFFFFFFFFF
0348E843DC5B1BD246E6309B4924B81543D02B16C8083DF973A89CE2C7EB89A10D
1050  laptop ==>  20 second  - 25 second
keyspace = 576460752303423488

Puzzle #63
in.txt
Code:
4000000000000000
7FFFFFFFFFFFFFFF
0365EC2994B8CC0A20D40DD69EDFE55CA32A54BCBBAA6B0DDCFF36049301A54579
1050  laptop ==>  30 second  - 40 second
keyspace = 4611686018427387904

puzzle #65
in.txt
Code:
10000000000000000
1FFFFFFFFFFFFFFFF
0230210C23B1A047BC9BDBB13448E67DEDDC108946DE6DE639BCC75D47C0216B1B
1050  laptop ==>  2 minute
keyspace = 18446744073709551616

puzzle #70
in.txt
Code:
200000000000000000
3FFFFFFFFFFFFFFFFF
0290E6900A58D33393BC1097B5AED31F2E4E7CBD3E5466AF958665BC0121248483
1050  laptop ==>  4 minute - 6 minute solve
keyspace = 590295810358705651712

puzzle #75
in.txt
Code:
4000000000000000000
7FFFFFFFFFFFFFFFFFF
03726B574F193E374686D8E12BC6E4142ADEB06770E0A2856F5E4AD89F66044755
1050 laptop ==>  40 minute - 50 minute solve
keyspace = 18889465931478580854784

puzzle #80
in.txt
Code:
80000000000000000000
FFFFFFFFFFFFFFFFFFFF
037E1238F7B1CE757DF94FAA9A2EB261BF0AEB9F84DBF81212104E78931C2A19DC
(may be take  5-6 hour)
keyspace = 604462909807314587353088

puzzle #85
in.txt
Code:
1000000000000000000000
1FFFFFFFFFFFFFFFFFFFFF
0329C4574A4FD8C810B7E42A4B398882B381BCD85E40C6883712912D167C83E73A

puzzle #90
in.txt
Code:
20000000000000000000000
3FFFFFFFFFFFFFFFFFFFFFF
035C38BD9AE4B10E8A250857006F3CFD98AB15A6196D9F4DFD25BC7ECC77D788D5

puzzle #95
in.txt
Code:
400000000000000000000000
7FFFFFFFFFFFFFFFFFFFFFFF
02967A5905D6F3B420959A02789F96AB4C3223A2C4D2762F817B7895C5BC88A045

puzzle #100
in.txt
Code:
8000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFF
03D2063D40402F030D4CC71331468827AA41A8A09BD6FD801BA77FB64F8E67E617
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
March 24, 2021, 06:07:05 AM
 #1574

I search with keyword  Pollards kangaroo got a lot of image some from keyword Pollards  and some from keyword kangaroo

Are they same?

or kangaroo have multiple formula
in case if have multiple formula Can somebody help to try code other formula for testing?





























WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
March 24, 2021, 06:18:47 AM
 #1575

Quote
I search with keyword  Pollards kangaroo got a lot of image some from keyword Pollards  and some from keyword kangaroo

Are they same?

or kangaroo have multiple formula
in case if have multiple formula Can somebody help to try code other formula for testing?
The ones that form a circle of sorts looks like Pollard's Rho method, not Kangaroo
NotATether
Legendary
*
Offline Offline

Activity: 1778
Merit: 7372


Top Crypto Casino


View Profile WWW
March 24, 2021, 10:56:14 AM
 #1576

Of all the images you found, this one:



most resembles what's actually going on in the program. It's just a random walk through different points.

Although now I sort of get why some people call this Pollard's lambda because the diagrams look like the Greek letter, but when two kangaroos collide which makes them go on the same trajectory, future points don't necessarily form a curve, but rather random lines like the above two.

@WanderingPhilosipher I observed a strange result after running your 80-bit range input, GPU speed suddenly tripled to 610MKeys/s and all the dead kangaroos and collisions disappeared.

It makes me think that JLPons' CUDA search routine doesn't run as fast with small ranges. Strangely my 8-thread Xeon exhausted the 40-bit range instantly, but when I tried the same range with 48 threads and a Tesla T4 it started taking forever to search it.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
March 24, 2021, 11:40:55 AM
 #1577


I not understand in c++

reference from python code

tame and wild both random  by using function random.randint(start,end)

problem in code is bits (puzzle 120 = 120 bit)

script generate tame and wild first

tame
t.append((3 << problem - 2) + random.randint(1, 1 << problem - 1))

wild
w.append(random.randint(1, 1 << problem - 1))


and use modulo  with  0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
( 115792089237316195423570985008687907853269984665640564039457584007908834671663 )
for generate some hash in hex value and compare

tame-wild = private key

I understand overview but not yet know in detail have a lot value in code


fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
March 24, 2021, 03:12:31 PM
 #1578


Can someone know python language  help to check kangaroo python?

Why this script have problem? Result not correct

two script python
http://bitchain.pl/100btc/pollard_kangaroo.txt
and
https://github.com/Telariust/pollard-kangaroo/blob/master/pollard-kangaroo-multi.py

pollard_kangaroo.txt is work correct  (but pollard_kangaroo.txt work slow)
pollard_kangaroo.txt run 3 time all give result correct and same result (but diff tame,wild)

and
pollard-kangaroo-multi.py is work fast than pollard_kangaroo.txt
pollard-kangaroo-multi.py this script have some problem give wrong private key
pollard_kangaroo.txt run 3 time give result wrong


normally real scan I using  JeanLucPons Kangaroo is very fast and base for kangaroo method
but python script I would like to study to know kangaroo more
I not using python for real scan



pollard-kangaroo-multi.py
puzzle #42
03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6


results.txt
Code:
0000000000000000000000000000000000000000000000000000023986637987:02abd400568dc4e7ef79e6f44e84cd5ae065bd6de5e368e348a1aad6b36dafd1bd
---------------
000000000000000000000000000000000000000000000000000003e178f7fa74:021ff7c48b106ec37fdd6336f2d1e58eec77709496c6141d2f9f4d38f180634509
---------------
000000000000000000000000000000000000000000000000000002eff757fcae:03d5c08e29c3bbfee960cad15e5113af71de7cdfe8bc1ccafdd3b035644e979501
---------------



results2.txt
Code:
0000000000000000000000000000000000000000000000000000023986637987
2446091057543
02abd400568dc4e7ef79e6f44e84cd5ae065bd6de5e368e348a1aad6b36dafd1bd
---------------
000000000000000000000000000000000000000000000000000003e178f7fa74
4266932042356
021ff7c48b106ec37fdd6336f2d1e58eec77709496c6141d2f9f4d38f180634509
---------------
000000000000000000000000000000000000000000000000000002eff757fcae
3229670177966
03d5c08e29c3bbfee960cad15e5113af71de7cdfe8bc1ccafdd3b035644e979501
---------------



tame.txt
Code:
7c10d5640b17ecbd3800cede7688613561bb31a0cb1aca827884c230d6a00000 3333043552046
1b12e0039fbe3146e5f56fc13038a47771a37177740a6537c86eed37e24c0000 3355312320797
5a04c085d4a67edc1d25d881455574f0b65ad08938db9bcf6ace2957bd080000 3401508497681
2b01636fb652a96223d190dc15c9a558daac9aadb0766b22227970ec8bb40000 3609299807459
f2b3bbcea28fa25d6ec410218ca090598e5b3befe63514beeefb8eb6fe180000 3731600773135



wild.txt
Code:
204b1c9af8c53ade9dca6d1073001ce715000d464ffd6a2941d033a4e4e80000 28714589029
4f4b59ff33374ef2e3735298e8079faccffb5bf8aff62a09b427f61c66f00000 34251639381
dc7e57a612bfde25a36080dbc295345167904f64133e2e4ef8d7561a5ad00000 38565783411
ae8d69bbed5dcc78196abe875e6fc7b2c2f4433a78a8576cf02a65b2ffc00000 68124818448
5c6ffcb856303bb31559aee056e205fe3670d1f5b15beff5837125fcbdd00000 136538837536
cd941c613f700bf0eac4d7a758e82ecd528e8c77080e210762bc54ed98400000 304899390925
f2b3bbcea28fa25d6ec410218ca090598e5b3befe63514beeefb8eb6fe180000 501930595169


see match
f2b3bbcea28fa25d6ec410218ca090598e5b3befe63514beeefb8eb6fe180000
3731600773135-501930595169= 3229670177966

see in result file is not correct


and this python script
pollard_kangaroo.txt

results.txt
Code:
2895374552463
---------------
2895374552463
---------------
2895374552463
---------------


results2.txt
Code:
2895374552463
0x2a221c58d8f
3624783537985-729408985522
---------------
2895374552463
0x2a221c58d8f
4139494633179-1244120080716
---------------
2895374552463
0x2a221c58d8f
4833003184790-1937628632327
---------------



tame.txt
Code:
9b7a85953ac001cbf4ea5e6b0222067f23b9d35ed1d40bdebc467b1ebda10000 4708089915052
3dff07fe2c368cfd8f6d418cf1cee90b632348f7123aa67b337ed69f90c70000 4713405455301
9009668f084d03405119969061a95d33d5e3732ac2fa8685a5643c7341150000 4404096467662
8fabb6661c83024e3b5c0ffa3a3db5f7638dd09c8016d40b8e73767d6d1d0000 4719997712997
bab78bbb2870c92885ab429fe85f68cfb563049e6ad10947def1c6ce39be0000 3625879893589
6f020b7c9e7cadb342448ff24c76de022088836afa5260df3b84a71eb4500000 4071351741076
c5b15f3886b7bc2a64994483dc2b2f42199b851e0f424324674e985d288f0000 4411070749346
d9f638cb0b13c3777f6d8742d8a69cc0ac8bbdc597506ee597407066e92a0000 4412517858542
91cbd760b9197c278be32678f14556b2afac748cfad75305dc915254f3090000 4730981678228
92964dfdf6b1be486edc3770e230600ea4d1de400913bf5e86889ddeaba80000 3363387031753
defbd9c4d282f8ff3130a50bd162b883efc5c2317fcbe924aafd25a866db0000 4735073706502
5cf4ae587542168ab728abc3e53690cdeae4acbbb5970518593d76e901d40000 3644847105881
4f38eee68fd4b0d21e3b522c4a2246925c0227c23ac17adabf9ffe7190d30000 3980671440970
f8d7439e41e5e3ae7f59a2d6f012f4ff75b8fc02f7ea94cd378ca108a9e20000 5376553798958
646e02d5dcb537871219ab8b03948874aa587c47eca105fe56592c481f6c0000 3989074576821
a9feac1b9960178f8554dee6ee526b3e8076d50b1b2339f0a253746195a50000 4443911845842
269e1a92247c40ccf82d4db9e92bece8be99d1c3801c28844ef54efc0cc90000 5259477848969
8134bfb2a58788904de77ca51284d9dcb13bb4f5bf28c8cff98820f86ac60000 4762577026403
55b47734a589b113bc3c5c39636263fed7fe59a082dfe8210fc2875478490000 4453955106247
a611e21b285c1ba688b36700d317e46b03d94c5c3666b0a68822817c1be70000 3399033169009
c04a08c4686099aa4b6e169892930d852c0d790b7b4b5c1ee407fe4947950000 4454802718732
f406e316e8361158e1ee895d94a7d103c16e69f399baa4fd7e6faa1406700000 5395082072270
1d43394251b8703d05936a186ff706dac23a82638bb4ae26ddda8b7ae8b20000 4455489487981
3633af90caf2706029b1efa1533af20f1379fc11c11977489d6f5cd5183c0000 4456009111123
9bb698d94faae032fc80d1fb1430aed4ccbdc22f9ad1d3e89c0cdbd322bc0000 4002627900427
28fb30e33972a3a309e02951c1e4123ffdfc569fbf68ef8ec849c27ed0d90000 4120315719507
3d734313138fc00274591122b7ebe0b93df9d8e9a72a5ef720be912e1ce40000 4007038100338
8b640982c419d85cf951426d3e69f0b87831059ed35af052844ac1ff018b0000 3678433741527
42cf8ab8575a33a49214f5c381826705cbed3cd0c09c21657f5ac7e09dbe0000 4775546516432
0abaef7b0854504a8032a5923c97ab4a9174567b0be886f59c9fcc94b4900000 4468863673382
95c27ee084d49e157dfb20ba6ac1b1a9fa166279760b895bb621fd15605e0000 5282379582548
a9bd663d4678678aa902e10a16fbe88b52a9d36949964ea9b10526e9aea80000 4016640049771
0fc290864397d4e74ef053a8c1915661c823480ae9c325182056743cb82e0000 3415789142081
3b52e11ce2511617219912327a51367704d6ace269aa62e8fe880275cfa10000 4017674094856
7eaff1410de28a78bd4f0ca2fb60c8e6fffff792952db7fbc2eefe39d5800000 4789707541396
fcd4f7208bc88657940d204dd555b2a342488e6a1697eec3fd86761e6ae70000 4791081262561
f61fb6364e23ed1709e054d7975594c435e625e142ded3d915024563b2ca0000 3694450862467
604fd3157574f8645a0de3e8915995d08e65f86db79e0548da6f0d756c3c0000 4139494633179
1d2493bdaafd739e011c9a3e3a5576e0db5def29b7d4eb9d992e178ac65b0000 4793431944683
8fea1815c9cf5892dc45f5728425844648e9c76306765a9f50a99e45019a0000 3699197932931
da9e077a0758d333b1e12e5c504f00f6a034adb4a33548d7196adf8368150000 3427724620038
0ff4f4a65242cdc5caa92f71a10d17f0d4f31337f38d92e1182139f51ebf0000 5299658768768
0a91c18f7260bbac51b68e5fa5de86ef8d705ad43e3edb1603aa30de79bd0000 4488091906752
1e0c57a0a1fc1d281bdbbaa93c44fbbd147e6f9c78f3f9660a7b1094f4540000 5433191982523
6f2ae733f6c5f99dd231ebd2269871b501086a0d12f59a8ba4a8a258bfa60000 4493381845986
015f588f56e95c464c4580cd7188a664f468809a65817a07174e0be043b70000 4040213857007
c6b8bf04ea9f82f23a2a735653228f4891969d5daa2188305ceeee2bffe70000 5437345207599
799e6c1d788b833e3748fd0f5495f193ec0f108ef9a54e6bd9d2c3c89a190000 5442677564638
7b8204af3146018c4d66de7b8f49a74209e00d4971459f6757553d55bb430000 5315873982436
bdc13714b526b407738a437416850597906984dd3fb2c0cd729b28c05ba80000 4050202735815
a4f0e3e2d20624b52c4c35ce4316f2e7dbebcf6280fb10cdfab557873afc0000 4050550324689
cded05075f223aa918349678ac11f1d4c0948b81105f21866fff0c146e920000 3722771879976
86be83854ed5e72c4fe8861cc838d3b73446258e0f940045150ee50632cc0000 3725247343913
072f3f96eb292b5c206122e4ab2efd1a5feb3d332cd34ffc34934b6da0350000 5450174494184
d977b699a367093f62537536028cbe36af2d7ee7bc0626fa80a4f52301cd0000 3462113006046
8ad47d3f66a48b91e442fefc366faed6366e74329cea00c7b59f247c5c430000 4833003184790



wild.txt
Code:
ef9125f88fb9e6d50c8238fb6fb8aea382484b6e403ca0d94ce39c88b5850000 1280747063203
34d2a9922740ef267037b029e1e1b3bdcce2dbebba20a1407c4128b4e1ec0000 2091875422414
b3746e600996f465950b99652377dd13a0aa5128079d2bce13c0823bac580000 1828079523199
a3dcbe01fa7dfdee813ca3746093a8e78d56533d90af64765a0daa0641820000 934272531691
1131e712a9da7c47ecbd328e0cd8725ea5b829527d71b23e7f7211f9ab200000 2101264164375
4ef3cd2da581b84a436804087abe7e99b41940941b75fc24112c520b1c7c0000 2103940575073
c91204cfc9a9033ae882ef9a2991ff5ae60131c5984a5b303e56fd8b536b0000 1298814589843
753fe9dc76abcb1fcb26a89cf2ed5b15a49c8cf37d2e056961e97d65c9a60000 2164301053062
64705129567959b67f50126e1af455336d51d7bd7779ef33c8bc013cef060000 2114273184365
81cad7f7a4db4d161e2bbc2c4151c63cd31bda7cb8c42013942bf21eb45e0000 937840489583
a209dff85b93031893955bc48bb3169060ba3c6c54b2f4dd64efd24a1b160000 2117316920706
703252ba17bfc9b71613ada7aa42fe2fa196e6e9b74e8da9ada8691c2e5e0000 1309795414295
9ead9a9ff84c05fa9f47c498d9aad87ef816fbf097d0af05cbd9f8c620d00000 941043168220
fb18c3c4cc9b155ec773063d06b2c6083673fb6d325ee9be7b56363911410000 1851493194978
4db3f84a3c87f6011d3a6be633e3581de642424bf51caef99cb7ffb90dec0000 961562959773
ffb967219f6563bf4448379f0b9f989566d948365ff469aae58fcfe9c4280000 2183885486564
21a38e7ca055c34e25b37e807031c88f48c1d36c4ac4c81bc6075d3a75830000 1322501288085
d3197deff275fcce3d3c7b52d01e12494bc1dbb2d38ad80c5b35d2cf79400000 2018665603255
ae1d4dca1248852a3ca209227319799817a8a9fdfd8c01c34415f438d2de0000 972796459684
43e166d59ffd908b83a0b5be517fb8b0cc2493925e463ffac2aa1354cf6a0000 975965266530
58773a44e944a1b416651dd1b8299bc3db215b21d04c9b83356dccf27cf30000 1338116086020
bb6d85518ebd7e9efb5eeb15fc0558c3416158846f66323182498e9057c30000 2149936999375
8a1e3793c1fa7c1646c8eebb11a8f6ab49ad61942f455bc11b43fa1175ed0000 1880924025099
226a5db1afd92279e712565a4ecb88c839a4f56efe9189feda35e15588260000 2153825081595
c01cb5954a63ade23a96d34c6a62a28e25842fd97ceb44a08c43cb54bae50000 2212529552255
7ad2fe17513a430a629aa20cd389e9e50404766b98c6b98685a710d73d910000 2213684152409
c0fc25c16af21593e2586c70354bbcff95b1fd6d704f10158a9f8182ef980000 2164172686091
185abd547f2135b2d7c47a978b053b89856d600840c38ab5796b64f649a00000 1003474194414
613eb87f1d4809cb0ae5d92cbff3d512759b5399b2ad5c4bca7f37f6be230000 1009581356536
4d13d1ff66eb016cd93b4b7c3faf465030dcd4a415414fb68ef86a67a7810000 2229398458494
4d13d1ff66eb016cd93b4b7c3faf465030dcd4a415414fb68ef86a67a7810000 2229398458494
b3f28386c62d70c15cc6b222ba8ccd8b7adeb1a77d456957675ace614a0b0000 998469524292
ccfbb3e4287cc5e9be303aa8ce8137cf35dae18afdb0aaf790a264e291da0000 2240863089637
ccfbb3e4287cc5e9be303aa8ce8137cf35dae18afdb0aaf790a264e291da0000 2240863089637
723341d300d3b5c5b256e2cac42ab8b9da6a28c20cce01fa077be463f0250000 2075131210290
5eaabf40dfb1ae0024d1b525e56b160289533d1aba215ee47c6235da128c0000 1029039056020
3a507166fd752c527fb7ed12f9dbd97152bdc22ffc8b0f4598900a763b820000 2197335070378
7efc63501369546a53a8369d1f4cc9d79129edf5b59eaf29094676f9eb2e0000 1388215767746
3207a106e032d3abfbabf3615848a7d6a8d4b25d1b3f1586f313dd052a290000 1390726673609
8ad47d3f66a48b91e442fefc366faed6366e74329cea00c7b59f247c5c430000 1937628632327
1c9c01793b1d3563351515ddd2c31b50411de5b027afa532c70d612d185e0000 2091281329393
0ae76c29f7a7f8c28fb1a17e659204d8104ade70cf6ad123a1c8bd6110460000 2209945300776
2db7f53c5a9b850d8c8aa4c75a08eb10e1db15c11ba14a7cb972ea3bf36e0000 1942529375069
c01cb5954a63ade23a96d34c6a62a28e25842fd97ceb44a08c43cb54bae50000 2212529552255


pollard_kangaroo.txt work 3 time

Code:
total time: 350.09 sec
SOLVED: 2895374552463
Hops: 3772919
tame and wild herds are prepared

total time: 804.50 sec
SOLVED: 2895374552463
Hops: 4895886
tame and wild herds are prepared

total time: 1326.85 sec
SOLVED: 2895374552463
Hops: 5610054
4759619.666666667 +/- 534693.8804139347
Time to solve: 442.29 sec

match line

8ad47d3f66a48b91e442fefc366faed6366e74329cea00c7b59f247c5c430000 4833003184790
8ad47d3f66a48b91e442fefc366faed6366e74329cea00c7b59f247c5c430000 1937628632327


pollard_kangaroo.txt work correct no problem (slow)


WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
March 24, 2021, 04:10:02 PM
 #1579

Quote
pollard-kangaroo-multi.py
puzzle #42
03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6
You have to post your flags/settings to better show you what is wrong.
My first thoughts are you did not set the appropriate bits or pubkey in the multi version and if you don't it goes into a demo mode and will keep running and testing different random keys.
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
March 25, 2021, 01:50:38 AM
 #1580

Quote
pollard-kangaroo-multi.py
puzzle #42
03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6
You have to post your flags/settings to better show you what is wrong.
My first thoughts are you did not set the appropriate bits or pubkey in the multi version and if you don't it goes into a demo mode and will keep running and testing different random keys.

setting is default
I try to figure out why happen what problem with  pollard-kangaroo-multi.py
I try use original code from git hub no modify anything

I try with pollard-kangaroo-multi.py because is faster


pollard-kangaroo-multi.py

pow2bits   = 42   # bits (suborder) range search of keyspace (expected location of privkey)
Ntimeit      = 3      # times for avg runtime

pubkeys = {
   , 42: ('03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6', False)



and pollard_kangaroo.txt
same default


problem = 42


problems = [
    ('03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6', 42),


pollard_kangaroo.txt work fine no problem
Pages: « 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 [79] 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 ... 144 »
  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!