HOME

TheInfoList



OR:

In
number theory Number theory (or arithmetic or higher arithmetic in older usage) is a branch of pure mathematics devoted primarily to the study of the integers and arithmetic function, integer-valued functions. German mathematician Carl Friedrich Gauss (1777â ...
, a branch of
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, the special number field sieve (SNFS) is a special-purpose
integer factorization In number theory, integer factorization is the decomposition of a composite number into a product of smaller integers. If these factors are further restricted to prime numbers, the process is called prime factorization. When the numbers are suf ...
algorithm. The
general number field sieve In number theory, the general number field sieve (GNFS) is the most efficient classical algorithm known for factoring integers larger than . Heuristically, its complexity for factoring an integer (consisting of bits) is of the form :\exp\left( ...
(GNFS) was derived from it. The special number field sieve is efficient for integers of the form ''r''''e'' ± ''s'', where ''r'' and ''s'' are small (for instance
Mersenne number In mathematics, a Mersenne prime is a prime number that is one less than a power of two. That is, it is a prime number of the form for some integer . They are named after Marin Mersenne, a French Minim friar, who studied them in the early 17th ...
s).
Heuristic A heuristic (; ), or heuristic technique, is any approach to problem solving or self-discovery that employs a practical method that is not guaranteed to be optimal, perfect, or rational, but is nevertheless sufficient for reaching an immediate, ...
ally, its
complexity Complexity characterises the behaviour of a system or model whose components interaction, interact in multiple ways and follow local rules, leading to nonlinearity, randomness, collective dynamics, hierarchy, and emergence. The term is generall ...
for factoring an integer n is of the form: :\exp\left(\left(1+o(1)\right)\left(\tfrac\log n\right)^\left(\log\log n\right)^\right)=L_n\left /3,(32/9)^\right/math> in O and
L-notation ''L''-notation is an asymptotic notation analogous to big-O notation, denoted as L_n alpha,c/math> for a bound variable n tending to infinity. Like big-O notation, it is usually used to roughly convey the rate of growth of a function, such as the ...
s. The SNFS has been used extensively by NFSNet (a volunteer
distributed computing A distributed system is a system whose components are located on different computer network, networked computers, which communicate and coordinate their actions by message passing, passing messages to one another from any system. Distributed com ...
effort)
NFS@Home
and others to factorise numbers of the Cunningham project; for some time the records for integer factorization have been numbers factored by SNFS.


Overview of method

The SNFS is based on an idea similar to the much simpler
rational sieve In mathematics, the rational sieve is a general algorithm for factoring integers into prime factors. It is a special case of the general number field sieve. While it is less efficient than the general algorithm, it is conceptually simpler. It serv ...
; in particular, readers may find it helpful to read about the
rational sieve In mathematics, the rational sieve is a general algorithm for factoring integers into prime factors. It is a special case of the general number field sieve. While it is less efficient than the general algorithm, it is conceptually simpler. It serv ...
first, before tackling the SNFS. The SNFS works as follows. Let ''n'' be the integer we want to factor. As in the
rational sieve In mathematics, the rational sieve is a general algorithm for factoring integers into prime factors. It is a special case of the general number field sieve. While it is less efficient than the general algorithm, it is conceptually simpler. It serv ...
, the SNFS can be broken into two steps: *First, find a large number of multiplicative relations among a ''factor base'' of elements of Z/''n''Z, such that the number of multiplicative relations is larger than the number of elements in the factor base. *Second, multiply together subsets of these relations in such a way that all the exponents are even, resulting in congruences of the form ''a''2≡''b''2 (
mod Mod, MOD or mods may refer to: Places * Modesto City–County Airport, Stanislaus County, California, US Arts, entertainment, and media Music * Mods (band), a Norwegian rock band * M.O.D. (Method of Destruction), a band from New York City, US ...
''n''). These in turn immediately lead to factorizations of ''n'': ''n''= gcd(''a''+''b'',''n'')×gcd(''a''-''b'',''n''). If done right, it is almost certain that at least one such factorization will be nontrivial. The second step is identical to the case of the
rational sieve In mathematics, the rational sieve is a general algorithm for factoring integers into prime factors. It is a special case of the general number field sieve. While it is less efficient than the general algorithm, it is conceptually simpler. It serv ...
, and is a straightforward
linear algebra Linear algebra is the branch of mathematics concerning linear equations such as: :a_1x_1+\cdots +a_nx_n=b, linear maps such as: :(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n, and their representations in vector spaces and through matrices. ...
problem. The first step, however, is done in a different, more efficient way than the rational sieve, by utilizing
number fields In mathematics, an algebraic number field (or simply number field) is an extension field K of the field of rational numbers such that the field extension K / \mathbb has finite degree (and hence is an algebraic field extension). Thus K is a ...
.


Details of method

Let ''n'' be the integer we want to factor. We pick an
irreducible polynomial In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted ...
''f'' with integer coefficients, and an integer ''m'' such that ''f''(''m'')≡0 (
mod Mod, MOD or mods may refer to: Places * Modesto City–County Airport, Stanislaus County, California, US Arts, entertainment, and media Music * Mods (band), a Norwegian rock band * M.O.D. (Method of Destruction), a band from New York City, US ...
''n'') (we will explain how they are chosen in the next section). Let ''α'' be a
root In vascular plants, the roots are the organs of a plant that are modified to provide anchorage for the plant and take in water and nutrients into the plant body, which allows plants to grow taller and faster. They are most often below the sur ...
of ''f''; we can then form the
ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
Z alpha; There is a unique
ring homomorphism In ring theory, a branch of abstract algebra, a ring homomorphism is a structure-preserving function between two rings. More explicitly, if ''R'' and ''S'' are rings, then a ring homomorphism is a function such that ''f'' is: :addition preservi ...
φ from Z 'α''to Z/nZ that maps ''α'' to ''m''. For simplicity, we'll assume that Z 'α''is a
unique factorization domain In mathematics, a unique factorization domain (UFD) (also sometimes called a factorial ring following the terminology of Bourbaki) is a ring in which a statement analogous to the fundamental theorem of arithmetic holds. Specifically, a UFD is an ...
; the algorithm can be modified to work when it isn't, but then there are some additional complications. Next, we set up two parallel ''factor bases'', one in Z 'α''and one in Z. The one in Z 'α''consists of all the prime ideals in Z 'α''whose norm is bounded by a chosen value N_. The factor base in Z, as in the rational sieve case, consists of all prime integers up to some other bound. We then search for
relatively prime In mathematics, two integers and are coprime, relatively prime or mutually prime if the only positive integer that is a divisor of both of them is 1. Consequently, any prime number that divides does not divide , and vice versa. This is equivale ...
pairs of integers (''a'',''b'') such that: *''a''+''bm'' is
smooth Smooth may refer to: Mathematics * Smooth function, a function that is infinitely differentiable; used in calculus and topology * Smooth manifold, a differentiable manifold for which all the transition maps are smooth functions * Smooth algebrai ...
with respect to the factor base in Z (i.e., it is a product of elements in the factor base). *''a''+''bα'' is smooth with respect to the factor base in Z 'α'' given how we chose the factor base, this is equivalent to the norm of ''a''+''bα'' being divisible only by primes less than N_. These pairs are found through a sieving process, analogous to the
Sieve of Eratosthenes In mathematics, the sieve of Eratosthenes is an ancient algorithm for finding all prime numbers up to any given limit. It does so by iteratively marking as composite (i.e., not prime) the multiples of each prime, starting with the first prime n ...
; this motivates the name "Number Field Sieve". For each such pair, we can apply the ring homomorphism φ to the factorization of ''a''+''bα'', and we can apply the canonical ring homomorphism from Z to Z/nZ to the factorization of ''a''+''bm''. Setting these equal gives a multiplicative relation among elements of a bigger factor base in Z/nZ, and if we find enough pairs we can proceed to combine the relations and factor ''n'', as described above.


Choice of parameters

Not every number is an appropriate choice for the SNFS: you need to know in advance a polynomial ''f'' of appropriate degree (the optimal degree is conjectured to be \left(3 \frac\right) ^\frac, which is 4, 5, or 6 for the sizes of N currently feasible to factorise) with small coefficients, and a value ''x'' such that f(x) \equiv 0 \pmod N where N is the number to factorise. There is an extra condition: ''x'' must satisfy ax+b \equiv 0 \pmod N for a and b no bigger than N^. One set of numbers for which such polynomials exist are the a^b \pm 1 numbers from the Cunningham tables; for example, when NFSNET factored , they used the polynomial with , since , and 3^+3 \equiv 0 \pmod . Numbers defined by linear recurrences, such as the
Fibonacci Fibonacci (; also , ; – ), also known as Leonardo Bonacci, Leonardo of Pisa, or Leonardo Bigollo Pisano ('Leonardo the Traveller from Pisa'), was an Italian mathematician from the Republic of Pisa, considered to be "the most talented Western ...
and Lucas numbers, also have SNFS polynomials, but these are a little more difficult to construct. For example, F_ has polynomial n^5 + 10n^3 + 10n^2 + 10n + 3, and the value of ''x'' satisfies F_ x - F_ = 0. If you already know some factors of a large SNFS-number, you can do the SNFS calculation modulo the remaining part; for the NFSNET example above, times a 197-digit composite number (the small factors were removed by ECM), and the SNFS was performed modulo the 197-digit number. The number of relations required by SNFS still depends on the size of the large number, but the individual calculations are quicker modulo the smaller number.


Limitations of algorithm

This algorithm, as mentioned above, is very efficient for numbers of the form ''r''''e''±''s'', for ''r'' and ''s'' relatively small. It is also efficient for any integers which can be represented as a polynomial with small coefficients. This includes integers of the more general form ''ar''''e''±''bs''''f'', and also for many integers whose binary representation has low Hamming weight. The reason for this is as follows: The Number Field Sieve performs sieving in two different fields. The first field is usually the rationals. The second is a higher degree field. The efficiency of the algorithm strongly depends on the norms of certain elements in these fields. When an integer can be represented as a polynomial with small coefficients, the norms that arise are much smaller than those that arise when an integer is represented by a general polynomial. The reason is that a general polynomial will have much larger coefficients, and the norms will be correspondingly larger. The algorithm attempts to factor these norms over a fixed set of prime numbers. When the norms are smaller, these numbers are more likely to factor.


See also

*
General number field sieve In number theory, the general number field sieve (GNFS) is the most efficient classical algorithm known for factoring integers larger than . Heuristically, its complexity for factoring an integer (consisting of bits) is of the form :\exp\left( ...


References


Further reading

* * * * {{number theoretic algorithms Integer factorization algorithms