logmod

Computes y such that mod(a^y, p^N) == x
642 Downloads
Updated 23 Apr 2009

View License

Suppose
p is an odd prime,
ord(a) = p-1
GCD(x, p) = 1
N is an integer >= 2

Then
y = logmod(x, a, p, N)

Returns y such that a^y = x (mod p^N)

Example
Let x= vpi(154), a = vpi(7), p = vpi(17), N = vpi(37)
y = logmod(x, a, p, N)
returns
y = 2088349219044680767324467844670001776975183904

Cite As

Steven Gregory (2024). logmod (https://www.mathworks.com/matlabcentral/fileexchange/23803-logmod), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2006a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: nextperm, modinv(x, N)

Inspired: modinv(x, N), nextperm, egcd.m

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.4.0.0

Brought the description up to date. This routine no longer needs the m-file modinv.m.

1.3.0.0

Modified to correct logic errors and to exploit the latest version of the vpi software. A Microsoft word file has been included that describes and proves the algorithm used.

1.2.0.0

Rewrote the description.

1.0.0.0