An Introduction to Cryptographic Techniques