Skip to content

lucaselblanc/pollardsrho

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pollard's Rho Algorithm for SECP256K1 Curve (Beta)

C++

Description

This repository contains the implementation of Pollard's Rho algorithm for the secp256k1 elliptic curve. The goal is to generate private keys over O√n using a tortoise and many hares, similar to Pollard's Kangoroo, to run the program it is necessary to have the public key of the bitcoin wallet.

Algorithm Complexity

The expected time complexity of Pollard's Rho algorithm for elliptic curves is O(√n), where n is the order of the group to the generating point(G). Given secp256k1, this translates to approximately O(2128).

Prerequisites

  • boost::multiprecision.

Installation

  1. Clone this repository:

    ~/$ git clone https://github.com/lucaselblanc/pollardsrho.git
  2. Install the necessary libraries:

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install gcc g++
    sudo apt-get install libboost-all-dev
  3. Compile the project:

    ~/$cd pollardsrho
    ~/pollardsrho$ make
  4. Run the program:

    ~/pollardsrho$ ./pollardsrho <compressed public key> <key range>

    Replace <compressed public key> with the point (G) on the secp256k1 curve multiplied by your private key value, and <key range> with the size of the search interval for (k).

    Example usage:

    ~/pollardsrho$ ./pollardsrho 02145d2611c823a396ef6712ce0f712f09b9b4f3135e3e0aa3230fb9b6d08d1e16 135

Commands

  • ~/pollardsrho$ ./pollardsrho <compressed public key> <key range>: Starts the search for the private key corresponding to the given public key.

Libraries Used

  • secp256k1.h
  • random
  • thread
  • mutex
  • atomic
  • unordered_set
  • omp.h
  • boost/multiprecision/cpp_int.hpp

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

Add a Star: GitHub stars

Donations: bc1pxqwuyfwvttjgttfmpt0gk0n7yzw3k7cyzzpc3rsc4lumr8ywythsj0rrhd

License

This project is licensed under the MIT License. See the LICENSE file for details.


Typing SVG


My Github Stats

Connect with me:

lucas-jhonatan-215594208 @noclipstudiobr https://discord.gg/wXqcJDHht8

Languages and Tools:

android c cplusplus csharp python firebase linux unity

About

Implementation of the Pollard's Rho algorithm for the secp256k1 curve.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •