DECRYPTION
Decryption reverses the pipeline: five-group → mod-10 subtract (add complement) → checkerboard decode. Verify by re-encrypting.
5.1 Decryption Checklist
Upon receiving a message:
5.2 Step 1: Extract Key Digits
Exactly as in encryption: read off the required number of key digits from the specified position on the specified pad page.
The number of key digits needed equals the number of ciphertext digits.
5.3 Step 2: Subtract Mod-10 (Add Tens Complement)
For each pair (ciphertext digit C, key digit K):
- Compute K′ = tens complement of K = (10 − K) mod 10
- Compute P = (C + K′) mod 10
This recovers the intermediate digit string.
Do NOT do regular subtraction. Work exclusively with addition of the tens complement. This keeps the operation consistent and avoids negative numbers.
Equivalently: P = (C − K + 10) mod 10. But writing it as (C + K′) removes the subtraction operation and the associated error risk.
Tens Complement Reference
| K | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| K′ | 0 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
5.4 Step 3: Decode with Checkerboard
Apply the decoding algorithm to the recovered digit string. Read strictly left to right:
- Read the next digit D.
- If D is not an escape digit (not 7, not 8): look up D in row 1. Output the character. Advance by 1.
- If D is an escape digit: read the next digit D2. Look up D2 in the corresponding row (row 2 for escape=7, row 3 for escape=8). Output that character. Advance by 2.
Process strictly left to right. Any decoding error propagates through all subsequent characters if you jump around.
5.5 Error Propagation
Mod-10 arithmetic errors: If you make an error in the mod-10 step (wrong addition, wrong complement), only that one digit position is affected. The error does NOT propagate to adjacent positions. This is a major advantage over block ciphers.
Checkerboard decoding errors: If you misidentify a digit as an escape (or vice versa), the decoding falls out of sync. All subsequent characters will be wrong until by accident the alignment restores. This can corrupt the entire message.
Mod-10 errors cause isolated character corruption. Checkerboard parsing errors cause cascading corruption. Therefore: the most important discipline is strict left-to-right reading with correct escape identification.
5.6 Verification Practices
Method 1: Expected plaintext fragments. If you know the message should begin with a standard greeting or code phrase, verify that the first few decoded characters match expectations. If they do not, suspect a page/position mismatch.
Method 2: Re-encrypt check. After decrypting, re-encode the recovered plaintext and re-encrypt with the same key stream. The result should match the original ciphertext. This is expensive but definitive.
Method 3: Agreed check groups. Some systems include a pre-agreed phrase or number as the last group of every message. If decryption recovers the expected phrase, the decryption is correct.
5.7 Worked Example: Decrypting MEETATDAWN
We reverse the encryption from Module 4. The receiver has the ciphertext 20827 25451 046, pad page 003 starting at G01/D01, and the reference checkerboard.
5.8 Decryption Arithmetic
Checkerboard Decode
EXERCISES — MODULE 5
Using the ciphertext you generated in Exercise 4.1, decrypt and recover the original plaintext. Verify it matches.
Given the following ciphertext and key, decrypt completely:
ANSWER KEY
Key complement: 7 7 3 9 5 1 0 2 8 7 9 4 0 5 6 3 3 5 1 8
P = (C + K′) mod 10:
Plaintext digits: 2 5 6 2 7 2 7 8 4 7 7 9 3 5 7 2 3 5 1 5
Decode from checkerboard: 2=A, 5=I, 6=FIG(not valid as single)... work through carefully!
Actually: 2=A, 5=I, 6=FIG — note: 6 is the FIG position in our checkerboard, which should not appear in normal text. This exercise tests your attention to the layout. If your decode looks wrong, double-check the key complement arithmetic.
A ciphertext group arrives damaged: one digit is illegible. If the damaged digit is in the key stream portion of a mod-10 subtraction, how does this affect decryption? What if it is in the ciphertext?
ANSWER KEY
In either case, you cannot recover that one digit position. However, all other positions remain correct — mod-10 has no carry, so damage is isolated.
The risk: if the lost digit is an escape digit in the decoded stream, it could shift all subsequent decoding. Trial-and-error (trying all 10 possible values) can recover the message.
You decrypt a message and get apparent garbage from position 8 onward, but the first 7 characters look correct. What is the most likely cause? What do you do?
ANSWER KEY
Most likely cause: a single mod-10 error at position 7 or 8 that happens to affect an escape digit, throwing the checkerboard decode out of sync.
Action: Re-do the mod-10 arithmetic from position 7 onward. If arithmetic is correct, re-check your escape-digit identification at that position. Try interpreting the digit both as a normal character and as an escape to see which produces valid text.