Skip to content

Latest commit

 

History

History
114 lines (78 loc) · 6.32 KB

README.md

File metadata and controls

114 lines (78 loc) · 6.32 KB

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