Nihilist Cipher
Build a keyed Polybius square, convert plaintext and key letters to coordinates, add them, and reverse the arithmetic to decrypt.
What is the Nihilist Cipher?
The Nihilist cipher combines a keyed 5×5 Polybius square with a repeating additive keyword. Both plaintext letters and key letters become two-digit coordinates such as 11–55.
Encryption adds the plaintext coordinate and the corresponding key coordinate. Decryption subtracts the key coordinate, then converts the remaining Polybius value back to a letter.
The cipher mechanics on this page are self-contained. Science Olympiad event formats, allowed variants, and tournament constraints can change by season; the current official Rules Manual and official clarifications take precedence.
No outside reference is assumed. Work through Foundations → Complete Reference → Encryption → Decryption in order, then use the competition and cryptanalysis sections.
What you need to know
- A 5×5 Polybius square normally combines I/J.
- Coordinate 23 means row 2, column 3—not the number twenty-three in the square itself.
- The additive keyword repeats across plaintext letters.
- Ciphertext values can exceed 55 because two coordinate numbers are added.
Beginner glossary
| Term | Meaning |
|---|---|
| Polybius square | A 5×5 keyed alphabet grid that turns letters into two-digit row/column coordinates. |
| Square keyword | The keyword used to build the Polybius square. |
| Additive keyword | A second word repeated across the plaintext; its letters are also converted to Polybius numbers. |
| Coordinate | A two-digit value such as 24 meaning row 2, column 4. |
| Crib | Known plaintext fragment that can constrain the additive key or square during cryptanalysis. |
Keep this beside you while solving
Example keyed Polybius square for keyword CIPHER (I/J combined).
| Plain letter | Plain coord. | Key letter | Key coord. | Cipher number |
|---|---|---|---|---|
| S | 34 | K | 25 | 59 |
| E | 15 | E | 15 | 30 |
Arithmetic rule
After subtraction, the result must be a valid coordinate whose tens and ones digits are each 1–5. If not, something in the key alignment or square is wrong.
How encryption works
Build the keyed square
Remove duplicate keyword letters, merge I/J, then append unused letters.
Convert plaintext
Look up each plaintext letter’s row/column number.
Convert repeated key
Look up each additive-key letter the same way.
Add
Plain coordinate + key coordinate = ciphertext number.
How decryption works
Repeat the additive key
Align one key letter with each ciphertext number.
Convert key letters to coordinates
Use the same keyed square.
Subtract
Cipher number − key coordinate = plaintext coordinate.
Look up the coordinate
Read the plaintext letter from the square.
How to approach it in Codebusters practice
- Write the square and repeated additive key before doing arithmetic.
- A crib in some modes can help test square/key relationships, but the exact allowed information varies by problem format.
- Treat I/J according to the square convention supplied.
What the problem gives you vs. what you produce
| Part | What to expect |
|---|---|
| You may be given | Cipher numbers plus the square/additive keys, or a cryptanalysis variant with a crib. |
| You must find | Plaintext by reversing the additive arithmetic and then the Polybius lookup. |
| Fastest first move | Build the square and write the additive key’s numeric coordinates before touching the ciphertext. |
How to attack an unknown or partially known key
- Cribs provide known plaintext coordinates at specific positions, which constrain the repeated additive key and/or square.
- Cipher numbers retain modular-looking structure but are sums of two coordinate values, so ordinary letter frequency is obscured.
- Any candidate key must produce valid Polybius coordinates after subtraction.
Follow one example from start to finish
CIPHER
KEY
SECRET
75 30 65 53 30 98
Before moving on, make sure you can answer these without another site:
- Can you convert a key letter to a Polybius coordinate?
- Can you subtract a repeated key value from a ciphertext number and validate the resulting coordinate?
- Can you explain why row/column order matters?
Common mistakes
Adding row and column digits separately instead of adding the two-digit coordinate values.
Building different squares for plaintext and key.
Forgetting I/J merging.
Misaligning the repeating additive keyword.
Competition speed strategies
Write each line as three aligned rows: plaintext coordinate, key coordinate, result.
Circle invalid subtraction results during cryptanalysis; valid Polybius coordinates have both digits 1–5.
Memorize square positions only after the square is finalized—do not rebuild it mid-problem.
What to remember under time pressure
See every transformation
Use the lab to change inputs and keys, keep the relevant reference material visible, inspect each intermediate transformation, and then read the “How to reverse it” panel so encryption and decryption connect.