| modlog {numbers} | R Documentation |
Modular (or: Discrete) Logarithm
Description
Realizes the modular (or discrete) logarithm modulo a prime number
p, that is determines the unique exponent n such that
g^n = x \, \mathrm{mod} \, p, g a primitive root.
Usage
modlog(g, x, p)
Arguments
g |
a primitive root mod p. |
x |
an integer. |
p |
prime number. |
Details
The method is in principle a complete search, cut short by "Shank's
trick", the giantstep-babystep approach, see Forster
(1996, pp. 65f). g has to be a primitive root modulo p,
otherwise exponentiation is not bijective.
Value
Returns an integer.
References
Forster, O. (1996). Algorithmische Zahlentheorie. Friedr. Vieweg u. Sohn Verlagsgesellschaft mbH, Wiesbaden.
See Also
Examples
modlog(11, 998, 1009) # 505 , i.e., 11^505 = 998 mod 1009
[Package numbers version 0.8-5 Index]