All Topics  
Discrete logarithm

 

   Email Print
   Bookmark   Link






 

Discrete logarithm



 
 
In mathematics
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
, specifically in abstract algebra
Abstract algebra

Abstract algebra is the subject area of mathematics that studies algebraic structures, such as group , ring , field , module , vector spaces, and algebra over a field....
 and its applications, discrete logarithms are group-theoretic
Group (mathematics)

In mathematics, a group is an algebraic structure consisting of a set together with an Binary operation that combines any two of its element to form a third element....
 analogues of ordinary logarithm
Logarithm

In mathematics, the logarithm of a number to a given base is the Power or exponent to which the base must be raised in order to produce the number....
s. In particular, an ordinary logarithm loga(b) is a solution of the equation ax = b over the real or complex numbers. Similarly, if g and h are elements of a finite
Finite

Finite is the opposite of infinite. It may refer to:* Having a finite number of elements: finite set* Being a finite number, so not equal to ; all real numbers are finite...
 cyclic group
Cyclic group

In group theory, a cyclic group or monogenous group is a group that can be generating set of a group by a single element, in the sense that the group has an element g such that, when written multiplicatively, every element of the group is a power of g ....
 G then a solution x of the equation gx = h is called a discrete logarithm to the base g of h in the group G.

Example
Discrete logarithms are perhaps simplest to understand in the group (Zp)×
Multiplicative group of integers modulo n

In modular arithmetic the set of congruence classes relatively prime to the modulus n form a group under multiplication called the multiplicative group of integers modulo n....
.






Discussion
Ask a question about 'Discrete logarithm'
Start a new discussion about 'Discrete logarithm'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In mathematics
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
, specifically in abstract algebra
Abstract algebra

Abstract algebra is the subject area of mathematics that studies algebraic structures, such as group , ring , field , module , vector spaces, and algebra over a field....
 and its applications, discrete logarithms are group-theoretic
Group (mathematics)

In mathematics, a group is an algebraic structure consisting of a set together with an Binary operation that combines any two of its element to form a third element....
 analogues of ordinary logarithm
Logarithm

In mathematics, the logarithm of a number to a given base is the Power or exponent to which the base must be raised in order to produce the number....
s. In particular, an ordinary logarithm loga(b) is a solution of the equation ax = b over the real or complex numbers. Similarly, if g and h are elements of a finite
Finite

Finite is the opposite of infinite. It may refer to:* Having a finite number of elements: finite set* Being a finite number, so not equal to ; all real numbers are finite...
 cyclic group
Cyclic group

In group theory, a cyclic group or monogenous group is a group that can be generating set of a group by a single element, in the sense that the group has an element g such that, when written multiplicatively, every element of the group is a power of g ....
 G then a solution x of the equation gx = h is called a discrete logarithm to the base g of h in the group G.

Example


Discrete logarithms are perhaps simplest to understand in the group (Zp)×
Multiplicative group of integers modulo n

In modular arithmetic the set of congruence classes relatively prime to the modulus n form a group under multiplication called the multiplicative group of integers modulo n....
. This is the set of congruence classes under multiplication modulo
Modular arithmetic

In mathematics, modular arithmetic is a system of arithmetic for integers, where numbers "wrap around" after they reach a certain value — the modulus....
 the prime
Prime number

In mathematics, a prime number is a natural number which has exactly two distinct natural number divisors: 1 and itself. An infinitude of prime numbers exists, as demonstrated by Euclid around 300 BC....
 p.

If we want to find the kth power
Exponentiation

Exponentiation is a mathematics operation , written 'an', involving two numbers, the base a and the exponent n....
 of one of the numbers in this group, we can do so by finding its kth power as an integer and then finding the remainder after division by p. This process is called discrete exponentiation. For example, consider (Z17)×. To compute 34 in this group, we first compute 34 = 81, and then we divide 81 by 17, obtaining a remainder of 13. Thus 34 = 13 in the group (Z17)×.

Discrete logarithm is just the inverse operation. For example, take the equation 3k = 13 (mod 17) for k. As shown above k=4 is a solution, but it is not the only solution. Since 316 = 1 (mod 17) it also follows that if n is an integer then 34+16 n = 13 × 1n = 13 (mod 17). Hence the equation has infinitely many solutions of the form 4 + 16n. Moreover, since 16 is the smallest positive integer m satisfying 3m = 1 (mod 17), i.e. 16 is the order
Multiplicative order

In number theory, given an integer a and a positive integer n with greatest common divisor = 1, the multiplicative order of a modulo n is the smallest positive integer k withThe order of a is usually written ordn a, or On....
 of 3 in (Z17)×, these are the only solutions. Equivalently, the solution can be expressed as k = 4 (mod 16).

Definition


In general, let G be a finite cyclic group
Cyclic group

In group theory, a cyclic group or monogenous group is a group that can be generating set of a group by a single element, in the sense that the group has an element g such that, when written multiplicatively, every element of the group is a power of g ....
 with n elements. We assume that the group is written multiplicatively. Let b be a generator
Generating set of a group

In abstract algebra, a generating set of a group is a subset S such that every element of G can be expressed as the product of finitely many elements of S and their inverses....
 of G; then every element g of G can be written in the form g = bk for some integer k. Furthermore, any two such integers representing g will be congruent modulo
Modular arithmetic

In mathematics, modular arithmetic is a system of arithmetic for integers, where numbers "wrap around" after they reach a certain value — the modulus....
 n. We can thus define a function

(where Zn denotes the ring of integers modulo n) by assigning to g the congruence class of k modulo n. This function is a group isomorphism
Group isomorphism

In abstract algebra, a group isomorphism is a function between two group s that sets up a one-to-one correspondence between the elements of the groups in a way that respects the given group operations....
, called the discrete logarithm to base b.

The familiar base change formula for ordinary logarithms remains valid: If c is another generator of G, then we have

Algorithms


No efficient algorithm for computing general discrete logarithms is known. The naive algorithm is to raise b to higher and higher powers k until the desired g is found; this is sometimes called trial multiplication. This algorithm requires running time
Running Time

Running Time may refer to:* Running Time * see Analysis of algorithms...
 linear in the size of the group G and thus exponential in the number of digits in the size of the group. There exists an efficient quantum algorithm due to Peter Shor
Peter Shor

Peter Williston Shor is an United States theoretical computer science most famous for his work on quantum computation, in particular for devising a quantum algorithm for Integer factorization exponentially faster than the best currently-known algorithm running on a classical computer ....
 however (http://arxiv.org/abs/quant-ph/9508027).

More sophisticated algorithms exist, usually inspired by similar algorithms for integer factorization. These algorithms run faster than the naive algorithm, but none of them runs in polynomial time
Polynomial time

In computational complexity theory, polynomial time refers to the computation time of a problem where the run time, , is no greater than a polynomial function of the problem size, n....
 (in the number of digits in the size of the group).

  • Baby-step giant-step
    Baby-step giant-step

    In group theory, a branch of mathematics, the baby-step giant-step algorithm is a series of well-defined steps to compute the discrete logarithm....
  • Pollard's rho algorithm for logarithms
    Pollard's rho algorithm for logarithms

    Pollard's rho algorithm for logarithms is an algorithm for solving the discrete logarithm problem analogous to Pollard's rho algorithm for solving the Integer factorization problem....
  • Pollard's lambda algorithm
    Pollard's lambda algorithm

    In mathematics, specifically computational number theory and computational algebra, Pollard's lambda algorithm is an algorithm for solving the discrete logarithm problem....
     (aka Pollard's kangaroo algorithm)
  • Pohlig-Hellman algorithm
    Pohlig-Hellman algorithm

    In mathematics, the Pohlig?Hellman algorithm is an algorithm for the computation of discrete logarithms in a multiplicative group whose order is a smooth integer....
  • Index calculus algorithm
    Index calculus algorithm

    In group theory, the index calculus algorithm is an algorithm for computing discrete logarithms. This is the best known algorithm for certain groups, such as ....
  • Number field sieve
  • Function field sieve


Comparison with integer factorization


While the problem of computing discrete logarithms and the problem of integer factorization
Integer factorization

In number theory, integer factorization is the breaking down of a composite number into smaller non-trivial divisors, which when multiplied together equal the original integer....
 are distinct problems they share some properties
  • both problems are difficult (no efficient algorithm
    Algorithm

    In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
    s are known for non-quantum computer
    Quantum computer

    A quantum computer is a device for computation that makes direct use of quantum mechanical phenomena, such as quantum superposition and quantum entanglement, to perform operations on data....
    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 exploited to construct various cryptographic
    Cryptography

    Cryptography is the practice and study of hiding information. In modern times cryptography is considered a branch of both mathematics and computer science and is affiliated closely with information theory, computer security and engineering....
     (code) systems.


Cryptography

Computing discrete logarithms is apparently difficult. Not only is no efficient algorithm known for the worst case, but the average-case complexity can be shown to be at least as hard as the worst case using random self-reducibility
Random Self-reducibility

Random self-reducibility : A good algorithm for the average case implies a good algorithm for the worst case. RSR is the ability to solve all instances of a problem by solving a large fraction of the instances....
.

At the same time, the inverse problem of discrete exponentiation is not (it can be computed efficiently using exponentiation by squaring
Exponentiation by squaring

Exponentiating by squaring is an algorithm used for the fast computation of large integer powers of a number. It is also known as the square-and-multiply algorithm or binary exponentiation....
, for example). This asymmetry is analogous to the one between integer factorization and integer multiplication
Multiplication

Multiplication is the Operation of scaling one number by another. It is one of the four basic operations in elementary arithmetic .Multiplication is defined for Natural number in terms of repeated addition; for example, 4 multiplied by 3 can be calculated by adding 3 copies of 4 together:...
. Both asymmetries have been exploited in the construction of cryptographic systems.

Popular choices for the group G in discrete logarithm cryptography
Cryptography

Cryptography is the practice and study of hiding information. In modern times cryptography is considered a branch of both mathematics and computer science and is affiliated closely with information theory, computer security and engineering....
 are the cyclic groups (Zp)×; see ElGamal encryption
ElGamal encryption

In cryptography, the ElGamal encryption system is an asymmetric key encryption algorithm for public-key cryptography which is based on the Diffie-Hellman key agreement....
, Diffie-Hellman key exchange, and the Digital Signature Algorithm
Digital Signature Algorithm

The Digital Signature Algorithm is a Federal government of the United States Federal Information Processing Standard or Federal Information Processing Standard for digital signatures....
.

Newer cryptography applications use discrete logarithms in cyclic subgroups of elliptic curve
Elliptic curve

In mathematics, an elliptic curve is a differentiable manifold, algebraic variety#Projective varieties algebraic curve of genus #Algebraic geometry one, on which there is a specified point O....
s over finite field
Finite field

In abstract algebra, a finite field or Galois field is a field that contains only finitely many elements. Finite fields are important in number theory, algebraic geometry, Galois theory, cryptography, and coding theory....
s; see elliptic curve cryptography
Elliptic curve cryptography

Elliptic curve cryptography is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. The use of elliptic curves in cryptography was suggested independently by Neal Koblitz and Victor S....
.

See also