Skip to content
Forge Learn/Algorithms Behind Security
Browsing as a guest. Sign in to save your progress and earn XP as you complete chapters.

Modular Arithmetic & the Caesar Cipher

5 min read

You'll learn to

  • -Apply modular arithmetic to implement a wrap-around character shift
  • -Implement and reverse a Caesar cipher
  • -Explain why a shift cipher is trivially breakable, and what that implies about real cryptography

The security chapters of this course are about cryptography, but they lean on math you already have: modular arithmetic (the % operator) for wrap-around, and hashing concepts from way back in the hashmap tier, now with a very different set of guarantees. Level 28 starts at the simplest possible cipher: the Caesar cipher, named for Julius Caesar, who reportedly used a shift of 3 to encode military messages.

Shifting With Wrap-Around

A Caesar cipher shifts every letter forward by a fixed amount k, wrapping back to 'a' after 'z'. That wrap-around is exactly what the modulo operator is for: convert a letter to its 0-25 index, add the shift, take the result mod 26 to wrap it back into range, then convert back to a character. Decryption is the same operation with the shift negated, (index - k) % 26, which is why Python's % operator (which always returns a non-negative result for a positive modulus, unlike some other languages) matters here: it makes the negative-shift case just work without special-casing.

The same shift function encrypts and decrypts. Decryption is just encryption with the negated shift, thanks to modular arithmetic handling the sign for you.

Why This Is a Stepping Stone, Not Real Security

A Caesar cipher has exactly 26 possible keys (25 useful ones, since a shift of 0 does nothing), so brute-forcing every shift and eyeballing which one produces readable text takes a human seconds and a computer microseconds. Even without brute force, English letter-frequency analysis, 'e' and 't' are the most common letters in English text, cracks it almost as fast, since a shift preserves the relative frequency pattern. It illustrates the vocabulary real cryptography builds on, key, plaintext, ciphertext, encrypt and decrypt as inverse operations, without any of the actual security. The rest of this module builds toward algorithms where "just try every key" is computationally infeasible, not merely inconvenient.

Never use a Caesar cipher, or any shift or substitution cipher, for anything that actually needs to be secret. Its only job in this course is to introduce the vocabulary and the modular-arithmetic mechanics that real cryptography (SHA-256, RSA) builds on top of.

Interview Signal is part of Pro

See a real weak answer next to a real strong one for this exact topic.

Quiz is part of Pro

Test what you just read with a short quiz, and bank the XP.

Ready to Build This?

Level 28: Caesar Cipher Codex has you implement shift-based encryption and decryption using modular arithmetic on character codes, the same wrap-around logic above, plus handling edge cases like case and non-alphabetic characters.