thetrailingdot fd53 kmsp42
// Paper cipher systems — field reference
One-Time Pad
Mod-10 & Mod-26

Two pencil-and-paper OTP systems: the Mod-10 straddling checkerboard (digit-based, compact, field-proven by Soviet intelligence for decades) and the Mod-26 Vernam cipher (letter-based, no lookup table required, pure arithmetic). Both are information-theoretically unbreakable when correctly keyed.

Security ModelInformation-theoretic
Mod-10 Keyd10 dice digits
Mod-26 KeyRandom letters A–Z
Tools RequiredPencil and paper only
01

How It Works

MOD-10 // OVERVIEW

The Mod-10 system combines a straddling checkerboard with a one-time pad. The checkerboard converts letters into a compact digit stream; random key digits from the pad are then added modulo 10. The result reveals nothing about the plaintext without the pad.

The term straddling describes how the alphabet is assigned. High-frequency letters get single digits. All others “straddle” across two rows, requiring a row-prefix digit then a column digit. This nearly halves key consumption versus a simple A=01 scheme.

Why this cipherShannon proved the OTP unbreakable in 1949. The checkerboard earns its place as the most efficient letter-to-digit encoding a human can operate without error under field conditions — two simple components, no electronics, no side-channel.

The Checkerboard Layout

0123456789
ETAOIN
77BCDFGHJKL
88MPQRSUVWX
99YZ#.?/NUM

Green = single-digit high-frequency letters (E T A O I N). Red = row prefix digits (7, 8, 9). Amber = special chars. NUM (96) toggles digit passthrough; # (92) = word separator. Column 0 is structurally blank.

Self-delimiting guaranteeRow prefix digits 7, 8, 9 never appear as column positions. A decoder reading left-to-right always knows whether a digit is a complete code or the first of a two-digit pair. No separator characters needed. With row prefixes at 7, 8, 9 and column 0 reserved, exactly six usable single-digit positions remain — the structural constraint that defines the layout.
02

Encoding

PLAINTEXT → CIPHERTEXT // MOD-10

Two steps: convert letters to a digit stream via the checkerboard, then add random key digits modulo 10.

1
Look up each letter in the checkerboard
Top-row letters (E T A O I N) emit one digit. Body-row letters emit the row prefix then the column digit. M = row 8, col 1 = 81. E = col 1 = 1.
2
Concatenate into a continuous digit stream
No spaces between encoded letters. The self-delimiting structure makes them unambiguous. Use # (code 92) for word separators if needed.
3
Add key digits — (P + K) mod 10
Add each pad digit to the plaintext digit. No carry. If the sum exceeds 9, wrap: 7 + 6 = 13 → write 3.
4
Group in 5s and record pad line number
Five-digit groups ease transcription. Record pad line in the message header (not sensitive). Strike the line immediately.
Worked Example — Encode “MEET AT DAWN” (Mod-10)
PlaintextMEET  AT  DAWN
Checkerboard81112 92 32 92 733886
Digit stream8 1 1 1 2   9 2 3 2   9 2 7 3 3   8 8 6
Key (line 03)4 7 3 8 5   2 1 6 4   0 9 3 1 7   6 3 2
(P+K) mod 102 8 4 9 7   1 3 9 6   9 1 0 4 0   4 1 8
Ciphertext28497   1396   91040   418
Word separatorsThe amber codes (92) above encode the # separator. Many operators drop word separators entirely, encoding stripped plaintext as a continuous letter stream. This is more secure — word boundaries leak structural information about message content.
02

Decoding

CIPHERTEXT → PLAINTEXT // MOD-10
1
Locate pad line from the message header
Confirm the line is unused. A reused line breaks security immediately and completely.
2
Subtract key digits — (C − K + 10) mod 10
Subtract each key digit from the cipher digit. If negative, add 10: 2−7=−5, +10=5. This recovers the original digit stream.
3
Read digit stream through the checkerboard
Left to right. Digits 1–6 = single-letter top row. Digit 7, 8, or 9 = row prefix; read next digit for column.
4
Strike and destroy the pad line
Both parties destroy immediately. A surviving used line enables retroactive decryption of that message.
Worked Example — Decode (Mod-10)
Ciphertext28497   1396   91040   418
Key (line 03)4 7 3 8 5   2 1 6 4   0 9 3 1 7   6 3 2
(C−K+10)%108 1 1 1 2   9 2 3 2   9 2 7 3 3   8 8 6
Read stream8,1→M   1→E   1→E   2→T   9,2→#   3→A   2→T   9,2→#   7,3→D   3→A   8,8→W   6→N
PlaintextMEET AT DAWN
Encode(P + K) mod 10 — add, no carry. 8+5=13 → write 3.
Decode(C − K + 10) mod 10 — subtract, add 10 if negative. 2−7=−5, +10=5.
01

How It Works

MOD-26 // OVERVIEW

The Mod-26 Vernam cipher assigns each letter a number (A=0, B=1 … Z=25) and adds plaintext numbers to key numbers modulo 26. The result is converted back to a letter. This is the original one-time pad as described by Gilbert Vernam in 1918 and proven secure by Shannon in 1949.

There is no lookup table to memorize or carry. The only prerequisite is the A=0…Z=25 mapping and the ability to add and subtract modulo 26. Operators who prefer to avoid mental arithmetic use a tabula recta — a 26×26 letter grid that turns the operation into a pure table lookup.

Mod-26 vs Mod-10Both systems are equally secure when correctly keyed. Mod-10 is more compact and faster with practice (base-10 arithmetic is natural). Mod-26 requires no table and the ciphertext is pure letter format, which blends into ordinary correspondence. A mis-encoded letter in Mod-26 corrupts only that letter; in Mod-10 a digit error in a two-digit code can cascade through subsequent letters.

Alphabet Number Mapping (A=0 … Z=25)

Memorize in groups of five: A–E = 0–4  |  F–J = 5–9  |  K–O = 10–14  |  P–T = 15–19  |  U–Z = 20–25

The Tabula Recta (Optional Lookup)

Find the key letter in the left column. Read across that row to the plaintext letter column. The cell is the ciphertext letter. To decode: find the key letter row, scan for the ciphertext letter, read the column header for plaintext. The purple diagonal is where key=A (zero shift).

Encode: Row = key letter. Column = plaintext letter. Cell = ciphertext letter.
Decode: Row = key letter. Scan row for ciphertext letter. Column header = plaintext letter.
02

Encoding

PLAINTEXT → CIPHERTEXT // MOD-26

Convert each letter to its number, add the key number, reduce mod 26, convert back to a letter. Or skip the arithmetic entirely using the tabula recta.

1
Convert plaintext letter to number (A=0 … Z=25)
Strip spaces and punctuation from the message first. Each remaining letter becomes its number: M=12, E=4, T=19, A=0, and so on.
2
Add the key letter number — (P + K) mod 26
Take the next key letter and add its number to the plaintext number. If the sum is 26 or more, subtract 26: M(12)+X(23)=35, −26=9=J. Or use the tabula: row X, column M = J.
3
Convert the result number back to a letter
The ciphertext is a string of letters A–Z, no digits or symbols. Group in 5-letter blocks for transmission.
4
Record pad line number and strike it
Same discipline as Mod-10. Pad line number travels with the message in plaintext. Strike the line on both copies immediately.
Worked Example — Encode “MEETATDAWN” (Mod-26)
PlaintextM  E  E  T  A  T  D  A  W  N
P (A=0)12   4   4   19   0   19   3   0   22   13
Key (line 03)X  K  Q  P  L  M  H  S  B  D
K (A=0)23   10   16   15   11   12   7   18   1   3
(P+K) mod 269   14   20   8   11   5   10   18   23   16
CiphertextJOUIL   FKSXQ
03

Decoding

CIPHERTEXT → PLAINTEXT // MOD-26
1
Locate the pad line from the message header
The key is a string of letters. Confirm the line is unused.
2
Subtract key letter from cipher letter — (C − K + 26) mod 26
Convert both to numbers. Subtract: J(9)−X(23)=−14, +26=12=M. Or use tabula: row=key letter X, scan for ciphertext J, column header is plaintext M.
3
Convert result number to plaintext letter
Recover the full letter stream, then add spacing and punctuation from context.
4
Strike and destroy the pad line
Both parties destroy immediately. No exceptions.
Worked Example — Decode (Mod-26)
CiphertextJOUIL   FKSXQ
C (A=0)9   14   20   8   11   5   10   18   23   16
Key (line 03)X  K  Q  P  L  M  H  S  B  D
K (A=0)23   10   16   15   11   12   7   18   1   3
(C−K+26)%2612   4   4   19   0   19   3   0   22   13
PlaintextMEETATDAWN
Encode(P + K) mod 26 — add numbers, subtract 26 if ≥26. M(12)+X(23)=35, −26=9=J.
Decode(C − K + 26) mod 26 — subtract, add 26 if negative. J(9)−X(23)=−14, +26=12=M.
Tabula encRow = key letter. Column = plaintext letter. Cell = ciphertext letter.
Tabula decRow = key letter. Scan row for ciphertext letter. Column header = plaintext letter.
04

Key Material

GENERATION // DISTRIBUTION // DESTRUCTION

The security of both systems depends entirely on the key. A weak key destroys the information-theoretic guarantee. The rules are absolute.

Critical requirementKey material must be truly random. For Mod-10: roll one physical d10 die per digit. For Mod-26: roll dice and map to letters (two d6 with rejection, or a shuffled deck). Never use a PRNG, a phone app, a date, a phone number, or any structured data.
// Mod-10 Key Format
Random digits 0–9, grouped in 5s, 6 groups per line (30 digits/line). Roll one d10 per digit.

Example line:
47385  21640  93718  02564  87931  46207
// Mod-26 Key Format
Random letters A–Z, grouped in 5s, 6 groups per line (30 letters/line). Roll two d6, map with rejection, or draw shuffled cards.

Example line:
XKQPL  MHSBD  NRFWY  VCZJO  UTEIG  AQLPK
FormatNumbered lines, 30 key units per line. Each pad has a unique serial. Both parties hold identical numbered copies.
DistributePhysical exchange only — never transmitted electronically. The only key exchange moment; treat it accordingly.
UseLines in sequence. Pad line number travels in the message header in plaintext — not sensitive. Recipient needs it.
DestroyBurn or dissolve each line immediately after use. Nitrocellulose (flash paper) ignites completely in under one second with no ash.
NEVERReuse any pad line. VENONA: Soviet reuse of ~35,000 pages under WWII production pressure gave analysts partial recovery of ~3,000 messages over 30 years. Only the reused key material was broken — never the cipher itself.
05

Comparison

MOD-10 vs MOD-26 // SIDE BY SIDE
// Mod-10 Straddling Checkerboard
  • Key: random digits (d10 dice)
  • Ciphertext format: digit string
  • Encoding: checkerboard lookup required
  • Arithmetic: base-10, most natural for humans
  • Efficiency: ~1.6 key digits per letter average
  • Self-delimiting, no separator metadata leaked
  • Hidden layer: checkerboard layout is a secret
  • Proven: Soviet intelligence, numbers stations
  • Error: wrong digit can cascade through stream
// Mod-26 Vernam Cipher
  • > Key: random letters (no table needed)
  • > Ciphertext format: letter string
  • > Encoding: A=0…Z=25, or tabula recta
  • > Arithmetic: mod-26, less intuitive without tabula
  • > Efficiency: exactly 1 key letter per plaintext letter
  • > No table to carry or compromise
  • > Ciphertext blends into ordinary letter text
  • > Vernam 1918, Shannon 1949, diplomatic use
  • > Error: each letter is independent, no cascade
PropertyMod-10 + CheckerboardMod-26 VernamNihilistSolitaire
SecurityPerfect OTPPerfect OTPPerfect OTPComputational
Key formatDigitsLettersDigit pairsCard deck order
CiphertextDigitsLettersNumbersLetters
Lookup tableCheckerboardNone / TabulaPolybius sq.Complex procedure
Encode speedFastMediumMediumSlow
True OTPYesYesYesNo (PRNG)
Choosing a systemBoth are equally secure. Choose Mod-10 when messages are long, key material is scarce, or you need to embed numbers and punctuation efficiently. Choose Mod-26 when you have no table to carry, ciphertext must resemble ordinary text, or independent letter errors are preferable to cascading stream errors.
06

Templates

PRINT-READY // FIELD USE
// Mod-10 Reference
Checkerboard + Rules Card
Full checkerboard, encode/decode rules, worked example. Letter-size. Print, laminate, or cut to wallet size.
// Mod-26 Reference
Alphabet Map + Tabula Recta
A=0…Z=25 map, full 26×26 tabula recta, rules and worked example. Compact single-page format.
// Key Sheets
Blank Pad: Digit & Letter
Two versions — digit pad for Mod-10, letter pad for Mod-26. 14 rows, 30 units per line, slash column for consumed-row tracking.
// Passport B7
Field Set (88×125mm)
All templates scaled to passport size. Both cipher systems. Fits inside a standard passport or field notebook.
Mod-10 Straddling Checkerboard — Reference Card
SYSTEM: MOD-10 / SCISSUED: ___________PARTY: _______
0123456789
ETAOIN
77BCDFGHJKL
88MPQRSUVWX
99YZ#.?/NUM
ENC: (P+K) mod 10 — add key digit, no carry  |  DEC: (C-K+10) mod 10 — subtract, +10 if negative
Row prefix 7,8,9: read next digit for column  |  Top-row digit 1-6 = single letter  |  # (92) = word sep
EXAMPLE: MEETATDAWN → 81112 923 2927 3386 → + key 47385... → 28497 1396 91040 418
BURN AFTER USE
Mod-26 Vernam Cipher — Reference Card
SYSTEM: MOD-26 / VERNAMISSUED: ___________PARTY: _______
ALPHABET MAP
ENC: convert to numbers, add key number, mod 26, convert back  |  (P+K) mod 26
DEC: convert to numbers, subtract key number, +26 if negative  |  (C-K+26) mod 26
Groups: A-E=0-4   F-J=5-9   K-O=10-14   P-T=15-19   U-Z=20-25
EXAMPLE: MEETATDAWN + key XKQPLMHSBD → JOUIL FKSXQ
BURN AFTER USE
One-Time Pad — Blank Key Sheet
SYSTEM: _______________PAGE: ___ OF ___PARTY: _______
MOD-10 // DIGIT PAD
MOD-26 // LETTER PAD
BURN THIS SHEET AFTER USE — DO NOT ARCHIVE