“Do the two crib runs force a readable key, with the copper exact or off by one letter?”
Instead of matching forced key fragments against a word list, score them as English. Add the one-letter-error parameter: a letter inserted or deleted at every position.
If the fourth messagethe message The 97 letters of English that Jim Sanborn wrote and enciphered. used a secret word with the sculpture's tablethe table The right-hand half of the sculpture, 26 rows of the alphabet each shifted one place further, starting from the word KRYPTOS., the 13 known letters of EASTNORTHEAST pin down 13 letters of that secret word in a row, and BERLINCLOCK pins down 11 more. A secret word made of English should look like English in those stretches. We read them off under every way the table can be used and ask a simple question: does any stretch look like English rather than noise? We also allow for the sculptor having dropped or added one letter somewhere, as he did in the second message, which would shift everything after that point by one.
Words in the margin are defined on the glossary page.
1.1
The method at work
The carved letters go in at the top; the reading comes out at the bottom.
the forced letters
At a key length of 27 or more, the 13 known letters of EASTNORTHEAST and the 11 of BERLINCLOCK each force a run of consecutive key letters. If the key were English words, those runs would read like English.
the scale
Every run was scored under all 24 ways of using the table, with the copper exact or one letter added or dropped anywhere: 9,408 runs. The best, FNOEEADIAG, sits 2.3 standard deviations above random letters and 3.0 below English.
the verdict
That is what the best of thousands of noisy runs looks like. The forced key is not an English phrase on the sculpture's alphabets.
2
Best candidate against the known letters
This experiment produced no candidate: the search ruled everything out before a full text was built. Its product is the bounded negative in section 7.
3
Walkthrough, by hand
Redo the method on a few letters with pencil and paper.
Take the convention: plaintext and key on the sculpture's alphabet, Vigenere.
Position 22 is plaintext E, ciphertext F. In the sculpture's alphabet E is index 10 and F is index 11, so the key letter has index 1: R.
Position 23 is A against L: A is 7, L is 18, key index 11: D.
Carry on through position 34 to get 13 key letters in a row.
Read them aloud. A real key word gives something like a word; noise gives something like RDQXJ.
Score it by counting how common each run of four letters is in English.
Now suppose the sculptor dropped a letter somewhere before position 22: shift the ciphertext one place and repeat.
The best stretch across all of this is the answer; compare it with real English windows of the same length.
the worksheet: the first steps by hand, on squared paper
4
Worked example, generated
The same steps run by the code on the real letters.
forced key stretch under EASTNORTHEAST, convention kry/std/kry Vigenere, exact copper
pos plain cipher key letter
22 E F Q
23 A L T
24 S R E
25 T V L
26 N Q W
27 O Q E
28 R P H
29 T R G
30 H N Z
31 E G U
32 A K P
33 S S F
34 T S H
stretch: QTELWEHGZUPFH score -7.72 per quadgram (English about -3.6, noise about -6.5)
5
Hypothesis, for a cryptanalyst
Family, key space, the constraint under test, and the clues it reads.
Under any periodic tableau whose period the cribs allow (27 and above, 0005), EASTNORTHEAST at 22-34 forces 13 consecutive key letters and BERLINCLOCK at 64-74 forces 11, under each of the 24 conventions. If the key is a word or phrase, as Scheidt insists (C5, C6), those stretches must read as English. Schridde 2017 found them gibberish under the plain tableau; 0005 matched them against 62 vocabulary words and K1-K3 windows only. This experiment scores every stretch by quadgram log-probability per letter and compares it with the distribution of random strings and of true English windows of the same length from K1-K3. Then the one-letter-error parameter (family G, C17, C18, the K2 precedent): a letter inserted or deleted at each of 97 positions shifts the ciphertext under every crib past that point by one, giving new stretches. Expected under the null: the best of about 9,400 stretches sits around two standard deviations above the random mean and well below the English mean. Bounds: all 24 conventions, exact copper and every single insertion or deletion, both crib runs, keys at any period of 27 or more.
6
Prediction
Written before the run; the result decides it.
No forced stretch scores as well as a typical English window of its length. The best stretch scores below -4.5 per quadgram, against about -3.6 for English and about -6.5 for noise. Allowing one inserted or deleted letter does not change that. Zero candidates pass.
7
Method
For each convention, force the key letter at each crib position from the plaintext and the ciphertext letter.
Join the forced letters of positions 22-34 into a 13-letter stretch and 64-74 into an 11-letter stretch.
Score each stretch by mean log10 quadgram probability.
Repeat with the ciphertext altered by one deleted letter at each position, then by one inserted blank at each position, which shifts every crib beyond that point.
Calibrate: score all 13- and 11-letter windows of the K1-K3 plaintexts, and 20,000 random strings.
Report the best stretches with their z-scores against both distributions.
8
Result and bounds
The harness's record: candidates, gates, loss, and the negative result this experiment leaves behind.
0candidates returned
0passed every gate
0/24known letters, best
–lowest loss
nonechampion before
Diagnostic: no full key is implied, so no candidates. The verdict is the gap between the best stretch and the English distribution.
What was searched, as the harness recorded it.
family
periodic tableau, separate alphabets, period 27+; forced key stretches scored as English
conventions
24
copper variants
196
stretches scored
9,408
calibration mean sd
english 13
-4.251, 0.466
english 11
-4.252, 0.518
random 13
-8.292, 0.98
random 11
-8.295, 1.08
best overall
score
-5.795
stretch
FNOEEADIAG
copper
inserted before 74
convention
kry/std/std/vig
run
64-74
z vs random
2.32
z vs english
-2.98
best exact copper
score
-6.149
stretch
FNOEEADIAGK
copper
exact
convention
kry/std/std/vig
run
64-74
z vs random
1.99
z vs english
-3.66
top ten
score
-5.795
stretch
FNOEEADIAG
copper
inserted before 74
convention
kry/std/std/vig
run
64-74
z vs random
2.32
z vs english
-2.98
score
-5.852
stretch
FNOEEADIAP
copper
inserted before 73
convention
kry/std/std/vig
run
64-74
z vs random
2.26
z vs english
-3.09
score
-5.926
stretch
SVICPIFGROWH
copper
inserted before 34
convention
kry/std/kry/varbeau
run
22-34
z vs random
2.41
z vs english
-3.59
score
-5.947
stretch
SVICPIFGROWF
copper
inserted before 33
convention
kry/std/kry/varbeau
run
22-34
z vs random
2.39
z vs english
-3.64
score
-5.99
stretch
FQXDESREPO
copper
inserted before 70
convention
std/std/kry/vig
run
64-74
z vs random
2.13
z vs english
-3.36
score
-6.012
stretch
FNOEEADIAGW
copper
deleted 74
convention
kry/std/std/vig
run
64-74
z vs random
2.11
z vs english
-3.4
score
-6.043
stretch
JLJODEIGNOSKH
copper
deleted 28
convention
std/std/std/beau
run
22-34
z vs random
2.29
z vs english
-3.84
score
-6.061
stretch
FNOEEADIABW
copper
deleted 73
convention
kry/std/std/vig
run
64-74
z vs random
2.07
z vs english
-3.49
score
-6.077
stretch
SYMORCHLKT
copper
inserted before 67
convention
std/kry/std/vig
run
64-74
z vs random
2.05
z vs english
-3.52
score
-6.078
stretch
PAGIFORWLYA
copper
deleted 9
convention
std/kry/kry/beau
run
64-74
z vs random
2.05
z vs english
-3.53
exact copper all 24
score
-6.149
stretch
FNOEEADIAGK
copper
exact
convention
kry/std/std/vig
run
64-74
z vs random
1.99
z vs english
-3.66
score
-6.151
stretch
SVICPIFGROWHF
copper
exact
convention
kry/std/kry/varbeau
run
22-34
z vs random
2.18
z vs english
-4.08
score
-6.818
stretch
SJRXTUOSORAMN
copper
exact
convention
std/kry/std/varbeau
run
22-34
z vs random
1.5
z vs english
-5.51
score
-7.004
stretch
QRTPHIUUARAYZ
copper
exact
convention
std/kry/std/beau
run
22-34
z vs random
1.31
z vs english
-5.91
score
-7.178
stretch
ELYOIECBAQK
copper
exact
convention
kry/kry/kry/vig
run
64-74
z vs random
1.03
z vs english
-5.65
score
-7.205
stretch
CECHPTSDQDDDE
copper
exact
convention
std/std/kry/beau
run
22-34
z vs random
1.11
z vs english
-6.34
score
-7.304
stretch
XYHANZEFHYHMK
copper
exact
convention
kry/kry/std/beau
run
22-34
z vs random
1.01
z vs english
-6.55
score
-7.383
stretch
UGUHMRUKAFK
copper
exact
convention
std/kry/std/beau
run
64-74
z vs random
0.84
z vs english
-6.05
score
-7.467
stretch
ICXUEILMNSK
copper
exact
convention
kry/kry/kry/varbeau
run
64-74
z vs random
0.77
z vs english
-6.21
score
-7.477
stretch
JLJODEGKUKKKL
copper
exact
convention
std/std/std/beau
run
22-34
z vs random
0.83
z vs english
-6.92
score
-7.532
stretch
RDUMRIYWOYNKY
copper
exact
convention
kry/kry/kry/vig
run
22-34
z vs random
0.78
z vs english
-7.04
score
-7.558
stretch
VNMWWAXSAUQ
copper
exact
convention
kry/std/std/varbeau
run
64-74
z vs random
0.68
z vs english
-6.38
and 36 more
How this experiment sits among the others is on the lineage page; its family's open hypotheses are on the families page.
Rendered from the record on 2026-10-18 12:26 UTC; updated after every experiment.