An Introduction to Cryptography