Polyakov fastmod
Closes #8 (closed)
- Implements efficient native modular multiplication and addition w/o using NTL.
- For general-purpose modular multiplication, we use the generalized Barrett modular reduction.
- For special-purpose modular multiplication, we use the technique proposed by Victor Shoup and described by David Harvey in https://arxiv.org/abs/1205.2926.
- As a good side effect, now runtimes in Windows are similar to those in Linux (previously, they were 3-6x times slower)