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 ...
, 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'' ''a'' is an integer ''k'' such that . In
number theory, the more commonly used term is index: we can write ''x'' = ind
''r'' ''a'' (mod ''m'') (read "the index of ''a'' to the base ''r'' modulo ''m''") for ''r''
''x'' ≡ ''a'' (mod ''m'') if ''r'' is a
primitive root of ''m'' and
gcd(''a'',''m'') = 1.
Discrete logarithms are quickly computable in a few special cases. However, no efficient method is known for computing them in general. Several important algorithms in
public-key cryptography, such as
ElGamal
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 th ...
base their security on the assumption that the discrete logarithm problem over carefully chosen groups has no efficient solution.
Definition
Let ''G'' be any group. Denote its
group operation by multiplication and its
identity element by 1. Let ''b'' be any element of ''G''. For any positive integer ''k'', the expression ''b''
''k'' denotes the product of ''b'' with itself ''k'' times:
:
Similarly, let ''b''
−''k'' denote the product of ''b''
−1 with itself ''k'' times. For ''k'' = 0, the ''k''th power is the
identity: .
Let ''a'' also be an element of ''G''. An integer ''k'' that solves the equation is termed a discrete logarithm (or simply logarithm, in this context) of ''a'' to the base ''b''. One writes ''k'' = log
''b'' ''a''.
Examples
Powers of 10
The powers of 10 are
:
For any number ''a'' in this list, one can compute log
10 ''a''. For example, log
10 10000 = 4, and log
10 0.001 = −3. These are instances of the discrete logarithm problem.
Other base-10 logarithms in the real numbers are not instances of the discrete logarithm problem, because they involve non-integer exponents. For example, the equation log
10 53 = 1.724276… means that 10
1.724276… = 53. While integer exponents can be defined in any group using products and inverses, arbitrary real exponents, such as this 1.724276…, require other concepts such as the
exponential function.
In group-theoretic terms, the powers of 10 form a
cyclic group ''G'' under multiplication, and 10 is a generator for this group. The discrete logarithm log
10 ''a'' is defined for any ''a'' in ''G''.
Powers of a fixed real number
A similar example holds for any non-zero real number ''b''. The powers form a multiplicative subgroup ''G'' = of the non-zero real numbers. For any element ''a'' of ''G'', one can compute log
''b'' ''a''.
Modular arithmetic
One of the simplest settings for discrete logarithms is the group
(Z''p'')×. This is the group of multiplication
modulo
In computing, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another (called the '' modulus'' of the operation).
Given two positive numbers and , modulo (often abbreviated as ) is t ...
the
prime ''p''. Its elements are
congruence classes modulo ''p'', and the group product of two elements may be obtained by ordinary integer multiplication of the elements followed by reduction modulo ''p''.
The ''k''th
power of one of the numbers in this group may be computed by finding its ''k''th power as an integer and then finding the remainder after division by ''p''. When the numbers involved are large, it is more efficient to reduce modulo ''p'' multiple times during the computation. Regardless of the specific algorithm used, this operation is called
modular exponentiation. For example, consider (Z
17)
×. To compute 3
4 in this group, compute 3
4 = 81, and then divide 81 by 17, obtaining a remainder of 13. Thus 3
4 = 13 in the group (Z
17)
×.
The discrete logarithm is just the inverse operation. For example, consider the equation 3
''k'' ≡ 13 (mod 17) for ''k''. From the example above, one solution is ''k'' = 4, but it is not the only solution. Since 3
16 ≡ 1 (mod 17)—as follows from
Fermat's little theorem
Fermat's little theorem states that if ''p'' is a prime number, then for any integer ''a'', the number a^p - a is an integer multiple of ''p''. In the notation of modular arithmetic, this is expressed as
: a^p \equiv a \pmod p.
For example, if = ...
—it also follows that if ''n'' is an integer then 3
4+16''n'' ≡ 3
4 × (3
16)
''n'' ≡ 13 × 1
''n'' ≡ 13 (mod 17). Hence the equation has infinitely many solutions of the form 4 + 16''n''. Moreover, because 16 is the smallest positive integer ''m'' satisfying 3
''m'' ≡ 1 (mod 17), these are the only solutions. Equivalently, the set of all possible solutions can be expressed by the constraint that ''k'' ≡ 4 (mod 16).
Powers of the identity
In the special case where ''b'' is the identity element 1 of the group ''G'', the discrete logarithm log
''b'' ''a'' is undefined for ''a'' other than 1, and every integer ''k'' is a discrete logarithm for ''a'' = 1.
Properties
Powers obey the usual algebraic identity ''b''
''k'' + ''l'' = ''b''
''k'' ''b''
''l''.
In other words, the function
:
defined by ''f''(''k'') = ''b''
''k'' is a
group homomorphism from the integers Z under addition
onto the
subgroup ''H'' of ''G''
generated by ''b''. For all ''a'' in ''H'', log
''b'' ''a'' exists. Conversely, log
''b'' ''a'' does not exist for ''a'' that are not in ''H''.
If ''H'' is infinite, then log
''b'' ''a'' is also unique, and the discrete logarithm amounts to a
group isomorphism
In abstract algebra, a group isomorphism is a function between two groups that sets up a one-to-one correspondence between the elements of the groups in a way that respects the given group operations. If there exists an isomorphism between two grou ...
:
On the other hand, if ''H'' is finite of
order
Order, ORDER or Orders may refer to:
* Categorization, the process in which ideas and objects are recognized, differentiated, and understood
* Heterarchy, a system of organization wherein the elements have the potential to be ranked a number of d ...
''n'', then log
''b'' ''a'' is unique only up to
congruence modulo ''n'', and the discrete logarithm amounts to a group isomorphism
:
where Z
''n'' denotes the additive group of integers modulo ''n''.
The familiar base change formula for ordinary logarithms remains valid: If ''c'' is another generator of ''H'', then
:
Algorithms
The discrete logarithm problem is considered to be computationally intractable. That is, no efficient classical algorithm is known for computing discrete logarithms in general.
A general algorithm for computing log
''b'' ''a'' in
finite group
Finite is the opposite of infinite. It may refer to:
* Finite number (disambiguation)
* Finite set, a set whose cardinality (number of elements) is some natural number
* Finite verb, a verb form that has a subject, usually being inflected or marked ...
s ''G'' is to raise ''b'' to larger and larger powers ''k'' until the desired ''a'' is found. This algorithm is sometimes called ''trial multiplication''. It requires
running time linear in the size of the group ''G'' and thus exponential in the number of digits in the size of the group. Therefore, it is an
exponential-time algorithm, practical only for small groups ''G''.
More sophisticated algorithms exist, usually inspired by similar algorithms for integer factorization. These algorithms run faster than the naïve algorithm, some of them proportional to the square root of the size of the group, and thus exponential in half the number of digits in the size of the group. However none of them runs in
polynomial 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 ...
(in the number of digits in the size of the group).
*
Baby-step giant-step
*
Function field sieve
*
Index calculus algorithm
*
Number field sieve
*
Pohlig–Hellman algorithm
*
Pollard's rho algorithm for logarithms
*
Pollard's kangaroo algorithm (aka Pollard's lambda algorithm)
There is an efficient
quantum algorithm
In quantum computing, a quantum algorithm is an algorithm which runs on a realistic model of quantum computation, the most commonly used model being the quantum circuit model of computation. A classical (or non-quantum) algorithm is a finite sequ ...
due to
Peter Shor.
Efficient classical algorithms also exist in certain special cases. For example, in the group of the integers modulo ''p'' under addition, the power ''b''
''k'' becomes a product ''bk'', and equality means congruence modulo ''p'' in the integers. The
extended Euclidean algorithm
In arithmetic and computer programming, the extended Euclidean algorithm is an extension to the Euclidean algorithm, and computes, in addition to the greatest common divisor (gcd) of integers ''a'' and ''b'', also the coefficients of Bézout's ide ...
finds ''k'' quickly.
With
Diffie–Hellman a
cyclic group modulus a prime ''p'' is used, allowing an efficient computation of the discrete logarithm with Pohlig–Hellman if the
order of the group (being ''p''−1) is sufficiently
smooth, i.e. has no large
prime factors.
Comparison with integer factorization
While computing discrete logarithms and
factoring integers are distinct problems, they share some properties:
*both are special cases of the
hidden subgroup problem
The hidden subgroup problem (HSP) is a topic of research in mathematics and theoretical computer science. The framework captures problems such as factoring, discrete logarithm, graph isomorphism, and the shortest vector problem. This makes it es ...
for finite
abelian groups,
*both problems seem to be difficult (no efficient
algorithms are known for non-
quantum computer
Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Though ...
s),
*for both problems efficient algorithms on quantum computers are known,
*algorithms from one problem are often adapted to the other, and
*the difficulty of both problems has been used to construct various
cryptographic
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 adve ...
systems.
Cryptography
There exist groups for which computing discrete logarithms is apparently difficult. In some cases (e.g. large prime order subgroups of groups (Z
''p'')
×) there is not only no efficient algorithm known for the worst case, but the
average-case complexity
In computational complexity theory, the average-case complexity of an algorithm is the amount of some computational resource (typically time) used by the algorithm, averaged over all possible inputs. It is frequently contrasted with worst-case comp ...
can be shown to be about as hard as the worst case using
random self-reducibility.
At the same time, the inverse problem of discrete exponentiation is not difficult (it can be computed efficiently using
exponentiation by squaring, for example). This asymmetry is analogous to the one between integer factorization and integer
multiplication
Multiplication (often denoted by the cross symbol , by the mid-line dot operator , by juxtaposition, or, on computers, by an asterisk ) is one of the four elementary mathematical operations of arithmetic, with the other ones being additi ...
. Both asymmetries (and other possibly
one-way functions
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, sp ...
) have been exploited in the construction of cryptographic systems.
Popular choices for the group ''G'' in discrete logarithm
cryptography (DLC) are the cyclic groups (Z
''p'')
× (e.g.
ElGamal encryption,
Diffie–Hellman key exchange
Diffie–Hellman key exchangeSynonyms of Diffie–Hellman key exchange include:
* Diffie–Hellman–Merkle key exchange
* Diffie–Hellman key agreement
* Diffie–Hellman key establishment
* Diffie–Hellman key negotiation
* Exponential key exc ...
, and the
Digital Signature Algorithm) and cyclic subgroups of
elliptic curves over
finite fields (''see''
Elliptic curve cryptography).
While there is no publicly known algorithm for solving the discrete logarithm problem in general, the first three steps of the
number field sieve algorithm only depend on the group ''G'', not on the specific elements of ''G'' whose finite log is desired. By
precomputing
In algorithms, precomputation is the act of performing an initial computation before run time to generate a lookup table that can be used by an algorithm to avoid repeated computation each time it is executed. Precomputation is often used in algo ...
these three steps for a specific group, one need only carry out the last step, which is much less computationally expensive than the first three, to obtain a specific logarithm in that group.
[
It turns out that much Internet traffic uses one of a handful of groups that are of order 1024 bits or less, e.g. cyclic groups with order of the Oakley primes specified in RFC 2409.] The Logjam
A log jam is a naturally occurring phenomenon characterized by a dense accumulation of tree trunks and pieces of large wood across a vast section of a river, stream, or lake. ("Large wood" is commonly defined as pieces of wood more than in diame ...
attack used this vulnerability to compromise a variety of Internet services that allowed the use of groups whose order was a 512-bit prime number, so called export grade.[
The authors of the ]Logjam
A log jam is a naturally occurring phenomenon characterized by a dense accumulation of tree trunks and pieces of large wood across a vast section of a river, stream, or lake. ("Large wood" is commonly defined as pieces of wood more than in diame ...
attack estimate that the much more difficult precomputation needed to solve the discrete log problem for a 1024-bit prime would be within the budget of a large national intelligence agency such as the U.S. National Security Agency (NSA). The Logjam authors speculate that precomputation against widely reused 1024 DH primes is behind claims in leaked NSA documents that NSA is able to break much of current cryptography.
References
*
*
Further reading
* Richard Crandall; Carl Pomerance. Chapter 5, ''Prime Numbers: A computational perspective'', 2nd ed., Springer.
*
See also
* A. W. Faber Model 366
The A. W. Faber Model 366 was an unusual model of slide rule, manufactured in Germany by the A. W. Faber Company around 1909, with scales that followed a system invented by Johannes Schumacher (1858-1930) that used discrete logarithms to calcul ...
* Percy Ludgate and Irish logarithm
Irish logarithms were a system of number manipulation invented by Percy Ludgate for machine multiplication. The system used a combination of mechanical cams as look-up tables and mechanical addition to sum pseudo-logarithmic indices to produce part ...
{{DEFAULTSORT:Discrete Logarithm
Modular arithmetic
Group theory
Cryptography
Logarithms
Finite fields
Computational hardness assumptions
Unsolved problems in computer science