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
General number field 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!
{{short description|Factorization algorithm}} In [[number theory]], the '''general number field sieve''' ('''GNFS''') is the most [[algorithmic efficiency|efficient]] classical [[algorithm]] known for [[integer factorization|factoring integers]] larger than [[googol|{{math|10<sup>100</sup>}}]]. [[Heuristic]]ally, its [[Computational complexity theory|complexity]] for factoring an integer {{mvar|n}} (consisting of {{math|βlog<sub>2</sub> {{mvar|n}}β + 1}} bits) is of the form :<math> \begin{align} & \exp\left(\left((64/9)^{1/3}+o(1)\right)\left(\log n\right)^{1/3} \left(\log\log n\right)^{2/3}\right) \\[5pt] = {} & L_n\left[1/3,(64/9)^{1/3}\right] \end{align} </math> in [[Big O notation|O]] and [[L-notation]]s.<ref>{{Cite news|last=Pomerance|first=Carl|author-link=Carl Pomerance|date=December 1996|title=A Tale of Two Sieves|periodical=Notices of the AMS|volume=43|issue=12|pages=1473β1485|url=https://www.ams.org/notices/199612/pomerance.pdf}}</ref> It is a generalization of the [[special number field sieve]]: while the latter can only factor numbers of a certain special form, the general number field sieve can factor any number apart from [[prime power]]s (which are trivial to factor by taking roots). The principle of the number field sieve (both special and general) can be understood as an improvement to the simpler [[rational sieve]] or [[quadratic sieve]]. When using such algorithms to factor a large number {{mvar|n}}, it is necessary to search for [[smooth number]]s (i.e. numbers with small prime factors) of order {{math|''n''<sup>1/2</sup>}}. The size of these values is exponential in the size of {{mvar|n}} (see below). The general number field sieve, on the other hand, manages to search for smooth numbers that are subexponential in the size of {{mvar|n}}. Since these numbers are smaller, they are more likely to be smooth than the numbers inspected in previous algorithms. This is the key to the efficiency of the number field sieve. In order to achieve this speed-up, the number field sieve has to perform computations and factorizations in [[number field]]s. This results in many rather complicated aspects of the algorithm, as compared to the simpler rational sieve. The size of the input to the algorithm is {{math|log<sub>2</sub> ''n''}} or the number of bits in the binary representation of {{mvar|n}}. Any element of the order {{math|''n''<sup>''c''</sup>}} for a constant {{mvar|c}} is exponential in {{math|log ''n''}}. The running time of the number field sieve is '''super-polynomial but sub-exponential''' in the size of the input.
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)