A Variation of the CT-37c Translation Table

September 11 2022
Home | Cryptography by Hand | Prev | Next
Public Domain · vim(1) No Babies

This is a variant of the historical CT-37c translation table. Use it when translating English to and from decimal code when using one-time pads:

code
0
 i 
1
 a 
2
 t 
3
 o 
4
 n 
5
 e 
6
CT-37c
(Variant)
b
70
c
71
d
72
f
73
g
74
h
75
j
76
 k 
77
 l 
78
 m 
79
p
80
q
81
r
82
s
83
u
84
v
85
w
86
x
87
y
88
z
89
num
90
.
91
:
92
'
93
+
94
-
95
=
96
?
97
dig
98
sp
99

Special Rules

0 (code)

0 (code) means that the next three digits identify a special code. You and your partner will need a codebook. Codes are a great way to represent long words or phrases (longer than four characters) that you frequently use. For example, if code 184 means "dollars" in your code book, then 0184 in a message means "dollars".

90 (num)

90 (num) means that subsequent groups of three digits represent single-digit numbers. Seeing 90 again terminates this. For example, 9000044422290 means "042", 9055590 means "5", and 9099990 means "9". Repeating a number three times reduces the likelihood that a single mistake encrypting or decrypting the message will garble the number (9001090 is clearly "0" even though there's a 1 in the message). You can add punctuation, such as 901119155590 for "1.5".

98 (dig)

98 (dig, or "digits") means that a long number follows. The next digit specifies how many numeric digits follow; those digits should be interpreted as literal numeric digits. For example, 98242 is "42", 986123456 is "123456", and 983020 is "020". If the number is longer than nine digits, use 98 (dig) as many times as you need to write the complete number. 98 (dig) is more compact than 90 (num) but risks getting the wrong number due to encryption and decryption mistakes. If you see or use 98 (dig), triple-check your encryption and decryption math!

99 (sp)

99 (sp) is a literal space character. Use it when you need to clearly separate words. (Very often, messages are readable without spaces.)

Examples:

Advantages

  1. The most frequent English letters — a, e, i, n, o, and t — encode to only one decimal digit.
  2. 7, 8, and 9 signal a two-digit encoding.
  3. There are two ways to represent multi-digit numbers: one that is error-correcting (90 (num)) and one that is compact (98 (dig)).
  4. The letter portions of the table are easy to deduce. You only have to remember the phrase "I ATONE" or "I AT ONE" to figure out the top row; then you can fill out the next two rows.
  5. 0 (code) provides a mechanism to encode long, frequently-used words and phrases with four digits.