An Introduction to Mathematical Cryptography