Skip to content

This project features implementations of various integer factorization algorithms developed for my bachelor's thesis. These implementations serve as practical demonstrations of the algorithms studied. Please note that they are intended for educational purposes only and not for actual usage in factorization of big integers.

License

Notifications You must be signed in to change notification settings

izanbf1803/integer-factorization-algorithms

Repository files navigation

Requirements

Install Sage from conda-forge: https://doc.sagemath.org/html/en/installation/conda.html

Testing

To run the tests, activate the Sage environment in conda and run python -m pytest -v in the main folder.

Usage

In general, once the requirements are satisfied, you can execute the algorithms in the following fashion:

from factorization_algorithms.algorithm import algorithm

algorithm(N, other_parameters)

As an example, let's factor 36416277516431290307 using both pollard rho and continued fractions algorithm:

from factorization_algorithms.pollard_rho import pollard_rho
from factorization_algorithms.cfrac import cfrac

N = 36416277516431290307
print(pollard_rho(N), cfrac(N, K=257))
> 6681528299 5450291593

Seems to work, since 36416277516431290307 == 6681528299*5450291593.

About

This project features implementations of various integer factorization algorithms developed for my bachelor's thesis. These implementations serve as practical demonstrations of the algorithms studied. Please note that they are intended for educational purposes only and not for actual usage in factorization of big integers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages