Generate custom codebooks for use with the CODEX codebook cipher app. Configure word count, homophone density, character sets, and more, then export as JSON or TSV for import into the app.
Note on restricted alphabets: the codebook itself will use only the characters you select, but the CODEX App’s superencipherment layers (Vigenère, Caesar, substitution, additive) operate on the full base-62 alphabet, so ciphertext will contain digits and mixed-case letters even when the underlying codebook does not. Decoding still recovers the original codes correctly. Pick a restricted alphabet mainly for aesthetics or to mimic a historical codebook style.
Higher = more homophones per token, weighted by English frequency. At 1x, common letters like “e” already get 12 codes while “z” gets 1.
Null codes are dummy code groups that the encoder can insert at random positions. They disrupt frequency analysis by adding noise. The decoder recognizes and silently strips them. More null codes means more variety in the inserted dummies.
An additive pad is a separate one-time-use key that goes alongside the codebook. When the CODEX App is set to Additive superencipherment, it adds the pad character-by-character to every code character (mod 62), making the result statistically indistinguishable from a one-time pad. For the most realistic re-enactment, generate both a codebook and a long companion pad here, share both with your recipient, and use one chunk of the pad per message.
One-time use: never reuse a pad for another message. If you do, an attacker can XOR the two ciphertexts together to cancel the pad and recover information about both plaintexts (the “depth” attack that broke real one-time-pad systems in WWII). Generate a fresh pad — or take a fresh chunk of a long pad — for every message.
How long will this codebook resist cryptanalysis? That depends on how many homophones you use and how much ciphertext you produce before changing the codebook. More homophones require an attacker to collect more ciphertext before frequency analysis, bigram context, or distributional clustering can break the code. See the CODEX Decryptor for a live demonstration of these attacks.
Build a paper-friendly version of the generated codebook for classroom use. Layout uses Georgia for prose and Courier New for code groups, two–four columns per page, and a per-page header so multi-page books stay organized.
Disclaimer: these pages are educational demos provided as-is, with no warranty of any kind. The author is not responsible for any consequences arising from their use.
Send comments and bug reports to chris@chrisspackman.com.
Version 0.5.1 — Last updated: 2026-07-02
This page is Copyright © 2025 – 2026
Chris Spackman <chris@chrisspackman.com>.
This web site developed entirely on GNU/Linux with Free / Open
Source Software.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.