Function field sieve

Last updated

In mathematics the Function Field Sieve is one of the most efficient algorithms to solve the Discrete Logarithm Problem (DLP) in a finite field. It has heuristic subexponential complexity. Leonard Adleman developed it in 1994 [1] and then elaborated it together with M. D. Huang in 1999. [2] Previous work includes the work of D. Coppersmith [3] about the DLP in fields of characteristic two.

Contents

The discrete logarithm problem in a finite field consists of solving the equation for , a prime number and an integer. The function for a fixed is a one-way function used in cryptography. Several cryptographic methods are based on the DLP such as the Diffie-Hellman key exchange, the El Gamal cryptosystem and the Digital Signature Algorithm.

Number theoretical background

Function Fields

Let be a polynomial defining an algebraic curve over a finite field . A function field may be viewed as the field of fractions of the affine coordinate ring , where denotes the ideal generated by . This is a special case of an algebraic function field. It is defined over the finite field and has transcendence degree one. The transcendent element will be denoted by .

There exist bijections between valuation rings in function fields and equivalence classes of places, as well as between valuation rings and equivalence classes of valuations. [4] This correspondence is frequently used in the Function Field Sieve algorithm.

Divisors

A discrete valuation of the function field , namely a discrete valuation ring , has a unique maximal ideal called a prime of the function field. The degree of is and we also define .

A divisor is a -linear combination over all primes, so where and only finitely many elements of the sum are non-zero. The divisor of an element is defined as , where is the valuation corresponding to the prime . The degree of a divisor is .

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 .

Functions that decompose into irreducible function of degree smaller than some bound are called -smooth. This is analogous to the definition of a smooth number and such functions are useful because their decomposition can be found relatively fast. The set of those functions is called the factor base. A pair of functions is doubly-smooth if and are both smooth, where is the norm of an element of over , is some parameter and is viewed as an element of the function field of .

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 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 of degree , a function and a curve of given degree such that . Here is the power in the order of the base field . Let denote the function field defined by .

This leads to an isomorphism and a homomorphism

Using the isomorphism each element of can be considered as a polynomial in .

One also needs to set a smoothness bound for the factor base .

Sieving

In this step doubly-smooth pairs of functions are found.

One considers functions of the form , then divides by any as many times as possible. Any that is reduced to one in this process is -smooth. To implement this, Gray code 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 or the index calculus algorithm. Instead of numbers one sieves through functions in 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 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 of that lie over them and surrogate functions that correspond to the places. A surrogate function corresponding to a place satisfies where is the class number of and is any fixed discrete valuation with . The function defined this way is unique up to a constant in .

By the definition of a divisor for . Using this and the fact that we get the following expression:

where is any valuation with . Then, using the fact that the divisor of a surrogate function is unique up to a constant, one gets

We now use the fact that and the known decomposition of this expression into irreducible polynomials. Let be the power of in this decomposition. Then

Here we can take the discrete logarithm of the equation up to a unit. This is called the restricted discrete logarithm . It is defined by the equation for some unit .

where is the inverse of modulo .

The expressions and the logarithms are unknown. Once enough equations of this form are found, a linear system can be solved to find for all . Taking the whole expression as an unknown helps to gain time, since , , or don't have to be computed. Eventually for each the unit corresponding to the restricted discrete logarithm can be calculated which then gives .

Reduction step

First mod are computed for a random . With sufficiently high probability this is -smooth, so one can factor it as for with . Each of these polynomials can be reduced to polynomials of smaller degree using a generalization of the Coppersmith method. [2] We can reduce the degree until we get a product of -smooth polynomials. Then, taking the logarithm to the base , we can eventually compute

, which solves the DLP.

Complexity

The Function Field Sieve is thought to run in subexponential time in

using the L-notation. There is no rigorous proof of this complexity since it relies on some heuristic assumptions. For example in the sieving step we assume that numbers of the form 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 and a version of the Number Field Sieve. [5] In their easiest forms both solve the DLP in a finite field of prime order but they can be expanded to solve the DLP in as well.

The Number Field Sieve for the DLP in has a complexity of [6] and is therefore slightly slower than the best performance of the Function Field Sieve. However, it is faster than the Function Field Sieve when . 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 fields.

The index calculus algorithm 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 . 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 , so most of the computations can be done with smaller numbers.

See also

Related Research Articles

Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography to provide equivalent security.

<span class="mw-page-title-main">Elliptic curve</span> Algebraic curve

In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point O. An elliptic curve is defined over a field K and describes points in K2, the Cartesian product of K with itself. If the field's characteristic is different from 2 and 3, then the curve can be described as a plane algebraic curve which consists of solutions (x, y) for:

In mathematics, a finite field or Galois field 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, subtraction and division are defined and satisfy certain basic rules. The most common examples of finite fields are given by the integers mod p when p is a prime number.

<span class="mw-page-title-main">Logarithm</span> Mathematical function, inverse of an exponential function

In mathematics, the logarithm is the inverse function to exponentiation. That means that the logarithm of a number x to the base b is the exponent to which b must be raised to produce x. For example, since 1000 = 103, the logarithm base 10 of 1000 is 3, or log10 (1000) = 3. The logarithm of x to base b is denoted as logb (x), or without parentheses, logbx, or even without the explicit base, log x, when no confusion is possible, or when the base does not matter such as in big O notation.

Shor's algorithm is a quantum algorithm for finding the prime factors of an integer. It was developed in 1994 by the American mathematician Peter Shor. It is one of the few known quantum algorithms with compelling potential applications and strong evidence of superpolynomial speedup compared to best known classical algorithms. On the other hand, factoring numbers of practical significance requires far more qubits than available in the near future. Another concern is that noise in quantum circuits may undermine results, requiring additional qubits for quantum error correction.

In mathematics, for given real numbers a and b, the logarithm logba is a number x such that bx = a. Analogously, in any group G, powers bk can be defined for all integers k, and the discrete logarithm logba is an integer k such that bk = a. In number theory, the more commonly used term is index: we can write x = indra (mod m) (read "the index of a to the base r modulo m") for rxa (mod m) if r is a primitive root of m and gcd(a,m) = 1.

In mathematics, specifically the algebraic theory of fields, a normal basis is a special kind of basis for Galois extensions of finite degree, characterised as forming a single orbit for the Galois group. The normal basis theorem states that any finite Galois extension of fields has a normal basis. In algebraic number theory, the study of the more refined question of the existence of a normal integral basis is part of Galois module theory.

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 × 53 × 7 are both 7-smooth, while 11 and 702 = 2 × 33 × 13 are not 7-smooth. The term seems to have been coined by Leonard Adleman. Smooth numbers are especially important in cryptography, which relies on factorization of integers. The 2-smooth numbers are just the powers of 2, while 5-smooth numbers are known as regular numbers.

In commutative algebra and field theory, the Frobenius endomorphism is a special endomorphism of commutative rings with prime characteristic p, an important class that includes finite fields. The endomorphism maps every element to its p-th power. In certain contexts it is an automorphism, but this is not true in general.

In computational number theory, the index calculus algorithm is a probabilistic algorithm for computing discrete logarithms. Dedicated to the discrete logarithm in where is a prime, index calculus leads to a family of algorithms adapted to finite fields and to some families of elliptic curves. The algorithm collects relations among the discrete logarithms of small primes, computes them by a linear algebra procedure and finally expresses the desired discrete logarithm with respect to the discrete logarithms of small primes.

Pollard's rho algorithm for logarithms is an algorithm introduced by John Pollard in 1978 to solve the discrete logarithm problem, analogous to Pollard's rho algorithm to solve the integer factorization problem.

In mathematics, the resultant of two polynomials is a polynomial expression of their coefficients that is equal to zero if and only if the polynomials have a common root, or, equivalently, a common factor. In some older texts, the resultant is also called the eliminant.

In mathematics, particularly computational algebra, Berlekamp's algorithm is a well-known method for factoring polynomials over finite fields. The algorithm consists mainly of matrix reduction and polynomial GCD computations. It was invented by Elwyn Berlekamp in 1967. It was the dominant algorithm for solving the problem until the Cantor–Zassenhaus algorithm of 1981. It is currently implemented in many well-known computer algebra systems.

In computational algebra, the Cantor–Zassenhaus algorithm is a method for factoring polynomials over finite fields.

In number theory, an average order of an arithmetic function is some simpler or better-understood function which takes the same values "on average".

A hyperelliptic curve is a particular kind of algebraic curve. There exist hyperelliptic curves of every genus . If the genus of a hyperelliptic curve equals 1, we simply call the curve an elliptic curve. Hence we can see hyperelliptic curves as generalizations of elliptic curves. There is a well-known group structure on the set of points lying on an elliptic curve over some field , which we can describe geometrically with chords and tangents. Generalizing this group structure to the hyperelliptic case is not straightforward. We cannot define the same group law on the set of points lying on a hyperelliptic curve, instead a group structure can be defined on the so-called Jacobian of a hyperelliptic curve. The computations differ depending on the number of points at infinity. Imaginary hyperelliptic curves are hyperelliptic curves with exactly 1 point at infinity: real hyperelliptic curves have two points at infinity.

In transcendental number theory, a mathematical discipline, Baker's theorem gives a lower bound for the absolute value of linear combinations of logarithms of algebraic numbers. The result, proved by Alan Baker, subsumed many earlier results in transcendental number theory and solved a problem posed by Alexander Gelfond nearly fifteen years earlier. Baker used this to prove the transcendence of many numbers, to derive effective bounds for the solutions of some Diophantine equations, and to solve the class number problem of finding all imaginary quadratic fields with class number 1.

In mathematics and computer algebra the factorization of a polynomial consists of decomposing it into a product of irreducible factors. This decomposition is theoretically possible and is unique for polynomials with coefficients in any field, but rather strong restrictions on the field of the coefficients are needed to allow the computation of the factorization by means of an algorithm. In practice, algorithms have been designed only for polynomials with coefficients in a finite field, in the field of rationals or in a finitely generated field extension of one of them.

Network coding has been shown to optimally use bandwidth in a network, maximizing information flow but the scheme is very inherently vulnerable to pollution attacks by malicious nodes in the network. A node injecting garbage can quickly affect many receivers. The pollution of network packets spreads quickly since the output of honest node is corrupted if at least one of the incoming packets is corrupted.

In representation theory of mathematics, the Waldspurger formula relates the special values of two L-functions of two related admissible irreducible representations. Let k be the base field, f be an automorphic form over k, π be the representation associated via the Jacquet–Langlands correspondence with f. Goro Shimura (1976) proved this formula, when and f is a cusp form; Günter Harder made the same discovery at the same time in an unpublished paper. Marie-France Vignéras (1980) proved this formula, when and f is a newform. Jean-Loup Waldspurger, for whom the formula is named, reproved and generalized the result of Vignéras in 1985 via a totally different method which was widely used thereafter by mathematicians to prove similar formulas.

References

  1. L. Adleman. "The function field sieve". In: Algorithmic Number Theory (ANTS-I). Lecture Notes in Computer Science. Springer (1994), pp.108-121.
  2. 1 2 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.
  3. D. Coppersmith. (1984), "Fast evaluation of discrete logarithms in fields of characteristic two". In: IEEE Trans. Inform. Theory IT-39 (1984), pp. 587-594.
  4. M. Fried and M. Jarden. In: "Field Arithmetic". vol. 11. (Jan. 2005). Chap. 2.1. DOI: 10.1007/b138352.
  5. D. Gordon. "Discrete Logarithm in GF(P) Using the Number Field Sieve". In: Siam Journal on Discrete Mathematics - SIAMDM 6 (Feb. 1993), pp. 124-138. DOI: 10.1137/0406010.
  6. 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