A Course in Number Theory and Cryptography (Graduate Texts in Mathematics)