A computational introduction to number theory and algebra - Shoup, Victor (Cambridge University Press, 2005)