HOME

TheInfoList



OR:

In
computational number theory In mathematics and computer science, computational number theory, also known as algorithmic number theory, is the study of computational methods for investigating and solving problems in number theory and arithmetic geometry, including algorithm ...
, a factor base is a small set of prime numbers commonly used as a mathematical tool in algorithms involving extensive
sieving A sieve, fine mesh strainer, or sift, is a device for separating wanted elements from unwanted material or for controlling the particle size distribution of a sample, using a screen such as a woven mesh or net or perforated sheet material. ...
for potential factors of a given integer.


Usage in factoring algorithms

A factor base is a relatively small set of distinct
prime number A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
s ''P'', sometimes together with -1. Say we want to factorize an integer ''n''. We generate, in some way, a large number of integer pairs (''x'', ''y'') for which x \neq \pm y, x^2 \equiv y^2 \pmod, and x^2 \pmod \texty^2 \pmod can be completely factorized over the chosen factor base—that is, all their prime factors are in ''P''. In practice, several integers ''x'' are found such that x^2 \pmod has all of its prime factors in the pre-chosen factor base. We represent each x^2 \pmod expression as a
vector Vector most often refers to: *Euclidean vector, a quantity with a magnitude and a direction *Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematic ...
of a matrix with integer entries being the exponents of factors in the factor base. Linear combinations of the rows corresponds to multiplication of these expressions. A linear dependence relation mod 2 among the rows leads to a desired congruence x^2 \equiv y^2 \pmod. This essentially reformulates the problem into a system of linear equations, which can be solved using numerous methods such as Gaussian elimination; in practice advanced methods like the block Lanczos algorithm are used, that take advantage of certain properties of the system. This congruence may generate the trivial \textstyle n = 1 \cdot n; in this case we try to find another suitable congruence. If repeated attempts to factor fail we can try again using a different factor base.


Algorithms

Factor bases are used in, for example, Dixon's factorization, the
quadratic sieve The quadratic sieve algorithm (QS) is an integer factorization algorithm and, in practice, the second fastest method known (after the general number field sieve). It is still the fastest for integers under 100 decimal digits or so, and is consider ...
, and the
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( ...
. The difference between these algorithms is essentially the methods used to generate (''x'', ''y'') candidates. Factor bases are also used in the
Index calculus algorithm In computational number theory, the index calculus algorithm is a probabilistic algorithm for computing discrete logarithms. Dedicated to the discrete logarithm in (\mathbb/q\mathbb)^* where q is a prime, index calculus leads to a family of algorit ...
for computing discrete logarithms.


References

{{DEFAULTSORT:Factor Base Integer factorization algorithms