A Course In Number Theory And Cryptography