A Course in Mathematical Cryptography