Cryptography Foundations — Encryption, Keys, and Hardware