On the Subject of The Cornflower Cipher

Centaureae cyani colores pulchros habent.

On the module, you will see 3 screens, a keyboard, 2 arrows, and a submit button that displays the current page you’re on.

Pressing the right arrow takes you to the next page. Pressing the left arrow takes you to the previous page. There is a total of 2 pages.

To prepare, interpret the first character of the serial number as a base-36 digit and convert it to a 6-digit binary number. This manual will refer to the individual digits of this binary number as “bit 1”, “bit 2”, “bit 4”, “bit 8”, and “bit 16”. (Bit 32 is not used.)

Step 1: Ping-pong Straddling Checkerboard Cipher

For this step, concatenate the last screen on page 1 and the first screen on page 2. We will refer to this as the “coded word”. You will also need the words on the middle and bottom screens on page 2, called KW1 and KW2, respectively.

In this step, we will create two straddling checkerboards. We will use the first one to convert the coded word into a bunch of digits, and the second to convert those digits back into letters.

For the first straddling checkerboard, obtain the following numbers:

  • d1 = number of indicators, modulo 6
  • d2 = number of ports, modulo 6; if equal to d1, add 1 and modulo 6 again

Also create an alphabet key from KW1 as follows:

  • Remove all duplicate letters from the keyword (retain first occurrences).
  • Write the entire alphabet with the letters from the keyword removed.
  • If bit 8 is 1, place the alphabet after the keyword, otherwise before.

To create a straddling checkerboard, start with a table with 5 rows and 6 columns. Label the columns with the numbers 0–5. Cross out all the first-row cells except for those in columns labeled d1 and d2. Fill the remaining 26 cells with the alphabet key. If bit 16 is 1, use column order (fill the first column from top to bottom, then the second column etc.); otherwise, use reading order.

Also label the rows except the first with the numbers 0–5 but omitting d1 and d2.

Now convert every letter from the coded word to digits. Each letter that occurs in the first row gets turned into the single digit that labels its column; all other letters turn into digits labeling the row followed by the column.

Now create the second straddling checkerboard as before, but with the following changes:

  • Instead of d1 & d2, use the following numbers:
    • d3 = number of batteries, modulo 6
    • d4 = number of lit indicators, modulo 6; if equal to d3, add 1 and modulo 6 again
  • Instead of KW1 and bit 8, use KW2 and bit 2 to create the alphabet key.
  • Instead of bit 16, decide the fill order using bit 4.

Convert the string of digits back into letters. If the first digit is d3 or d4, use the corresponding letter from the first row. Otherwise, use a pair of digits, where the first identifies the row and the second the column, to obtain a letter. If you are left with a single row digit, ignore it.

Once completed, this process produces a new keyword, KW3.


Encrypted Word: BKPVPJCJF; bits: 01100

KW1: VOLATILE, d1 = 3, d2 = 2
bit 8 ⇒ alphabet + VOLATIE
bit 16 ⇒ reading order
B → 2, K → 05, P → 12, V → 45, P → 12, J → 04, C → 3, J → 04, F → 01
Digits: 2051245120430401
KW2: LAWFUL, d3 = 0, d4 = 3
bit 2 ⇒ LAWFU + alphabet
bit 4 ⇒ column order
20 → W, 51 → E, 24 → R, 51 → E, 20 → W, 43 → O, 0 → L, 40 → F, 1 (discard)

Step 2: Stunted Blind Polybius Cipher

This step requires the 8-letter keyword KW3 obtained from step 1 and the encrypted word concatenated from the top and middle screens on page 1 (ignore the digit).

The following diagrams will be used:


Begin by filling the Stunted Polybius square (left) with the letters A–P. Start with KW3. Remove all duplicated letters (retain first occurrences) and remove all letters Q–Z. Write the remaining letters A–P in alphabetical order with the letters from KW3 removed. If bit 1 is 1, place the alphabet after the keyword, otherwise before. Write these 16 letters into the grid in reading order.

Now label the rows and columns of the Blind Polybius Square (right). The columns are labeled with numbers 1–4 in an order based on the first 4 letters of KW3. Label these letters 1–4 in alphabetical order. In case of recurring letters, label those from left to right. Proceed similarly to label the rows with numbers 1–4 in an order based on the last 4 letters of KW3.

Now convert the encrypted word, letter by letter, into dot patterns. Find each letter in the Stunted Polybius Square and determine its row and column, then find the dot pattern in the Blind Polybius Square using the matching row and column numbers.

Finally, stack the dot patterns on top of one another, then re-divide them into blocks of three rows each, and read the result as Unified English Braille to obtain the encrypted word for the next step.


Encrypted word: KHEEAOBAM
KW3: WEREWOLF; bits: 01100


WERE → 4132
WOLF → 4321


K → r3c1 →
H → r2c2 →
E → r4c1 →
E → r4c1 →
A → r1c1 →
O → r4c2 →
B → r1c2 →
A → r1c1 →
M → r3c2 →

Braille = VIKGQQ

Step 3: Chain Rotation Cipher


Encrypted: VIKGQQ
N = 9
Cycle | Caesar | Rest
QVIQ | Q+R → I | VIQ
VIQ | V+I → E | IQ
QI | Q+E → V | I
I | I+V → E |
Result: GRIEVE

Use the encrypted word from Step 2 and the number on the middle screen on Page 1, which we will call N. Follow these steps repeatedly until you run out of letters:

  • Cycle the encrypted word left by N positions.
  • Caesar-shift the leftmost letter forward by the alphabetic position of the last obtained letter. (Ignore this instruction if this is the first letter.)
  • This is your next obtained letter. Write it down and remove it from the encrypted word.

Once completed, the result is your decrypted word, which you can now submit. Once you start typing, all the screens will go black and the bottom screen will show what you are typing.

To clear it, just click one of the arrows. This goes to one of the pages and clears any input you put in. It will not let you go over 6 letters on input.

Once you are satisfied with your input, press the button labeled "SUB" to submit your answer. On a strike, the module will go back to the first page of the module, but it does not regenerate.