An overview of cryptography