Skip to content

Latest commit

 

History

History
70 lines (39 loc) · 2.06 KB

README.md

File metadata and controls

70 lines (39 loc) · 2.06 KB

Rust GNFS Implementation

Welcome to the Rust implementation of the General Number Field Sieve (GNFS), the most advanced classical algorithm used for factoring large integers. This project aims to provide a robust and efficient implementation of GNFS, leveraging the power and safety of Rust.

Project Inspiration

This project is inspired by AdamWhiteHat's GNFS implementation and a deep interest in cryptography. It is intended for educational and research purposes, focusing on continuous improvement and validation of the implementation.

Getting Started

Prerequisites

Ensure you have the following installed:

You can install Rust and Cargo using rustup, which is the recommended toolchain manager for Rust projects.

Building the Project

Clone the repository:

git clone https://github.com/danielrcurtis/gnfs
cd rust-gnfs
cargo build --release
cargo test

Contributing

We welcome contributions from the community, whether they are bug fixes, improvements, or new features. Here's how you can contribute:

Issues

Check out the Issues tab on GitHub to see a list of known issues and feature requests.

Feel free to submit new issues for bugs, enhancements, or feature requests.

Use issues to discuss potential changes before starting work on a pull request.

Pull Requests

Fork the repository.

Create a new branch for each feature or fix.

Develop your feature or fix, adhering to the existing code style.

Write or adapt tests as necessary.

Ensure your code passes all tests.

Submit a pull request targeting the main branch of the original repository.

Guidelines

Keep your code clean and well-commented.

Make sure to document new code accordingly.

Follow Rust's idiomatic practices.

Roadmap

The project roadmap is tracked through GitHub issues. We use issues to outline future plans and track ongoing progress.

License

This project is licensed under MIT License. See the LICENSE file in the repository for full license text.