Experiment 201

“F6.20, part 2: the turning grille with the grid copied out by columns, before or after a repeating key on the table; free keys of 1-4 letters and every key word of 7 or more, every card, exact, with planted grilles (rerun of 0200)”

Rerun of 0200, which ran out of time (60 minutes) in its key-word arm and left no record. 0199 with the one remaining read-off: the card is written through by rows as before, but the filled grid is copied out column by column (written by columns and copied by rows is the transpose of this, the same set of moves). A known letter's carved place then depends on empty cells the search has not yet placed, so each landing guesses how many empty cells precede it and the guess is checked as they appear; new since 0200, the guesses must nest (a landing further along the copy-out has every empty cell an earlier one has), which cuts the search two- to eightfold. Free keys exact to 4 letters (5 costs about 10^9 nodes per setting); every key word of 7 letters and up as in 0199; a clock guard records any arm cut short.

revertedstatus
experiment 200parents
71 mintime, all phases
0candidates
0/24known letters
unclocked
1

The experiment method

What the method does with the 24 known letters.

A turning grillea turning grille A square card with holes cut so that, turned a quarter at a time through four positions, it uncovers every square of a grid exactly once. is a square card with holes in it. Lay it on a 10 by 10 grid and write the messagethe message The 97 letters of English that Jim Sanborn wrote and enciphered. through the holes; turn the card a quarter and write on; after four turns every square holds a letter (here three stay empty, since the message has 97). Copy the grid out row by row and the letters are scrambled. We ask whether such a card, with a repeating secret wordthe secret word The word or string a cipher needs besides the method. on 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., could have made K4the carved letters The 97 letters cut into the copper at the CIA, shown at the top of every experiment page.. There are a thousand million million cards, too many to try one by one, but the known words rule most of them out a few squares in, so a careful search can check every card.

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.

OBKRUOXOGHULBSOLIFBBWEASTNORTHEASTOTWTQSJQSSEKZZWATJKLUDIAWINFBBERLINCLOCKWGDKZXTJCDIGKUHUAUEKCARa card: ochre squares are the holes in the first position; each quarter turn opens 25 more, four turns cover all 10097 letters through the holes, three squares left empty; the grid copied out column by column1,125,899,906,842,624 cards per procedure; 4 procedures, key after or beforeany key of 1-4 letters, every card: landing maps that fit (K4, ten scrambled copies, planted cards P)K410PPevery key word of 7-28 letters (200,563 words, 24 conventions): settings with a card that fitsK410PPnothing fitssomething fitsplanted cards found: free keys yes, yes; the key-word plants were cut by the clock after K4 and every copy had finished (P open); the run's self-check found 16 of 16 planted wordsEASTNORTHEASTBERLINCLOCKIN: THE COPPER, ALL 97 LETTERS, THE 24 KNOWN PLACES IN ACCENTOUT: NO READING; COPIED OUT BY COLUMNS, NO GRILLE FITS K4 EITHER
the idea

The same grille with the filled grid copied out column by column instead of row by row.

the check

Every card, any key of 1-4 letters and each of 200,563 words, after or before; the search guesses how many empty squares precede each known letter and checks the guess as they appear.

the bound

No card fits K4 or any of ten copies in either arm. The free-key plants are found; the two English key-word plants were cut by the clock after every copy had finished, and the self-check found 16 of 16 planted words. Free keys of 5-26 letters blocked by cost.

2

Experiment lineage

What this experiment was built on, from the lineage page: 9 experiments before it, back to the root of its line. Its number is in bold.

kept reverted, in its family's colour ×error or timeout reverted under today's rules built on a parent in the same family built on a parent in another family
3

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 under Result and bounds below.

4

Walkthrough, by hand

Redo the method on a few letters with pencil and paper.

  1. Cut 25 holes in a 10 by 10 card so that turning it four times uncovers every square once.
  2. Lay it on the grid and write the first 25 letters through the holes, row by row.
  3. Turn the card a quarter clockwise and write the next 25; and twice more. The last three holes stay empty.
  4. Copy the grid out row by row, skipping the empty squares: 97 letters.
  5. Encipher those 97 on the table with a repeating key word (or encipher first, then use the card).
  6. To test a card against K4: follow each known letter to its square, read the carved letter there, and see whether the key letters it demands repeat with the key's length or spell the key word.
the worksheet: the first steps by hand, on squared paper
placeknownwritten onsquarecarved placecarved22Eturn 0row 9 col 877D26Nturn 1row 1 col 11O34Tturn 1row 4 col 214S64Bturn 2row 6 col 325V74Kturn 2row 10 col 329REach known letter lands on one carvedletter; with a repeating key, two knownletters in the same key slot must askfor the same key letter. The searchmakes that check for every card as eachletter lands, and finds no card on whichall 24 agree.ONE CARD, COPIED OUT BY COLUMNS: WHERE FIVE KNOWN LETTERS LAND
5

Worked example, generated

The same steps run by the code on the real letters.

a card: the turn on which each square is written (0-3), clockwise, copied out by rows

  1 0 3 2 1 2 3 0 1 2
  0 3 2 1 0 1 2 3 0 1
  3 2 1 0 3 0 1 2 3 0
  2 1 0 3 2 3 0 1 2 3
  1 0 3 2 1 2 3 0 1 2
  0 3 2 1 0 3 0 1 2 3
  1 0 3 2 1 0 1 2 3 0
  2 1 0 3 2 1 2 3 0 1
  3 2 1 0 3 2 3 0 1 2
  0 3 2 1 0 3 0 1 2 3

the holes of the first position are the 0s; the 97 letters fill the 0s row by row, then the 1s, 2s, 3s;
the last three 3s stay empty

place  known  lands at  carved
   22      E        77       D
   26      N         1       O
   34      T        14       S
   64      B        25       V
   74      K        29       R
6

Hypothesis, for a cryptanalyst

Family, key space, the constraint under test, and the clues it reads.

C1(a) (a matrix stage, then the table), C3 (Sanborn's 'spatial systems... pattern, light and shadow': a grille is a card held to the light), C5 (a hand system keyed by 'key word/s'). Source: reports/agent-memorized-hand-ciphers.md (Fleissner 1881; German army 1916; Abwehr and RS44 stencils, Lewis, German Agent Systems). Model: c = T(sigma(p)) (order A) or sigma(T(p)) (order B), sigma the grille's permutation, T a periodic tableau key. Search: the top half of the grid in row order; a cell's rank in its turn is the count of earlier top cells of that turn, its 180-degree partner (turn + 2) has rank 24 minus that count, so both message places are known at once. Free key: each slot's value is set by its first known letter and checked by the rest; key words: every letter is a check (24 checks against about 50 bits of card). Count: distinct landing maps (the carved squares of the 24 known letters), since cards that differ only where unknown letters go are one reading of the known ones. Statistic fixed before the run: free key, per procedure and order, the shortest length with a landing map that fits and the cells (order, length) where K4's count exceeds every copy's; key words, the number of (word, convention, order, procedure) settings with a map, K4 against each copy. Measured cost: a free key of 7 letters takes 10^8-10^9 nodes per setting, 12 letters over 2 x 10^9: lengths 7-26 with a free key are blocked by cost. Not tested: stencils with arbitrary holes, the Abwehr's 13x19 card (no remembered rule for its holes in the source).

7

Prediction

Written before the run; the result decides it.

No card fits K4 with any key of 1-6 letters or any key word, in either order and any procedure; the scrambled copies the same. Each planted grille is found, on its own landing map. The grille plus a key makes the two fingerprints together at the random-letter rate (zero in 2,000). Zero candidates.

8

Method

  1. Orbits: the 25 cells of the top-left quarter; a card is one turn (0-3) per orbit.
  2. Walk the top half in row order; at a cell whose orbit is new, branch over its four turns; place the message letter there (turn, rank) and at the 180-degree partner (turn + 2, rank 24 minus).
  3. Mark the three empty cells (last three of turn 3, or first three of turn 0); a carved place is the row position less the empty cells before it.
  4. Each known letter landed: key slot = carved place (A) or message place (B) mod the length; free key: set or check the slot; key word: compare with the word's letter. Prune on a clash; stop a branch once all 24 landed.
  5. Every procedure, order, class and length 1-6, then every key word on 24 conventions, on K4, ten copies and four plants; compiled, checked against a literal Python builder on 25,600 cards and 32 plants.
9

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

Plants: free key cw, out by columns, empty cells at the start A: found True; free key ccw, out by columns, empty cells at the end B: found True; key word ccw, out by columns, empty cells at the start B: found False; key word cw, out by columns, empty cells at the end A: found False. Free keys 1-4: K4 fits 0 settings; K4 above every copy in 0 cells, copies 0-0. Key words (200,563): settings with a card K4 0, copies 0-0.

What was searched, as the harness recorded it.

family
10x10 turning grille (25 holes, three empty cells), then or before a repeating key on the standard/KRYPTOS tables; exact constraint search
cards per procedure
1,125,899,906,842,624
procedures
cw, out by columns, empty cells at the end, cw, out by columns, empty cells at the start, ccw, out by columns, empty cells at the end, ccw, out by columns, empty cells at the start
orders
A
grille, then key
B
key, then grille
texts
K4, 10 scrambled copies (seed 1620), 4 planted grilles
free key
lengths
1-4
classes
std/std/vig-var, std/std/beau, std/kry/vig-var, std/kry/beau, kry/std/vig-var, kry/std/beau, kry/kry/vig-var, kry/kry/beau
per procedure
cw, out by columns, empty cells at the end
A
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
cw, out by columns, empty cells at the start
A
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
ccw, out by columns, empty cells at the end
A
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
ccw, out by columns, empty cells at the start
A
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
B
k4 placements by length
0, 0, 0, 0
copies placements by length max
0, 0, 0, 0
incomplete lengths any text
none
k4 shortest fit
None
copies shortest fit
None, None, None, None, None, None, None, None, None, None
k4 above every copy
none
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
k4 fits
none
k4 cells above every copy
0
copy cells above rest
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
search nodes
33,399,729,578
seconds
578
blocked
lengths 7-26: one setting costs 0.9-7 x 10^8 nodes at length 7 and over 2 x 10^9 at 12 (measured on K4), about 10^5 settings: blocked by cost
key words
words
200,563
lengths
7-28
conventions
std/std/std/vig, std/std/std/beau, std/std/std/var, std/std/kry/vig, std/std/kry/beau, std/std/kry/var, std/kry/std/vig, std/kry/std/beau, std/kry/std/var, std/kry/kry/vig, std/kry/kry/beau, std/kry/kry/var, kry/std/std/vig, kry/std/std/beau, kry/std/std/var, kry/std/kry/vig, kry/std/kry/beau, kry/std/kry/var, kry/kry/std/vig, kry/kry/std/beau, kry/kry/std/var, kry/kry/kry/vig, kry/kry/kry/beau, kry/kry/kry/var
source
the vocabulary, puzzle phrases, kryptos/data/words.txt
settings per text
38,508,096
k4 settings with a card
0
copies settings with a card
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
k4 hits
none
search nodes
119,019,994,785
seconds
2,879
texts complete
yes, yes, yes, yes, yes, yes, yes, yes, yes, yes, no, no, no, no, no
plants
  1. arm
    free key
    procedure
    cw, out by columns, empty cells at the start
    order
    A
    class
    std/kry/beau
    length
    4
    placements fitting at its setting
    1
    complete
    yes
    planted card found
    yes
    placements at shorter lengths
    0
  2. arm
    free key
    procedure
    ccw, out by columns, empty cells at the end
    order
    B
    class
    kry/std/beau
    length
    4
    placements fitting at its setting
    4
    complete
    yes
    planted card found
    yes
    placements at shorter lengths
    0
  3. arm
    key word
    procedure
    ccw, out by columns, empty cells at the start
    order
    B
    convention
    kry/kry/std/beau
    word
    UNGUIDABLY
    words fitting at its setting
    0
    planted word found
    no
    planted card found
    no
    settings fitting anywhere
    0
  4. arm
    key word
    procedure
    cw, out by columns, empty cells at the end
    order
    A
    convention
    std/kry/std/var
    word
    REMOTENESS
    words fitting at its setting
    0
    planted word found
    no
    planted card found
    no
    settings fitting anywhere
    0
stop queue
no
self check
planted cards found by full search
16
planted words found by keyword arm
16
cards compared
25,600
of which fit
3,108
note
the compiled walk agrees with the literal Python builder (turn the card, fill holes by rows, copy out) on every card compared
fingerprints F7
grille, then a length-7 key
column
0.001
repeats21
0.015
both
0
length-7 key, then the grille
column
0.002
repeats21
0.013
both
0
grille, then a length-21 key
column
0.002
repeats21
0.004
both
0
length-21 key, then the grille
column
0.003
repeats21
0.002
both
0
calibration: random letters
column
0.003
repeats21
0.002
both
0
not tested
free keys of 7-26 letters (cost); stencils with arbitrary holes (any permutation); the Abwehr's 13x19 card (no rule for its holes in the source)
seconds
3,464
exhaustive
yes for both arms: every card, every procedure, both orders; free keys 1-6, key words 7 letters and up

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-11-05 17:14 UTC; updated after every experiment.
view on GitHub