## On the Subject of the Dreamcipher CM

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

From the Dreamcipher module by Kaito Sinclaire.

### Recreating the Glyph Alphabet

The table on page 3 is a glyph table. Some of the glyphs in the table have been mapped to a letter.

Start by creating a key using the keyword on screen 1 and the Boolean Expression on screen A. Convert the hexadecimal characters on screen 2 into binary.

Take the leftmost eight bits in the binary string and convert them to a decimal number, modulo 64. This is the number of the starting glyph, starting from zero in the top-left, proceeding in reading order.

Take the next four bits in the binary string, and convert them to a decimal number. Add one to that number, and advance that many additional glyphs, wrapping around to the top-left glyph if necessary. The resulting glyph maps to the 1st letter in the alphabet key.

Proceed likewise for the next four bits in the binary string, mapping the result to the next letter of the alphabet key.

Convert the 2 letters on screen B into Values via the Value Table, modulo 10, plus 1. The left value will be referred to as A and the right value will be referred to as B.

Do the following instructions down below until each letter of the alphabet key has been used:

• Let X be the previous bit string.
• Shift X left by A, XOR that with X, and save the result as X.
• Shift X right by B, XOR that with X, and save the result as X.
• All shifts are logical shifts—always shift in zeroes.
• For each of the 4 bits of X, convert them to a decimal number. Add one to that number, and advance that many glyphs, again wrapping if necessary. The resulting glyph maps to the next letter in the alphabet key.
• If a glyph you landed on already has a letter mapped to a letter, advance one additional glyph until the glyph you end up on doesn’t have a mapped letter.

### Decrypting the Word

Concatenate the glyphs on screens 3 and 4 in that order.

If the Submit Button is white, follow the instructions under Encrypt Instructions. Otherwise follow the instructions under Decrypt Instructions.

#### Encrypt Instructions

• Locate the Nth glyph in the glyph table.
• If the Nth glyph is outlined, go in reading order in the glyph table equal to the alphabetic position (A1Z26) of the Nth letter of the encrypted word, wrapping around when necessary.
• Otherwise go in backwards reading order equal to the alphabetic position (A1Z26) of the Nth letter of the encrypted word, wrapping around when necessary.
• The letter that the glyph you ended up on is mapped to becomes your Nth decrypted letter.

#### Decrypt Instructions

• Locate the Nth glyph in the glyph table.
• If the Nth glyph is outlined, go in backwards reading order in the glyph table equal to the alphabetic position (A1Z26) of the Nth letter of the encrypted word, wrapping around when necessary.
• Otherwise go in reading order equal to the alphabetic position (A1Z26) of the Nth letter of the encrypted word, wrapping around when necessary.
• The letter that the glyph you ended up on is mapped to becomes your Nth decrypted letter.

Do this for each letter of the encrypted word to get a decrypted word.

### Glyph Table

#### Example

Encrypted Word: TQUZ
Hexidecimal: A7A4
A/B: 4/0 -> 5/1
Glyphs: B4 Filled, F1 Filled, B2 Filled, D8 Outlined
Using Decrypt Rules

A7A4 → 1010 0111 1010 0100
10100111 → 167 mod 64 → 39 → H4
1010 → 10 + 1 → 11 + H4 → C7: C
0100 → 4 + 1 → 5 + C7 → H7: R

 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 1 1 0

0111 → 7 + 1 -> 8 + H7 -> H8: U
1010 → 10 + 1 -> 11 + H8 -> C2: S
1011 → 11 + 1 → 12 + C2 → G3: A
0110 → 6 + 1 → 7 + G3 → F4: D

 0 1 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1

0011 → 3 + 1 -> 4 + F4 -> B5: E
1010 → 10 + 1 -> 11 + B5 -> E6: B
0100 → 4 + 1 → 5 + E6 → B7: F
1101 → 13 + 1 → 14 + B7 → A1: G

 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1

0100 → 4 + 1 -> 5 + A1 -> F1: H
1010 → 10 + 1 -> 11 + F1 -> A3: I
0001 → 1 + 1 → 2 + A3 → C3: J
1011 → 11 + 1 → 12 + C3 → G4: K

 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0

0000 → 0 + 1 -> 1 + G4 -> H4: L
1101 → 13 + 1 -> 14 + H4 -> F6: M
1100 → 12 + 1 → 13 + F6 → C8: N
0110 → 6 + 1 → 7 + C8 → B1: O

 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1

1110 → 14 + 1 -> 15 + B1 -> B3: P
1111 → 15 + 1 -> 16 + B3 -> C5: Q
1000 → 8 + 1 → 9 + C5 → D6: T
0101 → 5 + 1 → 6 + D6 → D7: V

 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1

0001 → 1 + 1 -> 2 + D7 -> F7: W
0000 → 0 + 1 -> 1 + F7 -> G7: X
1011 → 11 + 1 → 12 + G7 → C1: Y
0111 → 7 + 1 → 8 + C1 → D2: Z

 G O Y - - H - - - - S Z - - - - I P J - - - A - - - - - - D K L - E Q - - - - - - - - T B M - - - F C V - W X R - - N - - - - U

T + B4 Filled → M
Q + F1 Filled → A
U + B2 Filled → K
Z + D8 Outlined → E

Decrypted Word: MAKE