Expand description
§Discrete Logarithm Solver
Fast discrete logarithm solver in Rust.
The code is based on the sympy implementation and translated to Rust.
§License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
§Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Enums§
- Error
- Discrete logarithm error
Functions§
- discrete_
log - Compute the discrete logarithm of
a
in baseb
modulon
(smallest non-negative integerx
whereb**x = a (mod n)
). - discrete_
log_ pohlig_ hellman - Pohlig-Hellman algorithm for computing the discrete logarithm of
a
in baseb
modulon
(smallest non-negative integerx
whereb**x = a (mod n)
). - discrete_
log_ pollard_ rho - Pollard’s Rho algorithm for computing the discrete logarithm of
a
in baseb
modulon
(smallest non-negative integerx
whereb**x = a (mod n)
). - discrete_
log_ shanks_ steps - Baby-step giant-step algorithm for computing the discrete logarithm of
a
in baseb
modulon
(smallest non-negative integerx
whereb**x = a (mod n)
). - discrete_
log_ trial_ mul - Trial multiplication algorithm for computing the discrete logarithm of
a
in baseb
modulon
(smallest non-negative integerx
whereb**x = a (mod n)
). - discrete_
log_ with_ factors - Compute the discrete logarithm of
a
in baseb
modulon
(smallest non-negative integerx
whereb**x = a (mod n)
). - discrete_
log_ with_ order - Compute the discrete logarithm of
a
in baseb
modulon
(smallest non-negative integerx
whereb**x = a (mod n)
). - n_order
- Returns the order of
a
modulon
.