ADVANCED CHECKERBOARD
A keyed checkerboard built from a shared keyword adds another layer of obscurity. The construction method is deterministic — both parties derive the same table from the same keyword.
6.1 Constructing a Keyed Checkerboard
A static checkerboard (always the same layout) is a training tool. In practice, the checkerboard is itself keyed so that an adversary does not know the substitution alphabet.
Standard Construction Procedure
- Choose a keyword phrase with no repeated letters (or remove duplicates). Aim for 8–12 unique characters.
- Write out the unique characters of the keyword in order. This is the beginning of your alphabet.
- Continue with remaining letters of the standard alphabet not already included, in order.
- Assign row 1 positions to the first 6 letters from your constructed sequence. These get single-digit codes (positions 0–5).
- Designate escape positions (positions 7 and 8 in our system) for rows 2 and 3.
- Fill rows 2 and 3 with the next 20 letters in sequence order.
For maximum efficiency, ensure that the highest-frequency English letters (E, T, A, O, N, I) land in row 1. The keyed alphabet reorders which letters get single-digit codes, but you should still aim for high-frequency letters in the top row when possible.
Example Construction
Keyword phrase: MAGNETIC FIELD
Step 1: Unique letters from keyword: M A G N E T I C F L D
Step 2: Remaining alphabet in order (skipping those already used): B H J K O P Q R S U V W X Y Z
Step 3: Full constructed sequence:
Step 4: Assign row 1 (first 6): M=0, A=1, G=2, N=3, E=4, T=5
Step 5: Positions 6=FIG, 7=escape(row 2), 8=escape(row 3), 9=FIG
Step 6: Row 2 (prefix 7): I=70, C=71, F=72, L=73, D=74, B=75, H=76, J=77, K=78, O=79
Step 7: Row 3 (prefix 8): P=80, Q=81, R=82, S=83, U=84, V=85, W=86, X=87, Y=88, Z=89
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
| ROW 1 | M | A | G | N | E | T | FIG | / | / | FIG |
| 7_ | I | C | F | L | D | B | H | J | K | O |
| 8_ | P | Q | R | S | U | V | W | X | Y | Z |
Both parties, knowing the keyword MAGNETIC FIELD, independently construct the same table. The keyword is a shared secret, stored separately from the pad material.
6.2 Digit Encoding (Figure Shift)
Numbers embedded in plaintext must be distinguished from character codes. The simplest training approach is to spell out numbers: “THREE SEVEN” instead of 37.
For operational use, an extended checkerboard can add a fourth row for digits 0–9:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
| ROW 1 | E | T | A | O | N | I | FIG | / | / | FIG |
| 7_ | S | R | H | L | D | C | U | M | W | F |
| 8_ | G | Y | P | B | V | K | J | X | Q | Z |
| 9_ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Now digits 0–9 are encoded as 90, 91, ... 99. The decode algorithm needs one more rule: if D=9, read next digit for row 4.
Example: REPORT AT 0600
6.3 Null Padding
A message of N digits may not end on a 5-digit group boundary. Pad with random null digits (from the key stream or from fresh dice) to complete the final group.
Mark the end of the real message with an agreed signal embedded in the plaintext before encoding (e.g., the character string ENDX or a period). The receiver decodes until they hit the marker and stops. Trailing null padding decodes as garbage, which is ignored.
6.4 Superencipherment
Some historical systems applied a second encryption layer over the OTP-encrypted ciphertext — usually a transposition cipher or simple additive system. For OTP, this adds complexity without improving theoretical security (a perfect cipher is already perfect). However, it can:
- Obscure message length
- Complicate traffic analysis
- Add procedural overhead that deters casual interception
For hand operation, superencipherment is not recommended. It multiplies the opportunity for errors.
6.5 Interactive Checkerboard Builder
Enter a keyword to construct a keyed checkerboard. The builder extracts unique letters from your keyword, fills the remaining alphabet, and assigns them to the grid.
EXERCISES — MODULE 6
Construct a complete keyed checkerboard from the keyword IRON CURTAIN. Place the first 6 unique letters in row 1 (single-digit positions 0–5). Fill rows 2 and 3 with the remaining letters.
ANSWER KEY
Unique letters from IRON CURTAIN: I R O N C U T A
Wait — remove duplicates in order: I R O N C U T A (8 unique letters)
Row 1 (first 6): I=0, R=1, O=2, N=3, C=4, U=5
Remaining from keyword (positions 7+): T, A
Remaining alphabet: B D E F G H J K L M P Q S V W X Y Z
Full sequence for rows 2+3: T A B D E F G H J K L M P Q S V W X Y Z
Row 2 (prefix 7): T=70, A=71, B=72, D=73, E=74, F=75, G=76, H=77, J=78, K=79
Row 3 (prefix 8): L=80, M=81, P=82, Q=83, S=84, V=85, W=86, X=87, Y=88, Z=89
Using your constructed checkerboard from 6.1, encode:
ANSWER KEY
Using the IRON CURTAIN board:
M=81, O=2, V=85, E=74, A=71, T=70, M=81, I=0, D=73, N=3, I=0, G=76, H=77, T=70
Digit string: 81 2 85 74 71 70 81 0 73 3 0 76 77 70
Concatenated: 8 1 2 8 5 7 4 7 1 7 0 8 1 0 7 3 3 0 7 6 7 7 7 0 (24 digits)
Grouped: 81285 74717 08107 33076 77070 (25 digits, pad last group if needed)
Add a digit row (prefix 9) to the reference checkerboard and encode:
ANSWER KEY
Using the reference checkerboard + row 4 (9_ for digits):
F=79, R=71, E=0, Q=88, U=76, E=0, N=4, C=75, Y=81, I=5, S=70, 1=91, 4=94, 4=94, 8=98, 0=90
Digit string: 79 71 0 88 76 0 4 75 81 5 70 91 94 94 98 90
Concatenated: 7 9 7 1 0 8 8 7 6 0 4 7 5 8 1 5 7 0 9 1 9 4 9 4 9 8 9 0 (28 digits)
Grouped: 79710 88760 47581 57091 94949 890 (pad to 30: 89000 or 890XX)