Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Quadratic sieve
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Implementations == * [http://www.asahi-net.or.jp/~KC2H-MSM/cn PPMPQS and PPSIQS] * [http://www.friedspace.com/QS/ SIMPQS] {{Webarchive|url=https://web.archive.org/web/20200506164219/http://www.friedspace.com/QS/ |date=2020-05-06 }} is a fast implementation of the self-initialising multiple polynomial quadratic sieve written by William Hart. It provides support for the large prime variant and uses Jason Papadopoulos' [[Block Lanczos algorithm|block Lanczos]] implementation for the linear algebra stage. SIMPQS is accessible as the qsieve command in the [[SageMath]] computer algebra package, is part of the [[Fast Library for Number Theory]], or can be downloaded in source form. SIMPQS is optimized for use on Athlon and Opteron machines, but will operate on most common 32- and 64-bit architectures. It is written entirely in C. * A [http://www.alpertron.com.ar/ECM.HTM factoring applet] by Dario Alpern, that uses the quadratic sieve if certain conditions are met. * The [[PARI/GP]] computer algebra package includes an implementation of the self-initialising multiple polynomial quadratic sieve implementing the large prime variant. It was adapted by Thomas Papanikolaou and Xavier Roblot from a sieve written for the LiDIA project. The self-initialisation scheme is based on an idea from the thesis of Thomas Sosnowski. * A variant of the quadratic sieve is available in the [[Magma computer algebra system|MAGMA]] computer algebra package. It is based on an implementation of Arjen Lenstra from 1995, used in his "factoring by email" program. * [http://sourceforge.net/projects/msieve/ msieve], an implementation of the multiple polynomial quadratic sieve with support for single and double large primes, written by Jason Papadopoulos. Source code and a Windows binary are available. * [https://github.com/bbuhrow/yafu YAFU], written by Ben Buhrow, is probably the fastest available implementation of the quadratic sieve. For example, [[RSA-100]] was factored in less than 15 minutes on four cores of a 2.5 GHz Xeon 6248 CPU. All of the critical subroutines make use of [[AVX2]] or [[AVX-512]] [[SIMD]] instructions for AMD or Intel processors. It uses Jason Papadopoulos' block Lanczos code. Source code and binaries for Windows and Linux are available. * [http://sourceforge.net/projects/arielqs/ Ariel], a simple Java implementation of the quadratic sieve for didactic purposes. * The [https://github.com/TilmanNeumann/java-math-library java-math-library] contains probably the fastest quadratic sieve written in Java (the successor of PSIQS 4.0). * [https://github.com/gazman-sdk/quadratic-sieve Java QS], an open source Java project containing basic implementation of QS. Released at February 4, 2016 by Ilya Gazman * [https://github.com/michel-leonard/C-Quadratic-Sieve C Quadratic Sieve], a factorizer written entirely in C containing a self-initializing Quadratic Sieve implementation. The software released in 2022 can factor numbers in batches with JSON or CSV output. Its source code by Michel Leonard does not rely on an external library to factor 240-bit numbers in a minute and 300-bit numbers in 2 hours. * The [https://cran.r-project.org/package=RcppBigIntAlgos RcppBigIntAlgos] package by Joseph Wood, provides an efficient implementation of the multiple polynomial quadratic sieve for the [[R_(programming_language)|R programming language]]. It is written in C++ and is capable of comfortably factoring 100-digit [[semiprime|semiprimes]]. For example, a 300-bit semiprime (91 digits) was factored in 1 hour and the [[RSA-100]] was factored in under 10 hours on a MacBook Air with an Apple M2 processor.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)