A GMP implementation of the parallelized Pollard's Rho algorithm.
The python wrapper manages the C workers and computes the private key once a collision is found.
Each worker walks its own pseudo-random sequence until it finds a distinguished point
A point is considered distinguished when its 24 least significant bits are 0. The distinguisher can be chosen arbitrarily but distinguished points shouldn't be too rare or too common.
You will need to install the GMP developer tools before building. This can be done like this on Ubuntu :
sudo apt install libgmp-dev
Edit pollard_rho_worker.h
with your curve parameters and point coordinates, then :
make
./wrapper.py