AN overview of cryptography (VERY COMPLICATED)