Hello GAP forum:
I have a student who seems to be interested in
programming the discrete log in GAP for a semester project.
The algorithm the LogMod function uses can be obtained from
Print(LogMod):
function ( n, r, m ) local x, l; n := n mod m; x := 1; l := 0; while x <> n do x := x * r mod m; l := l + 1; if l = m then return fail; fi; od; return l;
This looks pretty simple. Would an implementation of
the baby-step giant-step be useful? I remember a recent post
(which I cannot find in the archives or in my saved forum
emails, unfortunately) but baby-step giant-step wasn't mentioned,
if I remember correctly.
- David Joyner
--
Prof David Joyner, Mathematics Department
U. S. Naval Academy, Annapolis, MD 21402
phone: (410) 293-6738