""" @brief  A module for factoring an integer N given the order r of an element
            g selected uniformly at random from the multiplicative group of the
            ring of integers modulo N. """