Computational number theory and modern cryptography (UK: John Wiley, 2013)