HOME

TheInfoList



OR:

In
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 Function Field Sieve is one of the most efficient algorithms to solve the
Discrete Logarithm In mathematics, for given real numbers ''a'' and ''b'', the logarithm log''b'' ''a'' is a number ''x'' such that . Analogously, in any group ''G'', powers ''b'k'' can be defined for all integers ''k'', and the discrete logarithm log''b' ...
Problem (DLP) in a
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
. It has
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, ...
subexponential complexity.
Leonard Adleman Leonard Adleman (born December 31, 1945) is an American computer scientist. He is one of the creators of the RSA encryption algorithm, for which he received the 2002 Turing Award, often called the Nobel prize of Computer science. He is also kno ...
developed it in 1994 and then elaborated it together with M. D. Huang in 1999.L. Adleman, M.D. Huang. "Function Field Sieve Method for Discrete Logarithms over Finite Fields". In: Inf. Comput. 151 (May 1999), pp. 5-16. DOI: 10.1006/inco.1998.2761. Previous work includes the work of D. Coppersmith about the DLP in fields of characteristic two. The discrete logarithm problem in a finite field consists of solving the equation a^x = b for a,b \in \mathbb_ , p a prime number and n an integer. The function f: \mathbb_ \to \mathbb_, x \mapsto a^x for a fixed a \in \mathbb_ is a
one-way function In computer science, a one-way function is a function that is easy to compute on every input, but hard to invert given the image of a random input. Here, "easy" and "hard" are to be understood in the sense of computational complexity theory, spe ...
used in
cryptography Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
. Several cryptographic methods are based on the DLP such as the Diffie-Hellman key exchange, the
El Gamal In cryptography, the ElGamal encryption system is an asymmetric key encryption algorithm for public-key cryptography which is based on the Diffie–Hellman key exchange. It was described by Taher Elgamal in 1985. ElGamal encryption is used in the ...
cryptosystem and the
Digital Signature Algorithm The Digital Signature Algorithm (DSA) is a Public-key cryptography, public-key cryptosystem and Federal Information Processing Standards, Federal Information Processing Standard for digital signatures, based on the mathematical concept of modular e ...
.


Number theoretical background


Function Fields

Let C(x,y) be a polynomial defining an
algebraic curve In mathematics, an affine algebraic plane curve is the zero set of a polynomial in two variables. A projective algebraic plane curve is the zero set in a projective plane of a homogeneous polynomial in three variables. An affine algebraic plane c ...
over a finite field \mathbb_ . A function field may be viewed as the
field of fractions In abstract algebra, the field of fractions of an integral domain is the smallest field in which it can be embedded. The construction of the field of fractions is modeled on the relationship between the integral domain of integers and the field ...
of the affine coordinate ring \mathbb_p ,y(C(x,y)), where (C(x,y)) denotes the ideal generated by C(x,y). This is a special case of an algebraic function field. It is defined over the finite field \mathbb_p and has
transcendence degree In abstract algebra, the transcendence degree of a field extension ''L'' / ''K'' is a certain rather coarse measure of the "size" of the extension. Specifically, it is defined as the largest cardinality of an algebraically independent subset of ...
one. The transcendent element will be denoted by x. There exist bijections between
valuation ring In abstract algebra, a valuation ring is an integral domain ''D'' such that for every element ''x'' of its field of fractions ''F'', at least one of ''x'' or ''x''−1 belongs to ''D''. Given a field ''F'', if ''D'' is a subring of ''F'' such t ...
s in function fields and equivalence classes of
places Place may refer to: Geography * Place (United States Census Bureau), defined as any concentration of population ** Census-designated place, a populated area lacking its own municipal government * "Place", a type of street or road name ** Ofte ...
, as well as between valuation rings and equivalence classes of valuations. This correspondence is frequently used in the Function Field Sieve algorithm.


Divisors

A discrete valuation of the function field K/\mathbb_p, namely a discrete valuation ring \mathbb_p \subset O \subset K, has a unique maximal ideal P called a prime of the function field. The degree of P is deg(P) = /P : \mathbb_p/math> and we also define f_O = /P : \mathbb_p/math>. A divisor is a \mathbb-linear combination over all primes, so d = \sum \alpha_PP where \alpha_P \in \mathbb and only finitely many elements of the sum are non-zero. The divisor of an element x \in K is defined as \text(x) = \sum v_P(x)P, where v_P is the valuation corresponding to the prime P. The degree of a divisor is \deg(d) = \sum \alpha_P \deg(P).


Method

The Function Field Sieve algorithm consists of a precomputation where the discrete logarithms of irreducible polynomials of small degree are found and a reduction step where they are combined to the logarithm of b. Functions that decompose into irreducible function of degree smaller than some bound B are called B-smooth. This is analogous to the definition of a
smooth number In number theory, an ''n''-smooth (or ''n''-friable) number is an integer whose prime factors are all less than or equal to ''n''. For example, a 7-smooth number is a number whose every prime factor is at most 7, so 49 = 72 and 15750 = 2 × 32 × ...
and such functions are useful because their decomposition can be found relatively fast. The set of those functions S = \ is called the factor base. A pair of functions (r,s) is doubly-smooth if rm + s and N(ry+s) are both smooth, where N(\cdot,\cdot) is the norm of an element of K over \mathbb_p, m \in \mathbb_p /math> is some parameter and ry+s is viewed as an element of the function field of C. The sieving step of the algorithm consists of finding doubly-smooth pairs of functions. In the subsequent step we use them to find linear relations including the logarithms of the functions in the decompositions. By solving a linear system we then calculate the logarithms. In the reduction step we express \log_a(b) as a combination of the logarithm we found before and thus solve the DLP.


Precomputation


Parameter selection

The algorithm requires the following parameters: an irreducible function f of degree n, a function m \in \mathbb_p /math> and a curve C(x,y) of given degree d such that C(x,m) \equiv 0 \text f. Here n is the power in the order of the base field \mathbb_. Let K denote the function field defined by C. This leads to an isomorphism \mathbb_ \simeq \mathbb_p f and a homomorphism \phi: \mathbb_p ,yC \to \mathbb_p f, y \mapsto m. Using the isomorphism each element of \mathbb_ can be considered as a polynomial in \mathbb_p f. One also needs to set a smoothness bound B for the factor base S.


Sieving

In this step doubly-smooth pairs of functions (r,s) \in \mathbb_p \times \mathbb_p /math> are found. One considers functions of the form f = (rm+s)N(ry+s), then divides f by any g \in S as many times as possible. Any f that is reduced to one in this process is B-smooth. To implement this,
Gray code The reflected binary code (RBC), also known as reflected binary (RB) or Gray code after Frank Gray, is an ordering of the binary numeral system such that two successive values differ in only one bit (binary digit). For example, the representati ...
can be used to efficiently step through multiples of a given polynomial. This is completely analogous to the sieving step in other sieving algorithms such as 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( ...
or 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 ...
. Instead of numbers one sieves through functions in \mathbb_p /math> but those functions can be factored into irreducible polynomials just as numbers can be factored into primes.


Finding linear relations

This is the most difficult part of the algorithm, involving function fields,
places Place may refer to: Geography * Place (United States Census Bureau), defined as any concentration of population ** Census-designated place, a populated area lacking its own municipal government * "Place", a type of street or road name ** Ofte ...
and divisors as defined above. The goal is to use the doubly-smooth pairs of functions to find linear relations involving the discrete logarithms of elements in the factor base. For each irreducible function in the factor base we find places v_1, v_2, ... of K that lie over them and surrogate functions \alpha_1, \alpha_2, ... that correspond to the places. A surrogate function \alpha_i \in K corresponding to a place v_i satisfies \text(\alpha_i)=h(v_i-f_u) where h is the class number of K and u is any fixed discrete valuation with f_u=1. The function defined this way is unique up to a constant in \mathbb_p. By the definition of a divisor \text(ry+s) = \sum a_i v_i for a_i = v_i(ry+s). Using this and the fact that \sum a_i f_ = \deg(\text(ry+s)) = 0 we get the following expression: :\text((ry + s)^h) = \sum ha_iv_i = \sum ha_iv_i - \sum ha_if_v + hv \sum a_if_ = \sum a_ih(v_i-f_v) ) = \text(\prod \alpha_i^) where v is any valuation with f_v = 1. Then, using the fact that the divisor of a surrogate function is unique up to a constant, one gets :(ry+s)^h = c \prod \alpha_i^ \text c \in F_p^* :\implies \phi((ry+s)^h) = \phi(c) \prod \phi(\alpha_i)^ We now use the fact that \phi(ry+s) = rm+s and the known decomposition of this expression into irreducible polynomials. Let e_g be the power of g \in S in this decomposition. Then : \prod_ g^ \equiv \phi(c) \prod \phi(\alpha_i)^ \text f Here we can take the discrete logarithm of the equation up to a unit. This is called the restricted discrete logarithm \log_*(x). It is defined by the equation a^ = ux for some unit u \in \mathbb_p. : \sum_ e_g \log_*g \equiv \sum a_i h_1 \log_*(\phi(\alpha_i)) \text (p^n-1)/(p-1), where h_1 is the inverse of h modulo (p^n-1)/(p-1). The expressions h_1 \log_* (\phi(\alpha_i)) and the logarithms \log_*(g) are unknown. Once enough equations of this form are found, a linear system can be solved to find \log_*(g) for all g \in S. Taking the whole expression h_1 log_* (\phi(\alpha_i)) as an unknown helps to gain time, since h, h_1, \alpha_i or \phi(\alpha_i) don't have to be computed. Eventually for each g \in S the unit corresponding to the restricted discrete logarithm can be calculated which then gives \log_a(g) = \log_*(g) - \log_a(u).


Reduction step

First a^lb mod f are computed for a random l < n . With sufficiently high probability this is \sqrt -smooth, so one can factor it as a^lb = \prod b_i for b_i \in \mathbb_p with \deg(b_i) < \sqrt . Each of these polynomials b_i can be reduced to polynomials of smaller degree using a generalization of the
Coppersmith method The Coppersmith method, proposed by Don Coppersmith, is a method to find small integer zeroes of univariate or bivariate polynomials modulo a given integer. The method uses the Lenstra–Lenstra–Lovász lattice basis reduction algorithm (LLL) to ...
. We can reduce the degree until we get a product of B-smooth polynomials. Then, taking the logarithm to the base a, we can eventually compute :\log_a(b) = \sum_ \log_a(g_i) - l, which solves the DLP.


Complexity

The Function Field Sieve runs in
subexponential time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
in :\exp\left( \left(\sqrt + o(1)\right)(\ln p)^(\ln \ln p)^\right) =L_p\left frac,\sqrt[3right.html"_;"title=".html"_;"title="frac,\sqrt[3">frac,\sqrt[3right">.html"_;"title="frac,\sqrt[3">frac,\sqrt[3right/math>_ using_the_L-notation.html" ;"title="">frac,\sqrt[3right.html" ;"title=".html" ;"title="frac,\sqrt[3">frac,\sqrt[3right">.html" ;"title="frac,\sqrt[3">frac,\sqrt[3right/math> using the L-notation">">frac,\sqrt[3right.html" ;"title=".html" ;"title="frac,\sqrt[3">frac,\sqrt[3right">.html" ;"title="frac,\sqrt[3">frac,\sqrt[3right/math> using the L-notation. There is no rigorous proof of this complexity since it relies on some
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, ...
assumptions. For example in the sieving step we assume that numbers of the form (rm+s)N(ry+s) behave like random numbers in a given range.


Comparison with other methods

There are two other well known algorithms that solve the discrete logarithm problem in sub-exponential time: 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 ...
and a version of 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( ...
. In their easiest forms both solve the DLP in a
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
of prime order but they can be expanded to solve the DLP in \mathbb_ as well. The Number Field Sieve for the DLP in \mathbb_ has a complexity of L_p /3, (64/9)^ + o(1)/math> R. Barbulescu, P. Gaudry, T. Kleinjung. "The Tower Number Field Sieve". In: Advances in Cryptology - Asiacrypt 2015. Vol. 9453. Springer, May 2015. pp. 31-58 and is therefore slightly slower than the best performance of the Function Field Sieve. However, it is faster than the Function Field Sieve when n << (\log(p))^ . It is not surprising that there exist two similar algorithms, one with number fields and the other one with function fields. In fact there is an extensive analogy between these two kinds of
global field In mathematics, a global field is one of two type of fields (the other one is local field) which are characterized using valuations. There are two kinds of global fields: * Algebraic number field: A finite extension of \mathbb *Global function fi ...
s. 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 ...
is much easier to state than the Function Field Sieve and the Number Field Sieve since it does not involve any advanced algebraic structures. It is asymptotically slower with a complexity of L_p /2, \sqrt/math>. The main reason why the Number Field Sieve and the Function Field Sieve are faster is that these algorithms can run with a smaller smoothness bound B, so most of the computations can be done with smaller numbers.


See also

*
Algebraic function field In mathematics, an algebraic function field (often abbreviated as function field) of ''n'' variables over a field ''k'' is a finitely generated field extension ''K''/''k'' which has transcendence degree ''n'' over ''k''. Equivalently, an algebraic ...
*
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( ...
*
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 ...


References

{{Number-theoretic algorithms Field (mathematics)