Explains symmetric encryption, public-key encryption, hashing, message authentication, digital signatures, randomness, and common implementation failures through small experiments.