A Computational Introduction to Number Theory and Algebra - Shoup, Victor (Cambridge University Press, 2005)