Why Cryptography Exists: Trusting Systems Over an Untrusted Network

Before we talk about hashes, keys, signatures, or encryption algorithms, we need to understand the problem cryptography is trying to solve.