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