Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Discrete logarithm

From Wikipedia, the free encyclopedia
Problem of inverting exponentiation in groups

Discrete logarithm modulo 5, with base 2.

Inmathematics, for givenreal numbersa{\displaystyle a} andb{\displaystyle b}, thelogarithmlogb(a){\displaystyle \log _{b}(a)} is a numberx{\displaystyle x} such thatbx=a{\displaystyle b^{x}=a}. Thediscrete logarithm generalizes this concept to acyclic group. A simple example is the group ofintegersmodulo a prime number (such as 5) undermodular multiplication of nonzero elements.

For instance, takeb=2{\displaystyle b=2} in the multiplicative group modulo 5, whose elements are1,2,3,4{\displaystyle {1,2,3,4}}. Then:21=2,22=4,23=83(mod5),24=161(mod5).{\displaystyle 2^{1}=2,\quad 2^{2}=4,\quad 2^{3}=8\equiv 3{\pmod {5}},\quad 2^{4}=16\equiv 1{\pmod {5}}.}The powers of 2 modulo 5 cycle through all nonzero elements, so discrete logarithms exist and are given by:log21=4,log22=1,log23=3,log24=2.{\displaystyle \log _{2}1=4,\quad \log _{2}2=1,\quad \log _{2}3=3,\quad \log _{2}4=2.}

More generally, in anygroupG{\displaystyle G}, powersbk{\displaystyle b^{k}} can be defined for allintegersk{\displaystyle k}, and thediscrete logarithmlogb(a){\displaystyle \log _{b}(a)} is an integerk{\displaystyle k} such thatbk=a{\displaystyle b^{k}=a}. Inarithmetic modulo an integerm{\displaystyle m}, the more commonly used term isindex: One can writek=indba(modm){\displaystyle k=\mathbb {ind} _{b}a{\pmod {m}}} (read "the index ofa{\displaystyle a} to the baseb{\displaystyle b} modulom{\displaystyle m}") forbka(modm){\displaystyle b^{k}\equiv a{\pmod {m}}} ifb{\displaystyle b} is aprimitive root ofm{\displaystyle m} andgcd(a,m)=1{\displaystyle \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. In cryptography, the computational complexity of the discrete logarithm problem, along with its application, was first proposed in theDiffie–Hellman problem. Several importantalgorithms inpublic-key cryptography, such asElGamal, base their security on thehardness assumption that the discrete logarithm problem (DLP) over carefully chosen groups has no efficient solution,[1] and in a generalblack box group lacks asubexponential solution at all.[2]

Definition

[edit]

LetG{\displaystyle G} be any group. Denote itsgroup operation by multiplication and itsidentity element by1{\displaystyle 1}. Letb{\displaystyle b} be any element ofG{\displaystyle G}. For any positive integerk{\displaystyle k}, the expressionbk{\displaystyle b^{k}} denotes the product ofb{\displaystyle b} with itselfk{\displaystyle k} times:[3]

bk=bbbkfactors.{\displaystyle b^{k}=\underbrace {b\cdot b\cdot \ldots \cdot b} _{k\;{\text{factors}}}.}

Similarly, letbk{\displaystyle b^{-k}} denote the product ofb1{\displaystyle b^{-1}} with itselfk{\displaystyle k} times. Fork=0{\displaystyle k=0}, thek{\displaystyle k}th power is the identity:b0=1{\displaystyle b^{0}=1}.

Leta{\displaystyle a} also be an element ofG{\displaystyle G}. An integerk{\displaystyle k} that solves the equationbk=a{\displaystyle b^{k}=a} is termed adiscrete logarithm (or simplylogarithm, in this context) ofa{\displaystyle a} to the baseb{\displaystyle b}. One writesk=logba{\displaystyle k=\log _{b}a}.

Examples

[edit]

Powers of 10

[edit]

Thepowers of 10 are

,0.001,0.01,0.1,1,10,100,1000,.{\displaystyle \ldots ,0.001,0.01,0.1,1,10,100,1000,\ldots .}

For any numbera{\displaystyle a} in this list, one can computelog10a{\displaystyle \log _{10}a}. For example,log1010000=4{\displaystyle \log _{10}{10000}=4}, andlog100.001=3{\displaystyle \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 equationlog1053=1.724276{\displaystyle \log _{10}{53}=1.724276\ldots } means that101.724276{\displaystyle 10^{1.724276\ldots }}. 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 theexponential function.

Ingroup-theoretic terms, the powers of 10 form acyclic groupG{\displaystyle G} under multiplication, and 10 is agenerator for this group. The discrete logarithmlog10a{\displaystyle \log _{10}a} is defined for anya{\displaystyle a} inG{\displaystyle G}.

Powers of a fixed real number

[edit]

A similar example holds for any non-zero real numberb{\displaystyle b}. The powers form a multiplicativesubgroupG={,b2,b1,1,b1,b2,}{\displaystyle G=\{\ldots ,b^{-2},b^{-1},1,b^{1},b^{2},\ldots \}} of the non-zero real numbers. For any elementa{\displaystyle a} ofG{\displaystyle G}, one can computelogba{\displaystyle \log _{b}a}.

Modular arithmetic

[edit]

One of the simplest settings for discrete logarithms is the groupZp×. This is the group of multiplicationmodulo theprimep{\displaystyle p}. Its elements are non-zerocongruence classes modulop{\displaystyle p}, and the group product of two elements may be obtained by ordinary integer multiplication of the elements followed by reduction modulo p{\displaystyle p}.

Thek{\displaystyle k}thpower of one of the numbers in this group may be computed by finding its 'k{\displaystyle k}th power as an integer and then finding the remainder after division byp{\displaystyle p}. When the numbers involved are large, it is more efficient to reduce modulop{\displaystyle p} multiple times during the computation. Regardless of the specific algorithm used, this operation is calledmodular exponentiation. For example, considerZ17×. To compute34{\displaystyle 3^{4}} in this group, compute34=81{\displaystyle 3^{4}=81}, and then divide81{\displaystyle 81} by17{\displaystyle 17}, obtaining a remainder of13{\displaystyle 13}. Thus34=13{\displaystyle 3^{4}=13} in the groupZ17×.

The discrete logarithm is just the inverse operation. For example, consider the equation3k13(mod17){\displaystyle 3^{k}\equiv 13{\pmod {17}}}. From the example above, one solution isk=4{\displaystyle k=4}, but it is not the only solution. Since3161(mod17){\displaystyle 3^{16}\equiv 1{\pmod {17}}} —as follows fromFermat's little theorem— it also follows that ifn{\displaystyle n} is an integer then34+16n34(316)n341n3413(mod17){\displaystyle 3^{4+16n}\equiv 3^{4}\cdot (3^{16})^{n}\equiv 3^{4}\cdot 1^{n}\equiv 3^{4}\equiv 13{\pmod {17}}}. Hence the equation has infinitely many solutions of the form4+16n{\displaystyle 4+16n}. Moreover, because16{\displaystyle 16} is the smallest positive integerm{\displaystyle m} satisfying3m1(mod17){\displaystyle 3^{m}\equiv 1{\pmod {17}}}, these are the only solutions. Equivalently, the set of all possible solutions can be expressed by the constraint thatk4(mod16){\displaystyle k\equiv 4{\pmod {16}}}.

Powers of the identity

[edit]

In the special case whereb{\displaystyle b} is the identity element1{\displaystyle 1} of the groupG{\displaystyle G}, the discrete logarithmlogba{\displaystyle \log _{b}a} is undefined fora{\displaystyle a} other than1{\displaystyle 1}, and every integerk{\displaystyle k} is a discrete logarithm fora=1{\displaystyle a=1}.

Properties

[edit]

Powers obey the usual algebraic identitybk+l=bkbl{\displaystyle b^{k+l}=b^{k}\cdot b^{l}}.[3] In other words, thefunction

f:ZG{\displaystyle f\colon \mathbf {Z} \to G}

defined byf(k)=bk{\displaystyle f(k)=b^{k}} is agroup homomorphism from the group of integersZ{\displaystyle \mathbf {Z} } under additiononto thesubgroupH{\displaystyle H} ofG{\displaystyle G}generated byb{\displaystyle b}. For alla{\displaystyle a} inH{\displaystyle H},logba{\displaystyle \log _{b}a} exists.Conversely,logba{\displaystyle \log _{b}a} does not exist fora{\displaystyle a} that are not inH{\displaystyle H}.

IfH{\displaystyle H} isinfinite, thenlogba{\displaystyle \log _{b}a} is also unique, and the discrete logarithm amounts to agroup isomorphism

logb:HZ.{\displaystyle \log _{b}\colon H\to \mathbf {Z} .}

On the other hand, ifH{\displaystyle H} isfinite ofordern{\displaystyle n}, thenlogba{\displaystyle \log _{b}a} is 0 unique only up tocongruence modulon{\displaystyle n}, and the discrete logarithm amounts to a group isomorphism

logb:HZn,{\displaystyle \log _{b}\colon H\to \mathbf {Z} _{n},}

whereZn{\displaystyle \mathbf {Z} _{n}} denotes the additive group of integers modulon{\displaystyle n}.

The familiar base change formula for ordinary logarithms remains valid: Ifc{\displaystyle c} is another generator ofH{\displaystyle H}, then

logca=logcblogba.{\displaystyle \log _{c}a=\log _{c}b\cdot \log _{b}a.}

Algorithms

[edit]
See also:Discrete logarithm records andTime complexity
Unsolved problem in computer science
Can the discrete logarithm be computed in polynomial time on a classical computer?
More unsolved problems in computer science

The discrete logarithm problem is considered to be computationally intractable. For a classical (e.g., non-quantum) computer, no efficient (polynomial-time) algorithm is yet known for computing discrete logarithms in general.

A general algorithm for computinglogba{\displaystyle \log _{b}a} in finite groupsG{\displaystyle G} is to raiseb{\displaystyle b} to larger and larger powersk{\displaystyle k} until the desireda{\displaystyle a} is found. This algorithm is sometimes calledtrial multiplication. It requiresrunning timelinear in the size of the groupG{\displaystyle G} and thusexponential in the number of digits in the size of the group. Therefore, it is an exponential-time algorithm, practical only for small groupsG{\displaystyle G}.

More sophisticated algorithms exist, usually inspired by similar algorithms forinteger factorization. These algorithms run faster than the naïve algorithm, some of them proportional to thesquare 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 inpolynomial time (in the number of digits in the size of the group).

There is an efficientquantum algorithm due toPeter Shor.[4]

Efficient classical algorithms also exist in certain special cases. For example, in the group of the integers modulop{\displaystyle p} under addition, the powerbk{\displaystyle b^{k}} becomes a productbk{\displaystyle b\cdot k}, and equality means congruence modulop{\displaystyle p} in the integers. Theextended Euclidean algorithm findsk{\displaystyle k} quickly.

WithDiffie–Hellman, a cyclic group modulo a primep{\displaystyle p} is used, allowing an efficient computation of the discrete logarithm with Pohlig–Hellman if the order of the group (beingp1{\displaystyle p-1}) is sufficientlysmooth, i.e. has no largeprime factors.

Comparison with integer factorization

[edit]

While computing discrete logarithms and integer factorization are distinct problems, they share some properties:

  • both are special cases of thehidden subgroup problem forfinite abelian groups,
  • both problems seem to be difficult (no efficient algorithms are known for non-quantum computers),
  • 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 variouscryptographic systems.

Cryptography

[edit]

There exist groups for which computing discrete logarithms is apparently difficult. In some cases (e.g. large prime order subgroups of groupsZp×{\displaystyle \mathbf {Z} _{p}^{\times }}) there is not only no efficient algorithm known for the worst case, but theaverage-case complexity can be shown to be about as hard as the worst case usingrandom self-reducibility.[5]

At the same time, the inverse problem of discrete exponentiation is not difficult (it can be computed efficiently usingexponentiation by squaring, for example). This asymmetry is analogous to the one between integer factorization and integer multiplication. Both asymmetries (and other possiblyone-way functions) have been exploited in the construction of cryptographic systems.

Popular choices for the groupG{\displaystyle G} in discrete logarithm cryptography (DLC) are the cyclic groupsZp×{\displaystyle \mathbf {Z} _{p}^{\times }} (e.g.ElGamal encryption,Diffie–Hellman key exchange, and theDigital Signature Algorithm) and cyclic subgroups ofelliptic curves overfinite fields (seeElliptic curve cryptography).

While there is no publicly known algorithm for solving the discrete logarithm problem in general, the first three steps of thenumber field sieve algorithm only depend on the groupG{\displaystyle G}, not on the specific elements ofG{\displaystyle G} whose finitelog{\displaystyle \log } is desired. Byprecomputing 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.[6]

It turns out that muchinternet 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.[7] TheLogjam 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 calledexport grade.[6]

The authors of the Logjam 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 nationalintelligence 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 inleaked NSA documents that NSA is able to break much of current cryptography.[6]

See also

[edit]

References

[edit]
  1. ^Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (1996)."Public-Key Encryption"(PDF).Handbook of Applied Cryptography (1 ed.). CRC Press. p. 294.doi:10.1201/9780429466335.ISBN 978-0-429-46633-5.
  2. ^Shoup...
  3. ^abLam, Kwok-Yan; Shparlinski, Igor; Wang, Huaxiong; Xing, Chaoping, eds. (2001).Cryptography and Computational Number Theory. Basel: Birkhäuser Basel. pp. 54–56.doi:10.1007/978-3-0348-8295-8.eISSN 2297-0584.ISBN 978-3-0348-9507-1.ISSN 2297-0576.
  4. ^Shor, Peter (1997). "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer".SIAM Journal on Computing.26 (5):1484–1509.arXiv:quant-ph/9508027.doi:10.1137/s0097539795293172.MR 1471990.S2CID 2337707.
  5. ^Blake, Ian F.; Garefalakis, Theo (2004-04-01)."On the complexity of the discrete logarithm and Diffie–Hellman problems".Journal of Complexity. Festschrift for Harald Niederreiter, Special Issue on Coding and Cryptography.20 (2):148–170.doi:10.1016/j.jco.2004.01.002.ISSN 0885-064X.
  6. ^abcAdrian, David; Bhargavan, Karthikeyan; Durumeric, Zakir; Gaudry, Pierrick; Green, Matthew; Halderman, J. Alex;Heninger, Nadia; Springall, Drew; Thomé, Emmanuel; Valenta, Luke; VanderSloot, Benjamin; Wustrow, Eric; Zanella-Béguelin, Santiago; Zimmermann, Paul (2015-10-12)."Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice".Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. ACM. pp. 5–17.doi:10.1145/2810103.2813707.ISBN 978-1-4503-3832-5.
  7. ^Harkins, D.; Carrel, D. (November 1998).The Internet Key Exchange (IKE) (Report). RFC Editor.doi:10.17487/rfc2409.
  • Rosen, Kenneth H. (2011).Elementary Number Theory and Its Application (6 ed.). Pearson. p. 368.ISBN 978-0321500311.
  • Weisstein, Eric W."Discrete Logarithm".MathWorld. Wolfram Web. Retrieved2019-01-01.

Further reading

[edit]
Primality tests
Prime-generating
Integer factorization
Multiplication
Euclideandivision
Discrete logarithm
Greatest common divisor
Modular square root
Other algorithms
  • Italics indicate that algorithm is for numbers of special forms
Algorithms
Integer factorization
Discrete logarithm
Lattice/SVP/CVP/LWE/SIS
Others
Theory
Standardization
Topics
Number theoretic
Group theoretic
Pairings
Lattices
Non-cryptographic
Retrieved from "https://en.wikipedia.org/w/index.php?title=Discrete_logarithm&oldid=1323312909"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp