On the Subject of the Cipher Machine

A machine that knows no bounds when it comes to ciphers.

  • The big screens on the left are labeled 1 - 4, top to bottom. The smaller screens on the right are labeled A - D, top to bottom.
  • The screen on the bottom right not only displays the current page number, but also displays what cipher it uses via a 2 letter key. It also acts like a submit button while in submission mode.
  • To enter submission mode, type on the module using the keyboard below. Submit the decrypted word to solve the module.

The text on the 1st screen on page 1 is the encrypted word. This word can be 4 - 8 letters long. Each page after the first displays the cipher that the module used.

Each cipher has at least 1 page to display what cipher it uses on the page number/submit button screen. Use the 2 letter key after the page number to determine which cipher it used. Then, follow the steps to decrypt the encrypted word.

By default, there is a total of 3 ciphers that the word was encrypted by. Follow the instruction for each cipher in page number order to decrypt your encrypted word.

Sometimes a cipher might say "Convert the letter on screen N to a Value via the Value Table". Use the letter on the Value Table to get a value from it.

More often, a cipher might say "If the Boolean Expression on screen N is true...". The first letter determines the Boolean Expression it uses. Convert the letter(s) after that via the Value Table to represent X and/or Y.

If a cipher says to "Create a key using the keyword and the Boolean Expression", do the following instructions:

  • 1. Remove any duplicate letters from the keyword, keeping each letter’s first occurrence.
  • 2. Then take the alphabet and remove any occurrences of all the letters in your current key.
  • 3. If the Boolean expression is true, place the alphabet at the end of your key. Otherwise place the alphabet at the beginning of your key.

On every page with a cipher (except for the last cipher), one of the letters on the keyboard will be colored yellow. The alphabetic position (A1Z26) of this letter is the result of a checksum being done on the encrypted word BEFORE applying the cipher that it is currently on. You can use this to check if you apply the cipher correctly to the encrypted word. To calculate the checksum, use the equation below:

(X1 * 1 + X2 * 2 + ... + XN * N) mod 23 + 1

X is equal to the alphabetic position (A1Z26) of that letter.

Value Table

ABatteriesJ1st SN Character (Base 36)S2nd SN Digit
BBattery HoldersK2nd SN Character (Base 36)TSum of SN Digit
CD BatteriesL3rd SN CharacterUSum of SN Letters (A1Z26)
DAA Batteries / 2, rounded upM4th SN Character (A1Z26)VSum of SN Characters (Base 36)
EIndicatorsN5th SN Character (A1Z26)WDay of the Week* (Sunday is 0)
FLit IndicatorsO6th SN CharacterXDay*
GUnlit IndicatorsP1st SN Letter (A1Z26)YMonth*
HPortsQ2nd SN Letter (A1Z26)ZDigital Root of (Year* mod 1000)
IPort PlatesR1st SN Digit

*This is recorded at the time when the bomb started counting down (or up if it’s in ZEN mode).

AX is even
BX is odd
CX is prime
DX is composite
EX is part of the Fibonacci Sequence
FX is NOT part of the Fibonacci Sequence
GX modulo 4 is 0 or 1.
HX modulo 4 is 2 or 3.
IX and Y share the same parity
JX and Y are opposite parities
KX and Y are coprime
LX and Y are NOT coprime
MX is greater than or equal to Y
NX is less than or equal to Y
OX and Y, modulo 4, is both (0 or 1) OR (2 or 3)
PX and Y, modulo 4, is (0 or 1) XOR (2 or 3)

The Fibonacci sequence starts with (1, 1) and each number after is determined by the sum of the previous 2 numbers.

2 numbers are coprime if the Greatest Common Divider/Denominator between them is 1.

Configurable Mission Settings

This module can be customized to suit any mission maker’s needs/wants. To configure each individual Cipher Machine, use this template for each one and write it in the description of your mission:

[Cipher Machine] Len = , Order = , Pick = , Ciphers =

Len: A list of word lengths you would like to use. Ex: len = 47 will pick a word that has a length of either 4 or 7. The numbers have to be within the range of 4 - 8. By not writing this property, the default list it will use is 4 - 8.

Order: The type of order you want the ciphers to be in. There are 4 types of orders: Fixed, Random, FixInner, FixOuter. Fixed will be in the order that you write the ciphers in the ciphers property. Random will shuffle the ciphers you write in the ciphers property. FixInner will keep the order of the ciphers in each group fixed while shuffling the order of the groups. FixOuter will shuffle the order of the ciphers in each group while keeping the order of each group fixed. By not writing this property, the default type will be Random.

Pick: Determines how many ciphers you want to choose from the list of ciphers in the ciphers property. Can be in any of these formats: X, X/Y, A/Y, X/A. X will pick X ciphers from 1 group of ciphers. X/Y will pick X groups, and then Y ciphers from each group. A/Y will pick all groups, and then Y ciphers from each group. X/A will pick X groups, and then all ciphers from each group. By not writing this property, the default value will be the number of ciphers in the ciphers property.

Ciphers: A list of ciphers you would like to use in the Cipher Machine. Find the cipher you want and write the 2 letter code that is associated with it. Optionally, you can add the letter E/D to the end of it to make the cipher use the Encrypt/Decrypt rules of that cipher. By not writing down the E/D, it will pick randomly between the 2. You can also use any of these letters to randomize what type of cipher you want: A, T, N. A will choose any cipher. T will choose any pure transposition cipher. N will choose any non-transposition cipher. Make sure to leave a space between each cipher. You can also split up ciphers into groups by use parentheses for ordering purposes. Ex: Ciphers = (AT FO IPD) (RZE T N), the 1st group contains Atbash, Foursquare that will randomly pick between E/D, and Incremental Polyalphabetic using Decrypt Rules while the 2nd group contains Rozier using Encrypt Rules, a random transposition cipher, and a random non-transposition cipher. By not writing this property, it will choose any random cipher from the module.