Class PollardRhoBrentMontgomery63


  • public class PollardRhoBrentMontgomery63
    extends FactorAlgorithm
    Brents's improvement of Pollard's Rho algorithm using Montgomery multiplication. The main reason why Montgomery multiplication is helpful for Pollard-Rho is that no conversions to/from Montgomery form are required. This implementation is long-based and uses the Montgomery reducer R=2^63.
    Author:
    Tilman Neumann
    • Constructor Detail

      • PollardRhoBrentMontgomery63

        public PollardRhoBrentMontgomery63()
    • Method Detail

      • getName

        public String getName()
        Specified by:
        getName in class FactorAlgorithm
        Returns:
        The name of the algorithm, possibly including important parameters.
      • findSingleFactor

        public long findSingleFactor​(long N)
      • main

        public static void main​(String[] args)
        Test. Test numbers: 3225275494496681 (52 bits) = 56791489 * 56791529 322527333642009919 (59 bits) = 567914891 * 567914909 3225273260887418687 (62 bits) = 567914891 * 5679148957
        Parameters:
        args - ignored