Reading — step 1 of 5
Read
~1 min readModes of Operation
Putting It All Together
You've built every piece of AES:
| Layer | Lesson |
|---|---|
| State matrix | 1 |
| GF(2^8) math | 2 |
| SubBytes / S-box | 3 |
| ShiftRows | 4 |
| MixColumns | 5 |
| Key schedule | 6 |
| Full encrypt/decrypt | 7 |
| ECB/CBC modes | 8 |
| CTR/GCM modes | 9 |
Where AES is used:
- TLS (AES-GCM cipher suites)
- WPA2/WPA3 Wi-Fi (AES-CCMP)
- Linux dm-crypt / BitLocker / FileVault (disk encryption with XTS mode)
- iMessage, Signal, WhatsApp (AES-256-CBC for content)
- AWS KMS, Azure Key Vault (envelope encryption)
Hardware acceleration:
- AES-NI (Intel, since 2010): instructions like
aesenc,aesdec,aeskeygenassist. ~10x faster than software. - ARMv8 Cryptographic Extensions: same idea on ARM (Apple Silicon, modern Android).
Don't roll your own crypto in production. Use:
- libsodium (curated, simple API)
- BoringSSL / OpenSSL (battle-tested)
- WebCrypto / Node crypto (built-in)
- Rust:
ring,aes-gcmcrates - Java: javax.crypto
Your implementation here is for LEARNING. Production code must consider timing attacks, key handling, secure RNG for nonces, etc.
Discussion
Ask a question, share an insight, or help someone who’s stuck.
Sign in to post a comment or reply.
Loading…