Explore / The cipher workshop
Make a key.
See what it changes.
A new alphabet, a repeated key, a different order. Put a message through six mechanisms and watch the writing change.
01 / A reversible experiment
Your message, through a cipher.
Change the mechanism or its key. The browser encodes the message, measures the output, then uses the key to recover the normalized input.
This demonstration folds accents and uses A–Z. Spaces, digits and punctuation are removed before encryption. Recovery is checked against that normalized text.
See the normalized message
Open the key and recovered message
Recovered with the key
What survived the change?
How often does each unit occur?
Bars show counts for the most frequent 16 output units. The complete counts are in the experiment download.
02 / A small search you can inspect
Twenty-six possible keys.
A Caesar alphabet has 26 shifts. This search tries every one, then ranks the outputs by letter frequencies in a reference text. Read the candidates yourself.
Read the frequency reference
Inspect all 26 candidates
The score is mean natural-log letter likelihood with add-one smoothing. Ranking depends on this reference and sample length; it is not a probability that the text is a language.
03 / Keep the same rule
Does a proposed reading hold together?
Align a cipher fragment with a proposed plaintext. A repeated cipher letter must retain its meaning wherever it occurs. Apply the resulting partial key to another passage.
The dot · marks an unassigned letter. A consistent crib supplies a partial substitution. Evidence for a reading also requires recovery beyond the words used to choose that key.
Now compare with the book
What happened with the manuscript?
Inspect the keys returned by the restricted search, their output, and the controls they had to beat.
Measurements, sources and reproducibility
H1 measures the observed distribution of individual units. H(next|current) measures uncertainty in the next unit, given the preceding one. Both use plug-in frequency estimates, in bits. IoC is the fraction of ordered pairs of distinct positions carrying the same unit. Small windows give unstable estimates. Here they describe the displayed sample.
Source excerpts come from the frozen computational inputs to the book’s restricted key-search experiment. Each retains its source classification and normalization record. Download the recorded results and source hashes. The browser experiments use this readable implementation.
For substitution, polyalphabetic, homophonic and transposition definitions, see Menezes, van Oorschot and Vanstone, Handbook of Applied Cryptography, §7.3. The verbose two-letter code is a constructed teaching example.