After 118 experiments none has beaten the scrambled coppers. Following up on a result needs a result that beats chance, and there has been none, so the work is a sweep. From here on the sweep follows a fixed order, set before any further run:
- Families are worked in the rank order below. Within a family, open items are taken from the top.
- A family is left only when every item in its table is
closedorblocked:closedmeans an exact test, or a sampled test with scrambled-copper controls at stated power, rules the item out.blockedmeans it cannot be tested with the 24 known letters alone, for example because it needs a source text we lack or it leaves no checks. The reason is written down.
- Reverts no longer force a pivot. A revert that closes an item is progress.
- Every experiment names the item it works on (for example "F1.2") and the strength it reached: exact, sampled or weak. A weak test leaves the item open.
- A result outside the scrambled-copper range stops the queue. It is replicated against fresh controls before anything else, as 0100 was by 0102.
- The ranking changes only at a family boundary, with the reason in the pivot log.
Per-experiment grades (outcome, strength, whether the known letters were fitted by
construction) are in grades.tsv.
Ranking
| Rank | Family | Clue support | What is left | Cost of what is left | Status |
|---|---|---|---|---|---|
| 1st | F1 one keyed stage, no move | strong: K1 and K2 are Quagmire III on KRYPTOS; Sanborn's "slightly different" tableau (C27c) | nothing testable within budget: residues blocked by the English bound (0136) or by cost (F1.4, F1.7) | - | done (P7, 2026-10-17): every item closed or blocked; F1.2 length 13 reopened 2026-10-27 by A6.2 (0226: 9 of 12 Sanborn-style plants, under the 4/5 bar); F1.1 Beaufort 23 and 26 reopened the same day (0228, 0229: Sanborn-style power at 23 pooled 32 of 48, under 6 of 8; at 26 clean 13 of 24, under 5 of 6) |
| 2nd | F6 a move, then the table | strong: Sanborn's "matrix codes... then went back to this table" (C1) | nothing testable within budget: F6.1, F6.2 blocked by cost; the full type-1 library squared for F6.6 not run | low to medium | done (P8, 2026-10-17): every item closed or blocked; reopened 2026-10-20 for F6.20, F6.21 (#78), closed again 2026-10-20 (P17): F6.20 closed for key words and short free keys (0199, 0201), F6.21 closed (0202-0204) |
| 3rd | F12 Stein's way: look, quantify, then crib | strong precedent: the only hand solution of K1-K3 (Stein, 1998, 400 hours, pencil; Studies in Intelligence 1999); Stein on K4: "interesting patterns in here as well" | nothing testable here: F12.1 needs photographs of the copper | - | done (P9, 2026-10-17): F12.1 blocked, F12.2-F12.7 closed |
| 4th | F3 two-part key with a combiner | medium: Scheidt's "key word/s" (C5), his CKM habit | nothing testable here: the sandwich's 8 long length pairs and the stack's few-check cells too weak; 'the point' as a place needs a survey | - | done (P10, 2026-10-17): F3.1-F3.7 closed |
| 5th | F2 masked plaintext | medium: Scheidt "masked the English language" | nothing testable here: a code layer or another language changes the known letters; a free phrase strip is blocked by the English bound | low | done (P11, 2026-10-17): F2.1-F2.3 closed; reopened 2026-10-20 for F2.4 (#78), closed again (0205, P18) |
| 6th | F4 Sanborn's visual systems | medium, vague | nothing testable here: F4.5's shifted plate order needs Antipodes' layout | - | done (P12, 2026-10-17): F4.1-F4.4 closed, F4.5 blocked for the layout |
| 7th | F10 alphabets that change after every letter | weak to medium: no creator remark; Chaocipher (1918) was offered to US agencies and kept secret until 2010; A9, A10 | nothing testable here: Chaocipher's free wheel by cost, decks by date and bound | - | done (P13, 2026-10-17): F10.1-F10.2 closed, F10.3 blocked |
| 8th | F11 agency hand systems, now public | weak to medium: Scheidt's CIA cryptographic background; Scheidt's "key word/s" (C5) for the poem code; A9 | nothing testable here: Jefferson and M-138-A alphabets not to hand; free word picks and free tables too many | - | done (P14, 2026-10-17): F11.1-F11.4 closed; reopened 2026-10-20 for F11.5 (#78): blocked by cost (P19) |
| 9th | F8 Hill | weak: the HILL column only (C21) | nothing testable here: 3x3 with a free numbering has no checks; the older undecided settings have none either | - | done (P15, 2026-10-17): F8.1 closed for 2x2, blocked for 3x3 |
| 10th | F5 Gromark | weak: no creator remark | nothing testable here: base 26 with lag 6 and longer two-term lags blocked by cost | - | done (P16, 2026-10-17): F5.1 and F5.2 closed; reopened 2026-10-19 for F5.3 (#73), closed 2026-10-20 (0206) |
| 11th | F9 substitution, then a move | against it: Sanborn's NYPVTT to BERLIN mapping | nothing testable here: routes outside every built library are unbounded | - | done (2026-10-17): F9.1 closed; STOP_AFTER reached |
| next | F15 K1-K3 as a guide to K4's content | medium: Sanborn, "I have left instructions in the earlier text that refer to later text" (2005), K4 "will come back to the first part" (2009); no source text exists (#117) | everything: F15.1-F15.6 | low (drafts: a few dollars of Claude calls; searches: one AWS run each) | done (P23, 2026-11-04): F15.1 content model and F15.2 drafts made; F15.3 (0268) found the draft prior no help (English 18/24, drafts 16/24, bar +4), so F15.4-F15.6 closed as weak |
| - | F7 construction simulation | a tool, not a cipher | run before each family's first open item: does its construction make both fingerprints? | low | standing step |
Why this order: F1 and F6 rest on the two most direct creator statements. Both were tested almost entirely on the standard, KRYPTOS and puzzle-word alphabets. An unknown alphabet is the largest axis not yet covered, and it costs less with no move (F1) than after one (F6). F3 and F2 come next because their remaining items are cheap. The rest are closed or blocked except for low-value residues.
Reopened 2026-10-16 (P6, issue #50): most blocked items were blocked for one shared reason, that no test can judge a cell the known letters leave undecided. F1.5 works on that reason directly. Two more were blocked only because nobody had written their list (F6.3b, F9.1). Items blocked by missing information (K5's text, a codebook) stay blocked.
Stage 2, step 1: a positive control for every closed item (A3, issue #73)
Started 2026-10-18 (issue #52's stage 2). A closed item means our search found nothing on K4; no
search has been checked against a planted answer. Each control plants a message made with the item's
own method and a key inside its space, reruns the closing experiment's saved attack.py unchanged on
the planted ciphertext, and requires the plant to be found (tools/positive_control.py; specs in
controls/<ID>/spec.py; results in controls.tsv). Worked example: controls/C-F1.1.
Rules:
- Work the table top down, in family rank order.
- Pick the experiment that carries the item's verdict, usually the last exact one listed. Plant a key
strictly inside the space it searched, not at an edge case, and say which key in
WHAT. foundreads what the attack returns (boundsor candidates) and passes only if the plant is identified as the attack would have identified K4's answer: its key length, setting or reading.- Run the attack unchanged. If it cannot run within the budget, a control may cut the search to a
slice that contains the planted key, and must say so: such a pass is
passed, sliced. - A pass marks the row
passedwith the control's ID. A failure marks itFAILEDand stops the queue: find why, fix the method, rerun the control, then rerun the item on K4 as a new experiment. The item isreopeneduntil both are done. - An item whose experiment has a planted text that already went through the same unchanged search
may cite it (
passed, own plant, with the experiment number) instead of a new control. - Items with several experiments need one control per distinct search the verdict rests on; add
rows
C-<item>b,C-<item>cwhen that applies. - On a restart: first settle any
FAILEDrow (rule 5), then finishin progressrows (controls already written incontrols/but not yet incontrols.tsv; rerun them as they are), then go on withopenrows.
| Control | Item | What it covers | Experiments | Status | Result |
|---|---|---|---|---|---|
| C-F1-1 | F1/1 | Periodic key, standard or KRYPTOS alphabets, periods 1-26 and 30-52 | 0005, crib sweep | passed | C-F1-1 |
| C-F1-2 | F1/2 | Periods 27-29 and 53+ on any alphabet pair the puzzle's words build | 0034, 0035, 0048, 0053 | passed; blocked above 53 | 27-29: C-F1-2 (0048, judged as 0048 judged K4; first judged on 95/97 recovery, 88 reached), C-F1-2c (0053); 53: C-F1-2b (plant 0.74 above its copies, an unplanted period at most 0.34); 80: C-F1-2d no power (0.03, an unplanted period 0.12), so 0034's climb cannot decide above 53 (0136's bound): blocked |
| C-F1-3 | F1/3 | Periodic key on alphabets from any dictionary word | 0109 | passed | C-F1-3 |
| C-F1-4 | F1/4 | Progressive key | 0011, 0042, 0155 | passed | C-F1-4, C-F1-4b, C-F1-4c |
| C-F1-5 | F1/5 | Ciphertext autokey, any lag, on 1,092 keyword tables (63 vocabulary, 102 K1-K3 words,... | 0002, 0025, 0064, 0118 | passed | C-F1-5, C-F1-5b, C-F1-5c, C-F1-5d |
| C-F1-6 | F1/6 | Plaintext autokey, lags 1-52 | 0003, 0012 | passed | C-F1-6, C-F1-6b |
| C-F1-8 | F1/8 | Running key from K1-K3, the sculpture's texts, Carter, Sanborn's letters (Carter on... | 0004, 0017, 0021, 0045, 0047, 0078, 0098, 0117 | passed | C-F1-8, C-F1-8b, C-F1-8c, C-F1-8d, C-F1-8e, C-F1-8f, C-F1-8g, C-F1-8h |
| C-F1-9 | F1/9 | Running key from an unknown English text, standard, KRYPTOS or puzzle-word alphabets | 0009, 0010 | passed | C-F1-9, C-F1-9b |
| C-F1.1 | F1.1 | Free alphabet, the same on both sides (Quagmire III with unknown order), periods 3-26: the exact search | 0119 | passed | 0119's search finds the planted length 9 (8 s) |
| C-F1.1b | F1.1 | Beaufort lengths 23 and 26, decided by F1.5's design-2 decider (sampled) | 0139, 0140, 0142 | passed, own plant | 0139 (6 of 8 plants above all own copies at 23) and 0140 (5 of 6 at 26), the decider that judged K4 in 0140 and 0142 |
| C-F1.2 | F1.2 | Two free alphabets (Quagmire IV), periods 3-26 | 0097, 0121-0124, 0143-0146 | passed | C-F1.2 (0123 finds the planted length 10); sampled lengths: C-F1.2b |
| C-F1.2b | F1.2 | Lengths 8, 13, 16 decided by design 2 on two free alphabets (sampled) | 0143-0146 | passed, own plant | 0145 (4 of 4 at 8), 0143 (5 of 5 at 13, 4 of 5 at 16) |
| C-F1.3 | F1.3 | Forced key stretches read as running English on the 208,062 dictionary alphabets | 0010, 0125 | passed, own plant | 0125: 20 planted running keys through the same search, 11 beat every copy (the stated power) |
| C-F1.5 | F1.5 | A decider for cells the known letters cannot decide | 0120, 0136-0146 | passed, own plant | 0139, 0140, 0143, 0145 (design 2's plants against their own copies); design 1 failed its own check (0138) and carries no verdict |
| C-F1.4 | F1.4 | Hand key schedules other than the Berlin clock and Carter dates | 0126, 0127, 0128 | passed | C-F1.4 (0128, stutter), C-F1.4b (0127, skip) |
| C-F1.6 | F1.6 | One carved letter wrong, missing or extra, run through the exact unknown-alphabet... | 0147, 0148, 0150, 0151, 0152 | passed | C-F1.6 (0147; rerun: the first plant's restoring variant fell past 0147's 200-entry list), C-F1.6b (0150), C-F1.6c (0151 Hill; rerun after the spec's plant errored), C-F1.6d (0151 trifid) |
| C-F1.7 | F1.7 | Autokey on one unknown alphabet | 0149 | passed | C-F1.7 |
| C-F1.8 | F1.8 | Carter's book as a running key on one unknown alphabet (both directions, every offset,... | 0153 (error), 0154 | passed | C-F1.8 |
| C-F1.9 | F1.9 | Progressive key, per-letter and per-repeat, on keyword-mixed and dictionary tables;... | 0155 | passed | C-F1.9 (per-repeat, Beaufort); C-F1-4c (per-letter) on the same search |
| C-F1.10 | F1.10 | Friedman's keyword-only key-advance schedules (run length by value, CHRISTMAS,... | 0156 | passed | C-F1.10 |
| C-F1.11 | F1.11 | A split key phrase (Elementary Military Cryptography par. 59d) | 0157 | passed | C-F1.11 |
| C-F6-1 | F6/1 | Columnar (plain, keyed, double), K3's rule, quarter turns, grid paths, rail fence,... | 0006-0008, 0026, 0058, 0080-0086, 0099, 0110-0114 | passed | C-F6-1 (0110 keyword columnar), C-F6-1b (0008 K3 rule), C-F6-1c (0099 turns), C-F6-1d (0113 rail fence), C-F6-1e (0114 AMSCO), C-F6-1f (0111 Myszkowski), C-F6-1g (0112 double columnar); 0006/0007/0026/0058/0080/0082/0086 not controlled separately (same tester or covered by F6.4, F6.7) |
| C-F6-2 | F6/2 | The same moves with autokey, running key or clock schedules | 0063, 0081, 0090, 0091 | passed | C-F6-2 (0081 plaintext autokey; rerun twice for the spec's keys into 0081's counts), C-F6-2b (0081 ciphertext autokey), C-F6-2c (0090 running key), C-F6-2d (0091 clock) |
| C-F6-3 | F6/3 | Three stages | 0037, 0083, 0134 | passed | C-F6-3 (0083), C-F6-3b (0134); 0037 sampled, not controlled |
| C-F6.3b | F6.3b | Mixed triples of the four column readings at widths 25-96 | 0037, 0158 | passed | C-F6.3b |
| C-F6-5 | F6/5 | One carved letter wrong, missing or extra, through the move library | 0093, 0094 | passed | C-F6-5 (0093), C-F6-5b (0094: identified by variant, order and length; 0094 does not name the move) |
| C-F6.4 | F6.4 | Padding applied separately at each grid stage; nulls dropped between griddings | 0082, 0135 | passed | C-F6.4 |
| C-F6.5 | F6.5 | Direction words as routes through the grid | 0159 | passed | C-F6.5 |
| C-F6.6 | F6.6 | Move, change, move again | 0160 | passed | C-F6.6 |
| C-F6.7 | F6.7 | Change, move, change with the two keyed stages on different tables | 0161 | passed | C-F6.7 (14 checks; 0161 kept copies' counts only to 8 checks, where they reach 0-4) |
| C-F6.8 | F6.8 | Three-stage routes with a keyword columnar stage | 0037, 0083, 0134, 0162 | passed | C-F6.8 |
| C-F6.9 | F6.9 | Both autokeys with 0084's double columnar routes | 0084, 0085, 0163 | passed | C-F6.9, C-F6.9b (identified by the top survivor's check count, 22 and 14: 0163 does not name routes) |
| C-F6.10 | F6.10 | Padded grids whose blank cells are chosen by a key | 0082, 0135, 0165 | passed | C-F6.10 |
| C-F6.11 | F6.11 | Keyword-disrupted and triangle columnar transpositions | 0164 | passed | C-F6.11, C-F6.11b |
| C-F6.12 | F6.12 | EVA double triangle | 0166 | passed | C-F6.12 |
| C-F6.13 | F6.13 | Chiffre XIII's five-row mask, then its period-5 shifted mixed alphabet | 0166 | passed | C-F6.13 |
| C-F6.14 | F6.14 | Nihilist transposition on a 10 x 10 square with three blanks | 0167 | passed | C-F6.14 |
| C-F6.15 | F6.15 | Sanborn's "1-2-3" spacing of the raised YAR as an ordering | 0166 | passed | C-F6.15 |
| C-F6.16 | F6.16 | Interrupted-key columnar transposition | 0164 | passed | C-F6.16, C-F6.16b |
| C-F6.17 | F6.17 | Trapezoid transposition | 0164 | passed | C-F6.17 |
| C-F6.18 | F6.18 | Letters reshuffled inside each row by a keyword at widths other than 7 | 0070, 0165 | passed | C-F6.18, C-F6.18b |
| C-F6.19 | F6.19 | The French diagonal method | 0165 | passed | C-F6.19 |
| C-F12.2 | F12.2 | Quantify the impressions: K4's statistics by segment and by width (letter counts per... | 0168 (before: 0056 measured two of the patterns) | FAILED: no power; item blocked | C-F12.2: a period-7 Vigenere gives I.C. at 7 at p 0.004, C-F12.2b: two halves on two shifts p 0.01; neither leaves every one of 1,000 shuffles, the item's criterion. The criterion cannot see such structure in 97 letters |
| C-F12.3 | F12.3 | His I.C. peak at m = 13 in both K1 and K2 (C28): real or chance | 0169 (before: 0005, 0011 tested period 13 on K4 only) | not applicable | 0169 reads K1 and K2 from data/, not ctx.K4: a p-value on the published texts, not a search on K4; nothing to plant without editing data files |
| C-F12.4 | F12.4 | A pencil session: K4 written out at the widths that matter, the known letters marked,... | 0170 | FAILED: no power; item blocked | C-F12.4: a period-4 key, spacings divisible by 4 p 0.052; C-F12.4b: a simple substitution, repeated bigrams p 0.022; neither outside every shuffle |
| C-F12.5 | F12.5 | Parts with their own keys (A7): K4 split where F12.2 or F12.4 finds a break, or at the... | 0171 | passed | C-F12.5 |
| C-F12.6 | F12.6 | Probable words, his breakthrough (THE, then KNOW): common English words and the words... | 0172 (before: 0095 dragged riddle words at the live periods only) | FAILED: no power; item blocked | C-F12.6: two free alphabets at 8, the plant's consistent placements 481 against copies 518-780: true placements do not raise the count in an undecided cell |
| C-F12.7 | F12.7 | His K1-K3 method as such: every shift of each column written out, columns scored by... | 0005, 0034 | passed | cites C-F1-1 (0005's search, which the item rests on) |
| C-F3-1 | F3/1 | Two words added, both from the puzzle, or one from the dictionary | 0014, 0043, 0059, 0115 | passed | C-F3-1 (0115), C-F3-1b (0014), C-F3-1c (0059; 0043 is the same code on other alphabets) |
| C-F3-2 | F3/2 | A word plus digits from the story (coordinates, dates, counts) | 0024, 0038 | passed | C-F3-2 (0038; 0024 is the same code) |
| C-F3-3 | F3/3 | A word plus the misspelt or raised letters | 0061 | passed | C-F3-3 |
| C-F3-4 | F3/4 | Column word plus row key | 0087, 0088 | passed | C-F3-4 (0087, with K3's rule as the move), C-F3-4b (0088) |
| C-F3.1 | F3.1 | Combiners other than addition (subtraction both ways is done; table lookup through a... | 0173, 0174 | passed, own plant | 0174: two plants through the full search, found 2/2; 0173: three plants decided in their own cell by the same decide(), live 3/3 (sliced to the cell) |
| C-F3.2 | F3.2 | Numeric second parts from the Morse (E counts) and the plate layout (line lengths) | 0175 (before: 0038 did 17 digit readings) | passed | 0175's own plant (repeating readings) and C-F3.2b (the one-number-per-place branch) |
| C-F3.3 | F3.3 | Direction words as numbers (A14(b)): east-northeast as a bearing (67.5 degrees: 6, 7, 5... | 0176 (before: 0072 used direction words as keyword alphabets) | passed, own plant | 0176: 6 7 5 plus SHADOW through the same scan, found |
| C-F3.4 | F3.4 | Three or more stacked tables (US 6,075,865 with N = 3; Sanborn's "triple matrixes") | 0177 (before: 0043, 0059 two passes) | passed, own plant | 0177: three plants decided in their own cell by the same decide(), live 3/3 (sliced to the cell) |
| C-F3.5 | F3.5 | The misspelt letters' positions as indices (Q in IQLUSION, U in UNDERGRUUND, A in... | 0178 (before: 0061 used the letters) | passed, own plant | 0178: 2 8 5 plus SHADOW, found |
| C-F3.6 | F3.6 | The Weltzeituhr's rotating ring as an offset over 26 letters (C12(b)): 24 zones, the... | 0179 (before: 0052) | passed | 0179's own plant and C-F3.6b (the ring turning through the text, the other branch) |
| C-F3.7 | F3.7 | "Point" read as the decimal point in K2's "six point five", as the place on the... | 0180 (before: 0072) | passed, own plant | 0180: the four ? plus SHADOW, found |
| C-F2-1 | F2/1 | Reversal, regular nulls, prefix nulls, affine masks, doublets as nulls, nulls by letter | 0023, 0057, 0074, 0075 | passed | C-F2-1 (0023 regular nulls), C-F2-1b (0057 nulls by letter), C-F2-1c (0074 affine mask), C-F2-1d (0075 doublet null); periodic arms only, the autokey arms of 0074 and 0075 share the forced-key code |
| C-F2-2 | F2/2 | Message written along grid paths | 0092 | passed | C-F2-2 (0092) |
| C-F2.1 | F2.1 | Forced fragments at periods 24-25 after letter strike-outs not matched against words | 0181 (before: 0057) | passed | C-F2.1 (the forced reading pins the plant; 64 settings with a word against copies 0-3) |
| C-F2.2 | F2.2 | Nulls placed by a rule (after every X, after each crib word) | 0182 | passed | C-F2.2 (gap 7 above every copy; gaps 15 and 23 also give length 8: a period-8 key cannot tell d from d+8) |
| C-F2.3 | F2.3 | A plain component written from a phrase with repeated letters, so a letter can be... | 0183 | passed | C-F2.3 |
| C-F4-1 | F4/1 | Trifid, any cube, periods 2-15 | 0040 | passed | C-F4-1 (0040: the planted period and offset admit cubes, the only setting that does; the 5,000-cube cap stops short of the true cube, so the reading is not returned; first run judged on the reading, FAILED, check matched to 0040's verdict) |
| C-F4-2 | F4/2 | The plates as a key by position, straight or folded | 0089 | passed | C-F4-2 (0089; PATCH drops a K4 self-check) |
| C-F4-3 | F4/3 | Read from behind the screen | 0108 | passed | C-F4-3 |
| C-F4.1 | F4.1 | A route that follows the plates' physical layout (the S-curve, the 31-letter lines as a... | 0184 (before: 0092) | passed | C-F4.1 |
| C-F4.2 | F4.2 | Free trifid cubes at periods above 15 | 0185 (before: 0040 (2-15), 0033) | passed | C-F4.2 (0185's own plant went through solve_setting directly, not the sweep, so a new control) |
| C-F4.3 | F4.3 | The positions of the sculpture's physical anomalies as a key (C3(c)) | 0186 | passed | C-F4.3 |
| C-F4.4 | F4.4 | The extra L and the HILL row as a marker matching YAR on the lower-left plate (C21(b)) | 0005, 0017, 0089, 0186 | passed (cited) | by subsumption: C-F1-1 (0005), C-F1-8b (0017), C-F4-2 (0089), C-F4.3 (0186) |
| C-F10.1 | F10.1 | Chaocipher: two alphabet wheels permuted after every letter (Byrne, 1918; method... | 0187 | passed, own plant | 0187: plants added to the texts and through the same scan_rot as K4: consistent 26, 26, 26 (the 26 rotations), K4 0, copies 0; counts only |
| C-F10.2 | F10.2 | Wheatstone cryptograph or Alberti disk advanced by the plaintext: a 26-letter ring... | 0188 | passed | C-F10.2 (0188's plants were tested against 2,000 rings only, so a new control) |
| C-F11.1 | F11.1 | Strip ciphers and cylinders with published alphabets: M-94's 25 discs, the Jefferson... | 0189 | passed, own plant | 0189: the same consistent_cells() as K4; planted cell found at alignments 2 and 18 |
| C-F11.2 | F11.2 | Poem code: a double transposition keyed by words from a memorized text (SOE), then the... | 0190 | passed | C-F11.2 |
| C-F11.3 | F11.3 | The CIA's own 1970s Polish agent system (Bury, Cryptologia 2007): a key text written... | 0191 | passed, own plant | 0191: plants through the same search, fit once each (K2, K1-K3, Carter), copies 0; counts only |
| C-F11.4 | F11.4 | Friedman's keyed alphabet box (MC III 35b): the alphabet written n times in a... | 0192 | passed, own plant | 0192: plants fit 62 and 26 times, copies 0; counts only |
| C-F8-1 | F8/1 | Hill 2-5, plain and affine, 330 numberings (4 standard, 126 vocabulary, 200 K1-K3... | 0015, 0036, 0044, 0055, 0105, 0116 | passed | C-F8-1 (0015), C-F8-1b (0036 chained), C-F8-1c (0044; 0055's run() is the same), C-F8-1d (0105), C-F8-1e (0116 Hill with a periodic key) |
| C-F8.1 | F8.1 | Hill 2x2 and 3x3 with an unknown letter numbering (any of 26!) | 0193 (error), 0194 | passed, own plant | 0194: three plants through the same pool.map as K4, each the only fit |
| C-F5-1 | F5/1 | Gromark, two- and three-term rules, bases 2-26 (three-term on a free alphabet in base... | 0013, 0028, 0046, 0054, 0069, 0076, 0107 | passed | C-F5-1 (0013), C-F5-1b (0028), C-F5-1c (0046), C-F5-1d (0054, counts only), C-F5-1e (0069), C-F5-1f (0076), C-F5-1g (0107). Gap noted: 0054 tested rules only up to base 15 on its K1-K3-word alphabets; bases 16-26 there look untested |
| C-F5.1 | F5.1 | Multiplicative feedback; the raised YAR as primer | 0196 | passed, own plant | 0196: plants [1, 32]; the 32 at base 26 are the planted primer and its +13 variants, identical at the known places |
| C-F5.2 | F5.2 | Three-term Gromark on a free alphabet in bases 2-9, 11-16 and 26; two-term... | 0195 | passed, own plant | 0195: plants [1, 1], the planted primer each time |
| C-F9-1 | F9/1 | One-to-one substitution, then any route in the built sets (1.86M) | 0019, 0106 | passed | C-F9-1 (0019), C-F9-1b (0106) |
| C-F9.1 | F9.1 | Hand transpositions outside the built route sets | 0197, 0198 (before: 0019, 0106) | passed | 0197's own plant (keyed blanks, one of six builders); 0198 had no plant (the table's 'plants found' was wrong): C-F9.1 (0158 library), C-F9.1b (0162), C-F9.1c (0167), counts only |
| C-F6.20 | F6.20 | Turning grille, every card, by rows and by columns, free keys and key words | 0199, 0201 | passed, own plant | 0199: 4 of 4 plants (two free keys, two key words) found on their own landing maps; 0201: both free-key plants found, the two English key-word plants cut by the clock after K4 and every copy finished; the same run's self-check found 16 of 16 planted words in column mode through the same search |
| C-F6.21 | F6.21 | One slip in the column order around every keyword columnar | 0202, 0203, 0204 | passed, own plant | a planted slip per family through the same run, found at its own slip and length: 2 of 2 (0202), 3 of 3 (0203), 1 of 1 (0204) |
| C-F2.4 | F2.4 | Nulls at both ends, periodic and progressive keys | 0205 | passed, own plant | 0205: two padded messages (8 + 8 and 5 + 11 nulls, sliding keys of 9 and 11) found at their own lengths |
| C-F5.3 | F5.3 | Gromark rules in bases 16-26 on 0054's tables | 0206 | passed, own plant | 0206: a planted base-20 text (rule 7-3) found, the only rule that fits it |
Stage 2, step 2: slip tolerance (A1, issue #76)
Started 2026-10-20. Every exact verdict assumed Sanborn enciphered all 97 letters without a slip (A1,
knowledge/12-assumptions.md); K1-K3 carry one enciphering slip (the letter dropped from K2) and three
misspellings in about 770 letters. This step reruns the strongest closed searches allowing for slips, judged by
the blind English judge (kryptos/judge.py, power in reports/judge-bench.md). Rules: program.md, "Slip
tolerance and the judge". Work the table top down; the families' rank order still holds inside it.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| A1.0 One or more slips at the 73 unknown places, in systems where an error stays put (periodic, progressive and running keys; one or two free alphabets) | closed | by argument, no run: such a slip changes none of the 24 checks, so no exact verdict moves; it garbles one letter of the reading, which the judge reads through (bench: damaged classes) | - | - |
| A1.1 One slip at a known place (k = 1), free alphabets, Gromark, trifid, Hill, and the move library | closed (cited) | exact, already run as "one carved letter wrong" (F1.6: 0147-0152; move library: 0093, 0094); a carved letter wrong at a known place is one failed check | 0093, 0094, 0147-0152 | - |
| A1.2 Periodic key, k = 2 and 3 known letters wrong: the standard and KRYPTOS tables (8 table classes, as 0005), then one free alphabet (Quagmire III, as 0119) | closed where decidable; blocked beyond the reach | exact. Tables (0207): k = 1-3, lengths 1-26, nothing fits K4 below 25 (copies 24); 24-26 have 5/3/1 checks and fit everywhere; every reading judged with the copies': K4 best 3, copies best 8; 3 plants found (judge 82-88 against at most 6). One free alphabet (0208): K4 dead at 1-7 and 9 with up to 3 slips, fits at 8 and 10-26 as the copies do (3 of 52 cells above every copy, null 0-4); plants at 7 found, at 12 not told from copies. Two free alphabets (0209, the cost allowed it): K4 dead at 1-3 and 9, fits at 4-8 and 10-26 as copies (2 of 26, null 0-2); plants at 3 and 9 found, at 4, 5, 7 not | 0005, 0119, 0123, 0207, 0208, 0209 | reach: one free alphabet to about length 9, two to 3 (and 9). Beyond it blocked: too short to decide k slips: the copies fit with 2-3 slips (V10: 20 of 20 copies at k = 3 with one alphabet; 13-20 of 20 from 6 with two), the planted slips are absorbed (plants at 12, and at 4-7 with two alphabets, fit with fewer slips than planted), and the reading is undetermined, so the judge has nothing to read; only F1.5's decider (20-30 min per cell, two alphabets only below 0136's bound) could, blocked by cost as F1.4 |
| A1.3 Running key from the named texts (K1-K3, the sculpture's texts, Carter, Sanborn's letters, as 0004-0117), k = 1, 2, 3 | closed on fixed and keyword tables; free alphabet blocked | exact. 0210: 0004/0017/0021/0045/0047/0078's sources and tables in one pass, every offset both ways, up to 7 slips (pigeonhole index, 1.36 x 10^9 trials): no setting on K4 or any of 20 copies; 3 plants found (judge 90-96). 0211: 0117's shift and 27,852 moves, both orders, up to 3 slips (compiled): none on K4 or 10 copies; 2 plants found. 0098's free alphabet: not run, measured in design: at k = 1 copies already fit 0.4-1.6% of its 80,676 settings (about 300-1,300 each; K4 2 of a 1,500 sample) with the alphabet and so the reading undetermined | 0004, 0017, 0021, 0045, 0047, 0078, 0098, 0117, 0154, 0210, 0211 | free alphabet (0098, 0154) blocked: too short to decide k slips: one slip already lets hundreds of settings fit on every copy, and a fitting free alphabet leaves the reading undetermined, so neither a count nor the judge can tell a slipped plant from them |
| A1.4 Autokeys and progressive keys (F1/4-F1/6, as 0002, 0003, 0011, 0025, 0064, 0118), k = 1, 2; plaintext autokey with one slip that runs on through the chain | closed | exact. 0212: ciphertext autokey on the union of 0025/0064/0071/0072's tables (487,734 setups), every lag, 2 slips at known places or one lost step: nothing below lag 68 on K4 (copies 67-69), where 6 or fewer checks remain; 0118's copper-primed autokey closed by its own best (5 of 24 matched, so no setting within 2); progressive key on the 8 table classes, 2 slips: nothing below period 25, as copies; K4 judge best 4, copies 12; 5 plants found (60-93). 0213: plaintext autokey on 0025's tables, lags 1-52, 2 chain breaks anywhere or one lost step: nothing below lag 24 (copies 17-24); lags 26-29 read in bulk; K4 judge best 4, copies 12; 3 plants found, one with a slip running on (85, own copies at most 18) | 0002, 0003, 0011, 0012, 0025, 0064, 0118, 0212, 0213 | lags with 2 or fewer checks left after the slips (ciphertext autokey 72-96) are decided by the readings alone; plaintext autokey 53-96 stays blocked by 0136's bound |
| A1.5 A move, then the table (F6/1's type-1 library, as 0110-0114, 0129), k = 2 known letters wrong | closed on the tables; free alphabet blocked | exact. 0214: every route of 0110-0114 (dictionary keyword columnar, Myszkowski, double columnar, rail fence, AMSCO) and the type-1 library, 1,847,590 distinct landings, both orders, 8 table classes, key lengths 1-26, up to 2 slips (cost estimated first: about 50 s per text, compiled): the shortest key that fits K4 drops to 18 after the move and 16 before it, as the copies (16-18, 16-17); K4 above every copy in 1 of 52 cells (copies 0-3); K4 judge best 6, copies 12; 3 plants found (70-92) | 0110-0114, 0129, 0214 | 0129's free alphabet after a move, not run: with no slip it already fits K4 at the copies' rate from length 6 (thousands of moves from 10), and 0208 showed one free alphabet absorbs 2 slips from about length 10 with no move at all; the reading stays undetermined, so blocked: too short to decide k slips |
Stage 2, step 3: structure other than English in the 24-of-24 readings (A13, issue #75)
Started 2026-10-21 (decided by Alexis; issue #52's order: A3, then A1, then A13 and A6). Readings that put all 24
known letters in place but score like noise were thrown away. If the message was masked before it was
enciphered, the answer may be among them. The battery (tools/a13_structure.py, 14 tests) and the driver
(tools/a13_check.py) were written on 2026-10-18 and stopped part way (2935dc0); outputs in
reports/a13-structure-data/. Rules: program.md, "Masked English (A13) and the English score (A6)". Work the
table top down.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| A13.1 The battery's power: which masks each of the 14 tests finds on planted masked English (20 plants per mask) | closed | measured, against flat noise | - | power.json complete (12 masks x 14 tests), table in reports/a13-structure-check.md. Every mask but a letter swap is found by some test in 20 of 20 plants; a letter swap (best 10 of 20) is one this step cannot see (it is a second free alphabet, F1.2's ground). The null is flat noise: an upper bound for climbed readings |
| A13.2 Readings a setting fixes with no climb: repeating key on a fixed alphabet pair at key lengths 26-29, standard, KRYPTOS and vocabulary alphabets, three modes; K4 against 20 plain shuffles | closed | sampled | - | 14 cells, flag at p < 0.0036. pass2.json rerun first (the 2026-10-18 file predated the battery's side-by-side separator guard; only K4's sep_regular moved). K4 above every copy in 1 of 14 cells (chance 0.67): sep_words 0.920 against at most 0.896; replicated against 300 fresh shuffles: 3 at or above, p = 0.013, not a flag |
A13.3 The 31 saved 24-of-24 readings (8 experiments' raw.json) against the same experiment's frozen attack.py run unchanged on fresh copies (a13_check.py pass1-regen, about 1 h on 8 cores) |
blocked (weak for masks); no flag | sampled. 0216: 112 cells (flag at p < 0.05/112), K4 above every copy in 2 (chance 9.2); 0034/eng_keep_nth met a fresh copy at copy 6, 0034/eng_reverse at copy 14 (0217; K4 -5.458, copy -5.419): no flag. Masked plants through the climbs (0140, 0142, 0034): unmasked 3 of 6, reversal 1 of 10, X spacing 0 of 12, though every planted message itself would be found | 0215 (error), 0216, 0217 | weak: the climbs rewrite the free letters as forward English junk, so a masked message does not survive into the reading (1 of 22 masked plants found). The battery on climbed readings cannot see a mask; a mask needs a search that keeps it (A6.3 asks this of F1.5's decider) |
| A13.4 Readings kept since 2026-10-18 (0199-0214, among them A1's slipped readings): every 24-of-24 reading saved, K4 and copies, through the battery | closed (blind to X every kth letter) | sampled (0220): 0207, 0212, 0213, 0214 regenerated from their frozen code for K4 and their 20 copies (every saved K4 candidate among them; 0199, 0201-0206, 0208-0211 kept no K4 reading: noted). 56 cells, flag at p < 0.05/56: K4 above every copy in 1 (chance 2.7), 0212/sep_regular, met by fresh copy 27: no flag. Masked plants with 2 slips through 0207: unmasked and reversal 12 of 12, X between words 4 of 6, X every kth letter 0 of 6 | 0218 (error), 0219 (kept by mistake, #88), 0220 | an X every kth letter is not seen in these readings (0 of 6), so that mask is not excluded here |
| A13.5 Unmask and judge: for each test that flags in A13.2-A13.4, undo the mask it found (the reversal, the nth letters, the affine map, the columns) on K4's and the copies' readings alike and judge them blind together | closed | no run: no test flagged in A13.2-A13.4 | - | report written (reports/a13-structure-check.md); A13 updated in knowledge/12-assumptions.md |
Stage 2, step 4: does the plaintext score as English? (A6, issue #84)
Started after step 3 (decided by Alexis 2026-10-21). Every sampled verdict compared K4's climbed reading with the
copies' climbed readings by quadgram score. The judge bench (reports/judge-bench.md) shows the quadgram scorer
finds 10% of clean English and none of the damaged classes against English-like junk, which is what a climb
returns on a copy. These items check whether the sampled verdicts still stand. Rules: program.md, "Masked English
(A13) and the English score (A6)". Work the table top down.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| A6.1 Rejudge the sampled verdicts: K4's and every copy's best readings from 0120, 0125, 0140, 0142, 0144, 0146 (then 0034, 0035, 0048, 0037), judged blind in one call per verdict; K4 counts only above every copy | closed | sampled | 0221, 0222, 0224, 0225 | No sampled verdict weakened. 0221: the six F1.1-F1.3 verdicts rerun from their frozen code and seeds (every reading and copy score reproduced), 8 cells: K4 above every copy in 0 (chance 0.56). 0222: 0034, 0035, 0048 against 0216's regenerated copies (10 each), 4 cells: K4 above every copy in 1, 0034 at 27-29 (judge 8 against 7), met by fresh copy 6 in 0224/0225: not a flag. 0037 not rejudged: F6.3b rests on 0158's exact count. The judge found 20 of 20 planted running keys (quadgrams 11) but 2 of 18 climbed free-alphabet plants (quadgrams 9): it cannot read climbed readings a third right, so F1.1 and F1.2 rest on the quadgram power (A6.2). 0223 is a mistaken duplicate of 0222; 0224 was kept by mistake (gate 4 given too few controls, #94) and rerun as 0225 |
| A6.2 The climbs' power on Sanborn-style plaintext: plant the judge bench's xstops, k123 and sub3 classes (not clean Carter) through F1.5's design 2 at one length per family (F1.1 L23, F1.2 L13), and through 0125's running-key search; judged by quadgram and by the judge | closed; F1.2 L13 reopened | sampled | 0226 | 0226: 12 plants per search (4 per class), each against its own copies (null 1/7; 1/51 for 0125). Quadgrams: L23 10/12 (bar 6/8: F1.1 stands), 0125 12/12 (bar 11/20: F1.3 stands), L13 9/12, under the pre-registered bar of 4/5 (stated 5/5): F1.2's close at 13 weakened, back to open in F1 (waits for Alexis). The judge: L23 1/12, L13 0/12 (climbed readings a third right, as 0221), 0125 12/12. Misses by class: L23 one k123 and one sub3; L13 one of each class |
| A6.3 A13's masks through the decider: a plaintext masked by each mask A13.1 can see (reversal, X every kth, nth letters), enciphered and run through design 2 at F1.1 L23 | closed | sampled | 0227 | 0227: 8 plants per mask, each against 6 own copies (null 1/7), bar 6 of 8 by any one way. Reversal: the climb's own score 7/8 (found). X every kth: climb 5/8, the mask's battery test 3/8, the judge on the unmasked reading 0/8. Message in every nth place: climb 1/8, test 1/8, judge 3/8. So F1.1 and F1.2's sampled closes hold for unmasked or reversed English only; an X every kth letter or the message spread one letter in n is not found at power (written into F1.1, F1.2) |
A cheaper decider (issue #77)
Moved ahead of F13 by Alexis, 2026-10-27. The largest untested cells in the families with the strongest creator clues are blocked by cost alone: F1.4's free-alphabet residue (about 900 h), F1.7's fitting lags (about 100 h), F6.1 (about 443,000 settings), F6.2 at key lengths 3-14, F5.2's base 26 at lag 6. Each setting costs 20-30 minutes with F1.5's design-2 decider (0139-0146: a tempering climb, power on planted texts, K4 against 12 copies). A decider ten times cheaper at the same measured power reopens them. Work the table top down.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| D1 A decider at least ten times cheaper than design 2 per setting, with power at least design 2's on the same planted texts (F1.1 L23, L26; F1.2 L8, L13, L16) and Sanborn-style plants (A6.2's classes) | closed: one run qualifies (Alexis, 2026-10-28, #100) | measured | 0228, 0229 | Decided (Alexis, 2026-10-28, #100): design 2 does not gain power with runs (pooled over the four 0229 cells, one run finds 66 of 96 plants, ten runs 67), so the ten-run figure is one noisy draw, not a bar. Rule: a cheaper decider qualifies when its power pooled over the cells is within 5 of 96 plants (about one sd) of the reference on the same plants; every close it makes states its own measured power. One run with copies climbed one at a time (exact) qualifies for one free alphabet: about 32x cheaper per setting. Two alphabets: D1b. 0228 (first measurement, L23 and L13; 8+12 and 5+12 plants, 6 own copies each, every run's best recorded at 625 and 62 rounds): not reached under the pre-registered rule (power at least the 10-run reference on clean and messy at both lengths): cheapest qualifying budget 9 of 10 full runs, with sequential copies (exact, x3.17) 3.5 times cheaper. At L23 alone one full run matches the reference (clean 6/8, messy 7/12 against 6/8, 6/12): about 30 times cheaper for one free alphabet; at L13 nothing below 9 runs keeps clean power; runs a tenth as long lose clean power. Power does not rise with runs (the copies' best rises too). The reference itself did not replicate: L23 messy 6/12 (0226: 10/12), L13 clean 2/5 (0143: 5/5), so F1.1 L23 is reopened beside F1.2 L13. 0229 (one free alphabet, L23 and L26, 24 clean and 24 Sanborn-style plants each, 672 texts): ten-run power L23 clean 21/24, Sanborn-style 16/24; L26 13/24, 17/24. First r runs, r = 1-10: L23 clean 21-23, Sanborn-style 14-16; L26 clean 11-18, Sanborn-style 11-17, not rising with r (the copies' best rises too; at L26 clean power falls from 18 at r = 2 to 13 at 10). Strict rule: only r = 10 is at least the reference in all four cells, so not reached (3.2x); one run is within sampling noise of ten (binomial sd about 2.4 plants of 24) |
D2 Re-cost every cell blocked by cost (F1.4, F1.7, F6.1, F6.2 3-14, F5.2) with D1's decider; a cell whose stated total fits in a long run goes back to open in its family's table, with the cost |
closed for one alphabet; F6.2's two-alphabet cells re-costed with D1b 2026-11-05 (lengths 3-10 reopened, about $70 on AWS): F1.4 and F6.1 re-costed (0252), F5.2 found cheap (about 27 core-hours, measured in a desk timing 2026-10-29); F1.4's one-alphabet residue run and closed (0253-0255: an apparent excess, K4 inside 40 stand-ins); F1.7 run and closed at low power (0256: K4 inside 10 stand-ins, p 0.64; plants 12 of 48) | exact (a count) | 0252 | 0252 (one free alphabet; 0140's climb generalised to any slot map and reading order, checked to give 0140's scores): one-run power on plants drawn from K4's own fitting settings, 24 clean + 24 Sanborn-style, 6 own copies (null 1/7): F1.4 skip schedules 18 + 19 of 48, other schedules 19 + 18, F6.1 lengths 8-10 12 + 19, 11-26 15 + 17 (reference, 0229's one run: 66 of 96; F1.4 74 of 96 pooled, F6.1 63 of 96 pooled: both within D1's margin of 5). Cost at one run plus copies one at a time (3.1 of 12 expected): F1.4's one-alphabet residue 2,093 settings (2,016 skip, 77 other; 513 slot partitions), about 41 core-hours, about $2 on Modal: reopened. F6.1 lengths 6-10 7,443 settings (recounted exactly), about 248 core-hours, about $12 (0252 ran at 92% of its 32 cores): reopened. F6.1 lengths 11-26 435,693 settings, about 7,650 core-hours, about $376: waits for Alexis (money, #77). F5.2's base 26 lag 6 was blocked by the old 30-minute budget, not by a decider: 3.1 billion primers per rule against 0195's 1.55 billion in 162 s, an exact run of minutes: reopened. Left: F1.7's fitting lags (103 cells, ciphertext and plaintext autokey: a different climb, the key comes from the alphabet itself) |
| D1b A cheaper decider for two free alphabets (F1.2 L13; F1.4's 1,346 two-alphabet settings; F6.2): the per-setting power test shared across a cell class, measured for sameness first; then one-run power at L13 with 24 clean and 24 Sanborn-style plants | closed: four runs qualify, one does not | measured | 0257 | 0257: 0144's tempering unchanged at 13 and 16, 24 clean and 24 Sanborn-style plants each, 6 kept-place copies, ten runs per text with each run's best: pooled power after r runs 63, 64, 64, 66, 66, 67, 72, 71, 72, 71 of 96. One run is 8 under the ten-run reference (D1's margin is 5): does not qualify; four runs qualify (66), about 2.5 times cheaper per text, about 8 times per setting with copies climbed one at a time. Sameness: one-run power 30 of 48 at 13 and 33 of 48 at 16. Ten-run power at F1.2's 13 on 48 plants: clean 16/24, Sanborn-style 16/24 (F1.2's L13 close now rests on this); at 16: 19/24, 20/24. $1.70 |
D3 Every cell blocked by power alone (not by cost or by principle): F13.4a 27-36, F13.4b 6-26, F13.4c 6-19, F13.4d 13-20, F14.1 25-26, A13.3, F13.6, F1.6's weak cell and any other blocked row whose reason is low power. Run each at its measured power and close it as "sampled at power p", or write why a run tells nothing at all |
closed: 6 cells closed from their own records, F13.4c 6-19 run (0258), 3 tell nothing | sampled | 0148, 0234, 0235, 0237, 0238, 0240, 0258 | Alexis, 2026-10-28 (#100). Listed and read 2026-10-29. Already run on K4 against its own copies at measured power, so closed here as sampled with no new run: F13.4a 27-36 (0234, 200 shuffles; plant power 5/8 at 30, 2/8 at 36): K4 at or below 8-176 shuffles per length (fewest at 32: 8 of 200), never above all; F13.4b 6-26 (0235, 100 shuffles; power 4/8 at 10, 2/8 at 15, 0/8 at 20, 2/8 at 26): K4 at or below 9-99 per length, never above all (at 16-24 the power is near 0, so those lengths are sampled at power 0-2/8 and tell almost nothing); F13.4d 13-20 (0237 with 100 shuffles, 0238 with 300; power 6/8 at 12, 1/8 at 20): K4 at or below at least 4 of 100 in every cell from 13 to 20 (0237), never above all (B2 is chased in F13.4h); F1.6's weak cell (0148: K1/K2's added form at 19 with the S at 33 a slip; power 3/5 against own copies): K4 7th of 13; F13.4e Hill 3x3 (0240: power 4/8, read exactly 2/8): K4 inside 100 shuffles on the joint statistic, p 0.73. Tell nothing (no run): F14.1 25-26: no dictionary or puzzle word has 25-26 letters, so the keyed reading is empty and the remaining pairs with a free key are F1.2's cell; A13.3 and F13.6: a mask does not survive a climb or an English-selected search (A13.3: 1 of 22 masked plants; F13.6 desk probe), so the battery has nothing to read. Run: F13.4c 6-19 (0258): K4 inside 100 fresh shuffles (p 0.84), plants 2-5 of 8. Reruns with more copies or plants: none in reach with a better search (F13.4c's power is the climb's, not the copies') |
F13. Ciphertext only: the known words sealed (issue #85)
Drafted 2026-10-24 at Alexis's question: what would we run if no plaintext were known? Queued after Stage 2, step 4 (A6.1-A6.3), decided by Alexis 2026-10-24; the cheaper decider (#77) moved ahead of it on 2026-10-27. Every search so far prunes settings with the 24 known letters, which carry about 113 bits (24 x log2 26). Without them a search has only English to go on: about 1.78 bits per letter with the quadgram scorer (0136), about 170 bits over 97 letters. Here the known letters are not read by the search at all. They stay as gate 2, checked by the harness only after a reading has beaten its copies, so a hit is a held-out confirmation and no key can be fitted to the known places. Rules: program.md, "Ciphertext only (F13)". Work the table top down: F13.1 decides how much of F13.4 exists.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
F13.1 Solvability map: for each family in families.md, the key space in bits, against what 97 letters of English decide (0136's 1.78 bits per letter now, Shannon's lowest entropy as the ceiling), with no known letter |
closed | exact (a count) | - | reports/f13-solvability-map.md: 97 letters carry 173 bits by quadgrams, 302 at Shannon's upper estimate, 385 at his lowest. Decidable now: fixed or dictionary tables to key length 36, one free alphabet to 19, short moves with a fixed-table key, F6.1 after short moves, Gromark, trifid, Hill 3x3 and M-94 with free parts, every key-word system. Better model only: two free alphabets beyond length 1, one free alphabet 20-47, autokey primers 37-63, Chaocipher, a running key from unknown English. Never: free keys near 97 letters. Necessary, not sufficient: each F13.4 row measures its own power |
F13.2 Cipher-type identification: thousands of 97-letter texts made by each family's own generator (F7's, kryptos/plants.py), measured by 0168's 71 statistics and A13's 14 tests; a classifier trained on them names the families K4 resembles |
closed | sampled | 0230 (error), 0231, 0232 | 0231: 17 generators (no known words, half Sanborn-style), 3,000 training and 1,000 held-out texts each, 85 named features (+70 classic identification statistics: 155), logistic classifier. Held-out accuracy 0.26 / 0.28 (chance 0.059): monoalphabetic, transposition and substitution-then-move told from random letters at AUC 1.0, periodic 2-12 0.89, Hill 0.81, trifid 0.76, move then table 0.73; the flat families (long periodic, progressive, both autokeys, running key, Gromark, Chaocipher) at 0.50-0.66, near chance. Positive control (12 plants per family, each against 1,000 own shuffles): found 7-8/12 for monoalphabetic only, 0-1/12 for every other family, so against shuffles the test cannot name a flat family. K4 names no family (34 cells, alpha 0.00147); one cell under the line, ciphertext autokey p 0.001 with no power behind it, not replicated (0232: retrained, 5,000 fresh shuffles, p 0.030; the margin came from segment counts and the width-7 repeats, K4's known fingerprints). K4 sits among the flat families, which 97 letters of statistics cannot tell apart |
| F13.3 A stronger English judge: quadgrams against longer n-grams, a word model and the blind judge, each measured as bits extracted per letter on planted texts the way 0136 measured quadgrams | closed | measured | 0233 | Bits per letter on held-out 97-letter windows (log2 26 minus cross-entropy, no history before the window): quadgram table 1.75 (clean Carter; 0136: 1.785), X stops 1.65, K1+K2 1.74, three letters changed 1.41. Out of domain (Kneser-Ney order 8 on the manuals, no Carter, mixed with the quadgram table, MIX8m): 1.95 clean, 1.85 X stops, 1.94 K1+K2 (189 bits in 97; stronger by the rule, +0.19). In domain (trained on Carter's first 70%, MIX8): 2.38 clean, 2.27 X stops, but 2.00 on K1+K2 (231 bits in 97 on Carter-like text). Word model 2.08 (in domain). Ladder (90% of 30 clean and 30 X-stop windows above every one of 40 fakes): quadgrams fail even 4-letter soup; mixed n-grams, the word model and the judge pass it; nothing passes 6-letter soup (judge 35/60) or word salad (judge 49/60, mixed 25/60). F13.1 moved: Chaocipher (177 bits) into reach out of domain; F1.1 L26 (202), F1.2 L13 (225), F1.7 lag 30 (221) only for Carter-like text; running key from unknown English (283) and F6.2 (233) stay out. Judge for F13.4: MIX8m to climb (cheap, letter by letter), the blind judge to read the survivors; the in-domain MIX8 as the optimistic arm |
| F13.4 Ciphertext-only solves: hill climbs scored by the F13.3 judge alone, in each family F13.1 marks decidable, K4 against scrambled copies climbed the same way | closed where decided; blocked elsewhere (see F13.4a-g) | sampled | 0234-0241 | Families F13.1 marks decidable by quadgrams (rows to add when F13.3 has named the judge): F1 on fixed and dictionary tables to 36; F1.1 to 19; F6 short moves; F6.1 after short moves; F5, F4, F8 3x3, F11 with free parts; F3 and F14 key words. Plants made without known words must be found at 0120's power bar before K4's result counts |
| F13.4a F1, periodic key on the sculpture's 8 table classes (standard or KRYPTOS plain and cipher alphabets, added or Beaufort form), key lengths 1-36, ciphertext only | closed for 1-26; 27-36 sampled at power 2-5 of 8 (D3, 2026-10-29) | sampled | 0234 | Coordinate ascent on the shifts (30 restarts, quadgrams), best readings rescored by MIX8m; one statistic per text (largest z over lengths against K4's 200 climbed shuffles). K4: 2.15 at length 20, p 0.62, inside its shuffles; its 36 readings put at most 5 of 24 known letters in place (harness gate 2, checked after the search). Plants (no known words, half X stops) against 10 own shuffles: 8/8 at 5, 10, 15; 7/8 at 20; 6/8 at 26; 5/8 at 30; 2/8 at 36; read exactly 8/8, 8/8, 7/8 to 15, none from 20. Closed without the known letters for 1-26; 27-36 blocked: too short to decide from the ciphertext alone (5/8 at 30) |
| F13.4b F1, periodic key on dictionary keyword tables (208,062 alphabets), lengths 1-26, ciphertext only | closed for 1-5; 6-26 sampled at power 0-4 of 8 (D3, 2026-10-29) | sampled | 0235 | 0109's 208,062 alphabets x 5 pairings x 2 forms (2,080,620 tables). Every table and length screened exactly per column by English letter frequencies (C), the 50 best per length climbed by quadgrams and rescored by MIX8m. K4: statistic 1.80 at length 5, p 0.66 against 100 climbed shuffles; its 26 readings at most 4 of 24 known letters (harness). Plants (random dictionary tables, no known words) against 10 own shuffles: 8/8 at 5 (7 read exactly), 4/8 at 10, 2/8 at 15, 0/8 at 20, 2/8 at 26: the screen keeps the true table only with long columns. Closed for 1-5; 6-26 blocked: the frequency screen loses the true table among 2 million (a climb per table is about 45 h per text). 4.1 h on 4 local cores |
| F13.4c F1.1, one free alphabet with a periodic key, lengths 1-19 (F13.1: decidable by quadgrams to 19) | closed for 1-5; 6-19 sampled at power 2-5 of 8 (0258, D3) | sampled | 0236, 0258 | 0140's design-2 tempering with no known letter (every slot free), both forms, 3 runs per text, MIX8m rescoring. Power first, in the same run: plants (no known words) against 6 own shuffles: 8/8 at 2-3, 7/8 at 4-5, 4/8 at 6, 5/8 at 7, 3/8 at 8 and 10, 2/8 at 13, 4/8 at 16, 3/8 at 19 (letters read right: 71-93 at 2, under 35 from 5). Decided cells 1-5 x both forms: K4 largest z 1.67 (5, Beaufort), p 0.37 against 50 climbed shuffles; its readings at most 5 of 24 known letters (harness). Closed 1-5; 6-19 blocked: alphabet and key cannot be found together from the ciphertext alone (F13.1's bound is necessary, not sufficient). 17 min on Modal. 0258 (D3, 2026-10-30): K4 and 100 fresh shuffles at every length 6-19, both forms, 0236's climb unchanged: K4's largest z 1.47 (11/Beaufort), p 0.84; in no cell above all 100 (fewest at or above: 9 at 14/Beaufort); plants 3, 5, 4, 4, 5, 4, 2 of 8 at 6, 7, 8, 10, 13, 16, 19; readings at most 3 of 24 known letters |
| F13.4d F6, short moves (the type-1 library) then a fixed-table periodic key; F6.1, one free alphabet after short moves | closed for 1-12; 13-20 sampled at power 1-6 of 8 (D3, 2026-10-29); F6.1 blocked; the replicated excess is chased in F13.4h | sampled | 0237, 0238, 0239 | 0237: all 27,852 moves of 0129's library, before (A) or after (B) the table, 8 classes, lengths 1-20, ciphertext only (letter-frequency screen, quadgram climb, MIX8m). Plants against 10 own shuffles: 8/8 at 3, 7/8 at 5, 8/8 at 8, 6/8 at 12, 1/8 at 20: closed 1-12, 13-20 blocked by power. K4 flagged: statistic 5.05 at B2 (table, then a move, key length 2), above all 100 shuffles, p 0.0099; replicated against 300 fresh shuffles (0238: p 0.023; in that cell 1 of 300 at or above). The reading (move 'two turns cw 70,19 inverse', a width-19 read; table standard/KRYPTOS Beaufort, key RI) is junk with 3 of 24 known letters in message order, 3 in carved order. 0239: judged blind against the 300 shuffles' readings, K4 12/100, 14 of 300 at or above (max 15): word-level by the pre-registered rule only at its edge, every score in the judge's chance band. Recorded as a property of the carved order and a weak lead for A2, not a solution; whether to chase it is Alexis's call (#101). F6.1: blocked by 0236 (one free alphabet not recoverable from the ciphertext alone beyond length 5 with no move) |
| F13.4h Chase 0237-0239's replicated excess (table, then a move, key length 2; K4 above 299 of 300 shuffles; reading 3/24 known letters, judge at the edge of chance): width-19 reads with short keys on every table; the known words placed on the intermediate texts (A2); a replication against 1,000 or more fresh shuffles | closed: replicated, not a width-19 artifact; chased in F13.4i | sampled | 0237, 0238, 0239, 0259 | 0259 (2026-10-30): 0238's search unchanged at A1-B2, K4 against 1,000 fresh shuffles: B2 p 0.002 with every move, 0.001 with width-19 reads only, 0.004 without them (best move 'two turns cw 53,41 inverse'); B1 0.063, A1 0.063, A2 0.68. The period-2 repeat rate of the moved text under the flagged move is ordinary (137 of 1,000 at or above). Known words: 3 of 24 in message order and in carved order. Plants (B2 under width-19 moves) 8/8 with every move or width 19 only, 5/8 without. The working guess (a width-19 pattern) is wrong as stated; the excess is real against shuffles and unexplained |
| F13.4i What carries the B2 excess: K4's 96 cyclic rotations and its reversal (keep local structure, change every place), K4 cut into blocks of 4, 7 and 12 with the blocks shuffled (keep structure inside a block), against fresh shuffles through 0238's search at B2 | closed: not a message under this cipher | sampled | 0259, 0260 | 0260: K4 above all 500 fresh shuffles at B2, but only 3 of its 96 rotations above the shuffles' 95th percentile (median 46th), its reversal at the 74th, blocks of 4, 7, 12 at 4, 5 and 11 of 100. Positive control: three planted B2 messages keep their excess under all 24 rotations each (72 of 72): the move library absorbs a cyclic shift, so a message enciphered this way survives rotation. The pre-registered rule read 'rotations at chance' as positional (message-like); the plants overturned that premise. K4's excess is tied to its exact order against this search and does not behave like a B2 message. Recorded as a property of K4's arrangement; no reading. $0.03 |
| F13.4e F5 Gromark (free alphabet, base 10, 364 rules), F4 trifid (free cube), F8 Hill 3x3 (unknown numbering), F11 M-94 (25 discs) | closed for Hill 2x2; Hill 3x3 sampled at power 4 of 8 (D3, 2026-10-29); blocked for Gromark, trifid, M-94 | sampled | 0240 | Hill (0240): 2x2 and 3x3, plain or affine, A=0/A=1 on the standard or KRYPTOS order, every alignment (20 cells), ciphertext only: each decoding row scored by the fit of its letters to English counts (2,000 kept of 26^(n+1)), rows joined by bigram then trigram fit, 300 matrices by quadgrams, 20 refined row by row, MIX8m. Plants against 10 own shuffles: 2x2 8/8 (read exactly 8/8), 3x3 4/8 (exactly 2/8). K4 statistic 0.90, p 0.73 against 100 shuffles; in 4 of K4's 20 cells the beam kept no invertible matrix. 2x2 closed without the known letters; 3x3 blocked by power (4/8); an unknown numbering (26!) is beyond this attack. Gromark blocked by cost: with no known letter the primer cannot be pruned, so each of 10^5 primers x 364 rules needs a free-alphabet climb (about 0.3 s): about 8 h per text, about 1,000 core-hours with 100 copies and plants; a joint climb over primer and alphabet has no smooth path (the stream changes wholesale with one primer digit). Trifid blocked by power: 0039's annealer did not recover a planted free cube even with the 24 known letters (best 17 of 24, as on shuffles); without them the test is weaker still. M-94 blocked by power: 25! disc orders (84 bits) plus a generatrix per 25-letter block, about 4 letters per disc column; 0236 found a free alphabet with a key recoverable from the ciphertext alone only to about 104 bits (length 5), and disc orders give a climb no smoother path. Desk decision, 2026-10-27; no run |
| F13.4f F3 and F14 key-word systems: two dictionary words added; two key-word alphabets plus a key word | closed (part 1); blocked (part 2) | sampled | 0241 | Part 1, 0241: a puzzle word (0115's 171, every start) plus a dictionary word (3-24 letters, every rotation) on the 24 rules, ciphertext only: the puzzle word's stream taken off, every one of 2,241,060 dictionary rotations scored exactly by per-column letter frequencies (compiled, early abandon; 5.8 x 10^10 rotations per text), the 10 best per setting and length read by quadgrams, the 10 best per length rescored by MIX8m. Plants (random puzzle word, dictionary word and rule, half X stops) against 10 own shuffles: found and read exactly 32/32 (8/8 at 5, 10, 15, 20; margins S 18-43 against own maxima 2.5-5.2). K4: statistic 2.26 at n 4, p 0.42 against 100 shuffles; its 22 readings at most 4 of 24 known letters (harness). Closed for 3-20 by its plants and for 21-24 by extension (145 dictionary words there, longer columns' margin at 20 over seven times the shuffles'). 4.6 h on 32 cores. Part 2 (two dictionary key-word alphabets plus a key word, F14.1's space), desk decision, no run: 208,062^2 = 4.3 x 10^10 alphabet pairs per text before the key; a per-column screen per pair is about 10^14 operations per text per length, and 0235's screen already lost a single dictionary table among 2 million beyond length 5: blocked by cost and power without the known letters (F14.1 runs it with them) |
| F13.4g F10 Chaocipher, two free wheels (177 bits; in reach since F13.3 by 12 bits) | blocked | desk probe | - | Desk probe, no experiment (drafts/f13.4g-chaocipher-probe.py): given the left wheel, every move is fixed by the carved letters and the reading is a simple substitution of an index stream, so a wheel can be tested by that stream's index of coincidence. On 3 planted 97-letter messages (random wheels, Carter) the true wheel's stream has IC 0.058-0.068 (20,000 random wheels: max 0.056-0.058), but annealing the left wheel (3 x 2 million swaps) finds wrong wheels at 0.070-0.073, above the truth every time, and a swap changes every move after the letter it touches, so there is no smooth path to the true wheel. A full substitution solve per wheel would add bits but costs milliseconds per wheel over 26! wheels. blocked: 97 letters do not single out the left wheel (0236's frontier, about 104 bits for a free alphabet with a key, sits far under Chaocipher's 177) |
| F13.5 Memorable keys scored by English alone: the key-source order (K1-K3 words, the sculpture's text, the Morse, Carter, then a dictionary) through each method already built, no known-letter check | closed | exact over the key lists; sampled verdict | 0242 (error), 0243 | 0243: five ways, every key read in full by quadgrams, the 20 best per way rescored by MIX8m: A a key word (1,084 puzzle-word starts + 2,241,060 dictionary rotations) on the 24 rules; B keyword-mixed tables from 170 puzzle words (5,100 setups) with a puzzle key word; C running key from 0210's 36 named texts both ways, every offset (596,530; the 'right panel K1-K4' text left out, since it holds K4 itself and reads all A under Beaufort on K4 only); D plaintext and ciphertext autokey primed by 233,014 words; E 138 keyword columnars from puzzle words, either order, with a puzzle key word. Plants (keys drawn from the same lists, half X stops) against 10 own shuffles: found 40/40 (read exactly 36; two ciphertext autokeys and two short columnars found with a near reading). K4: statistic 2.23 (running key), p 0.099 against 100 shuffles (per way, shuffles at or above K4: A 6, B 96, C 2, D 21, E 45; the pre-registered test is the one statistic); readings at most 2 of 24 known letters (harness). Closed. 0242 errored drawing a running-key plant from K1 (63 letters); 0243 reran it with plants drawn only from texts longer than 97. 14 min on 32 cores |
| F13.6 A13's battery on every reading F13.4 and F13.5 produce, not only those that put the 24 letters in place | blocked (weak by construction) | desk probe | - | Desk probe, no experiment (drafts/f13.6-mask-survival-probe.py): masked Carter (A13's mask makers) enciphered with a dictionary key word on the sculpture's tables and solved by 0243's frozen exhaustive search, 4 plants per mask; is the kept reading the masked plaintext? Unmasked 4/4, X every kth 4/4, nulls every nth 4/4, reversal 2/4, columns 1/4, message in every nth place 0/4, affine 0/4. Every F13 search keeps the readings that score best as English, so a mask that breaks English never reaches the battery, and a mask that keeps English is read exactly, where the English statistic already finds it (0241, 0243: X-stop plants 100%); on climbed searches (0234-0240) masks do not survive at all (A13.3: 1 of 22). The battery can add a detection only in the narrow band of readings kept but not above the copies (reversal), which 0227 already measured (the climb's own score finds reversal 7 of 8). blocked: the readings are selected by English, so the battery sees no mask the English statistic does not |
| F13.7 The object: the carved letters checked against photographs, the ?, the line breaks, Antipodes' K4 against Kryptos' | blocked | - | - | Needs sharp photographs of the copper (#81) and Antipodes' layout (F4.5). One wrong carved letter breaks every other item |
F14. Scheidt's mask, keyed by words (issue #93)
Drafted 2026-10-27 at Alexis's request, queued after F13. Scheidt, over 23 years: the English was masked and the mask must be solved first; more than one stage; "building layers... mix and match"; a math function on the English, another base; duress codes; simple, remembered, driven by key word/s; "98 characters left". Almost every reading of the mask lands in cells already blocked because free unknown alphabets leave 97 letters undecided (F1.2 from key length 19, F6.1, F6.2; 0136's bound). A mask made from key words is a few dozen bits, not 88 per alphabet, so the keyed versions of those cells can be decided. Each item states its key source (program.md's order) and checks the prior-attempts database first. Work the table top down.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| F14.1 Two different key-word alphabets from the whole dictionary, one each side, plus a key word on the table, key lengths 19-26, both forms; the mask before or after the table is the same system here | closed for 1-24; blocked 25-26 | exact | 0244, 0245 | Prior-attempts database checked: general Quagmire IV open at 8, 13, 16, 19, 20, 23, 24, 26 'at random-text rates'; dictionary-restricted pairs untested anywhere. 0244: 208,064 alphabets (0109's keyword alphabets plus standard and KRYPTOS), all 4.3 x 10^10 ordered pairs per form matched exactly through an index (each same-slot check splits into a cipher-side and a plain-side gap), every key length 1-26 (not only 19-26: the index made them all cheap). K4: no pair at 1-15, 17-22; pairs at 16 (5, added), 23 (5 + 1) and 24 (9,037 + 388), as the 50 shuffles (medians 0, 2, 2,173); key words (every dictionary and puzzle word of the length, every start, numbered on standard, KRYPTOS, plain or cipher alphabet, any shift): K4 0, every shuffle 0. Plants (two random dictionary alphabets, a dictionary key word of 19-24 letters) found 12/12. Where every slot holds a known place (to 16) a pair fixes the whole reading: K4's 5 readings junk, best -7.91 against the shuffles' best -7.63. 0245: K4's 5 pairs at 16/added were above all 50 shuffles (max 4), so replicated on 1,000 fresh shuffles: 18 at or above, p 0.009 (distinct cipher alphabets p 0.038), corrected line 0.00096: not a flag. 25-26 blocked: no dictionary word that long, and 10^6-10^9 pairs fit by chance on K4 and shuffles alike (counted only). 1.5 + 3.3 min |
| F14.2 A remembered route (keyword columnar, the K3 rule, grid paths, the type-1 library) plus key-word alphabets from the dictionary, in F6.1 and F6.2's blocked cells | closed for 96.9% of settings (no key word on K4 or any of 50 shuffles; plants 12/12); 41,986 settings left unverified by a listing flaw, rerun as F14.2a | exact | 0271 | 0271 (AWS 315 min and a 1-min resume, about $3.20; #119): 27,852 moves x 2 orders x key lengths 1-26 x 2 forms, 208,064 keyword alphabets each side (4.3 x 10^10 pairs per setting and form), 1,363,532 settings with 5+ checks listed per text. No key word on K4 (shuffles: none either); plants 12/12. Fitting-setting counts per (order, length, form) as the 50 shuffles: smallest p 0.02 of 100 cells (A10, K4 1 setting, shuffles 0), about what chance gives. Desk check of that setting (drafts/f14.2a-a10-probe.py): route 'two turns cw 17,95 inverse', 14 checks, of which the first six hold three that repeat a known letter (E-E with F-F, A-A with U-U); the index keyed on only three informative checks, 2.4 million pairs passed it, over LIST_CAP, so 0271 counted them unverified and skipped the key-word step. The true setting always passes such checks, so a true key there would have been missed: 41,986 of 1,363,532 listed settings (3.1%; every B9 setting; 38,203 with 5+ informative checks) are open until F14.2a. Earlier: decided by Alexis (2026-10-29, #102) to run it as stated (K4, 50 shuffles, plants), not cut. |
| F14.2a Rerun of 0271's 41,986 flawed settings (the first six checks hold three or more repeats of one known letter): checks with equal known letters tested as equal carved letters, the index keyed on informative checks only, then 0271's key-word step; K4 and the same 50 shuffles, plants on these settings | open: started as 0272, stopped for Alexis's graceful stop (2026-11-05 18:05) at 5 of 140 setting blocks; no record | - | - | Next: resume. Copy drafts/F14.2a-attack.py to attack.py unchanged (the checkpoint is keyed to it, 5 blocks saved) and start it; it takes the number 0272. Dry run on a 1/40 slice (desk 2026-11-05): fixed test agrees with 0271 on 1,800 unaffected checks; plants on these settings 12/12 found, 0271's code 2/12, so the flaw is real. AWS leg 154 min (a 90-min network outage on the laptop's side; the machine kept running), about $1.55. Desk count (drafts/f14.2a-overcap-count.py): 41,986 settings, 38,203 with 5+ informative checks, 3,783 with 4 or fewer (counted only). About 7 core-hours. |
| F14.3 Duress reading: a running key where the message and the key are both English (giving up the key yields believable text), judged by F13.3's judge | closed | sampled | 0246 | 0125's exhaustive space (208,062 dictionary tables x 3 configurations x 2 key alphabets, plus the sculpture's tables; 3 rules: 3,745,140 forced keys per text), the 24 forced key letters ranked by quadgrams, the 300 best per rule rescored by MIX8m, the 3 best of every text read by the blind judge window by window (426 calls, none failed). Plants (0125's 20, Carter as the key) 20/20 by MIX8m (0125's quadgrams: 11/20; every plant's true key ranked first), 12/20 by the judge. K4's best forced key ILLTRICKFRKACMUCHUNKMUNT: p 0.59 against 50 shuffles; judge 18.5 against the shuffles' median 10, max 46. Closed; F1.3's close (0125) now stands at full power. 4 min |
| F14.4 How firm is A2 (letter for letter)? Re-read Sanborn's BERLIN and EAST statements and the 2010-2020 clue wording in the sources | closed | by reading | - | Sources: nyt-2010-berlin-clue.txt ('The characters that are the 64th through 69th in the final series on the sculpture read NYPVTT. When deciphered, they read BERLIN'), nyt-2020-northeast-clue.txt ('the word NORTHEAST, at positions 26 through 34'; the same piece quotes a Scheidt email: 'the last passage uses what is known as a masking technique'), kryptools-hints-compilation.txt (2011 and 2013 dinners, secondhand: 'a one-to-one mapping', 'N = B, Y = E'), schmeh-2019-cnn-documentary-making-of.txt (March 2019 lunch: Dunin's note that Sanborn 'would only commit to the fact that K4 is exactly 97 characters long, and that BERLIN is plaintext that starts at exactly the 64th character'; Bogart, at the same lunch: 'plain B taken, has the encipherment done to it, and out pops a cipher N, plain E is then enciphered to a cipher Y'); EAST (April 2020 email, public August 2020) came with no wording on the mapping. Reading: the message positions are firm; the carved-to-message correspondence at the same places rests on the Times' 2010 wording and three dinner accounts, and the 2019 retreat is a refusal to say more about extra steps (asked about masking), not a statement against it. A2 stays as recorded (contested, every positive statement for it); systems that change the length or spread one letter over several (VIC, straddling checkerboards, Nihilist, fractionated Morse) stay out. No new item |
| F14.5 Scheidt's "98 characters left": F14.1 and F14.2 on the 98-letter variants (the ? as a letter; one letter missing at each place) | closed for F14.1's half; F14.2's half blocked with F14.2 | exact | 0247 | With a free key only the alignment between known places matters: the ? counted before OBKR, or a letter lost before 22 or after 74, shifts every known place alike and is subsumed by 0244. A lost letter inside a known run (23-34, 65-74) or anywhere between them (35-64, one variant) gives 23 distinct variants; 0247 ran 0244's exact search on each (4.3 x 10^10 pairs per form, key lengths 1-26, key words of the length) against 20 shuffles per variant: no key word on K4 in any variant (shuffles: none either); pair counts above all 20 shuffles in 13 of 1,196 cells (fewer than chance); plants with a lost letter 23/23. F14.2 on the variants waits with F14.2 (#102). 9 min |
| F14.6 "Mix and match": every procedure of up to three hand steps built from K1-K3's operations (keyed alphabet, table with a key word, K3's rotation, keyword columnar, reversal), keys from the source list, ranked by the length of their description | closed: 7 forms cited, 4 run (F14.6a-c, 0248-0250); the dictionary version of form 10 is F14.2 (blocked, #102) | exact | - | reports/f14.6-grammar.md: compositions collapse to 11 canonical forms (moves compose; a keyed alphabet next to the table merges into it; two tables sum their keys); 7 are closed and cited (0005-0011, 0010/0053/0109/0244/0247, 0059/0115/0241, 0110-0114/0129/0130, 0134/0158/0162, 0160, 0161); 4 are open with puzzle-word keys, run as F14.6a-c in order of description length |
| F14.6a Forms 8 and 11: three puzzle words summed on the sculpture's tables; a puzzle keyword alphabet with a puzzle word plus a dictionary word summed | closed | exact | 0248 | Form 8: 171 puzzle words (1,085 starts), every pair of the first two x 24 rules (14,139,720 settings per text), the third word forced at the known places for every length 2-30 and looked up among every rotation of every puzzle word. Form 11: 5,100 puzzle keyword tables (170 alphabets on one or both sides, 3 rules, 2 key numberings) x 1,085 puzzle-word starts, the dictionary word (3-24) forced and looked up. No setting fits K4 in either form, nor any of 50 shuffles; plants 8/8 and 8/8. 3 min |
| F14.6b Form 10: keyword alphabets from puzzle words around a move (0129's library, both orders), the key a key word of any length 1-26 | closed | exact | 0249 | 854 tables (170 puzzle keyword alphabets on one or both sides with standard or KRYPTOS, plus the four standard/KRYPTOS pairs) x 2 forms x 27,852 moves x 2 orders x key lengths 1-26: 2.47 x 10^9 settings per text, each decided exactly by the known letters (bit-packed same-slot checks). K4: no fit below 20 (order A) and 24 (order B), counts never above every one of 30 shuffles; every surviving setting's forced key checked against every dictionary and puzzle word of the length (4 numberings, 3 readings): no key word on K4 or any shuffle. Plants (random puzzle table, move, order, dictionary key word of 5-24) 8/8. 8 min |
| F14.6c Form 9: a move, then two key words summed (puzzle word plus dictionary word) | closed | exact | 0250 | 27,852 moves x 2 orders x 24 rules x 1,085 puzzle-word starts (1.45 x 10^9 settings per text), the dictionary word (3-24) forced at the known places through bit-packed same-slot checks over all moves, looked up among every rotation. No forced word is a dictionary word on K4 or any of 30 shuffles; consistent settings only from length 19 (A) and 23 (B), counts as the shuffles (one cell, A23, 129,215 against at most 128,284, of 44 cells, no word behind it). Plants 8/8. Caught in the dry run: the puzzle word must be read at each known letter's landing place when the move comes first; fixed before the run. 2.8 h on 32 cores |
| F14.7 Plaintext style as the mask: abbreviated, vowel-dropped or telegraphese English (Scheidt's "remember your process"; Sanborn's "disjointed") added to the judge bench, with the power of the quadgram scorer and the judge on it | closed | measured | 0251 | 30 texts per style from Carter with the known letters in place, against the bench's 100 unigram and 100 Markov negatives (share above the highest negative; 'seen' at 90%, the bench's bar). Judge: telegraphese 1.00, abbreviated 0.97, vowel-dropped 0.13 (clean 1.00, X stops 1.00). MIX8m: 0.10, 0.13, 0.00 (clean 0.33). Quadgrams: 0.00 for all three (clean 0.10). So vowel-dropped English is seen by no scorer: every sampled close and every F13 statistic holds for ordinary, telegraphese or abbreviated English read by the judge, not for vowel-dropped text; written into A6. 2 min |
Considered and left out: Baudot or other XOR in base 2 or 16 (outputs fall outside A-Z); a code layer or stego (they change the meaning, not the encipherment, so they sit outside the success criteria); an extinct language (Scheidt says it was refused).
F15. K1-K3 as a guide to K4's content (issue #118)
Drafted 2026-11-04 at Alexis's request, queued after 0267. No published text holds both known phrases (#117), so the plaintext is Sanborn's own prose. Every family so far used K1-K3 as key material. Their content was used only as single probable words (0095, 0172: weak, chance). Sanborn: "I have left instructions in the earlier text that refer to later text" (2005); K4 "will come back to the first part" (2009). This family models what K4 says, then tests whether that model gives a search more to work with than the 24 known letters. The guessed texts are called drafts, not stand-ins: a stand-in here is a scrambled copy of K4 (GLOSSARY.md). The judge never sees the drafts, so it stays a blind check. Work the table top down; F15.3 decides whether F15.4-F15.6 run.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| F15.1 The content model, by reading | closed (2026-11-04): reports/f15.1-content-model.md |
by reading | - | Write reports/f15.1-content-model.md. (a) K1-K3: themes (shading and illusion; something buried and sent underground, its exact location; Carter opening the tomb), voice (first person, short clauses), mechanics (X as a stop in K2, spelled numbers, misspellings, K3's closing question). (b) Every statement on K4's content in knowledge/02-sanborn-said.md and the #117 notes: the two events (Egypt 1986, the fall of the Wall 1989), the World Clock as the crowds' gathering place, "delivering a message", "something following K4", 1991's "not a negative message" and "never totally clear", Kobek's "makes semantic sense", the 1990 strips vetted as not offensive. (c) The layout the known letters fix: 21 letters before EASTNORTHEAST (22-34), 29 between, BERLINCLOCK (64-74), 23 after. Output: 4-8 content hypotheses, each with predicted words and the places they could sit. Candidates: a continuation of K3 in Egypt; Berlin, November 1989; the two events linked; a callback to K2, the buried thing's location given as a bearing from a landmark; the Agency's work; an instruction pointing past K4. Done: seven hypotheses (H1 a paced location as in K2; H2 a meeting at the World Clock, the agent's instruction; H3 Berlin 1989, the crowds; H4 the two breaches, tomb and Wall; H5 a sun or shadow bearing and a time; H6 K3 continued, Carter's answer; H7 a pointer onward), each with predicted words and places (a spelled distance and unit ending at 21; ATTHE/OFTHE/FROMTHE at 57-63; X at 75), mechanics to sample (one misspelling as the mode, X stops, spelled numbers), and a dating point: K5, the 1988 alternate K4, also has BERLINCLOCK at 64. No clean ENE bearing joins Langley, Cairo or Luxor to Berlin (computed), so any bearing is local |
| F15.2 Drafts: the corpus | closed (2026-11-04): data/drafts/drafts.jsonl, tools/f15_drafts.py |
- | - | For each F15.1 hypothesis, Claude writes about 50 texts: exactly 97 letters A-Z, the 24 known letters in place, several sentences that make sense, nothing offensive. Mechanics are sampled per draft and recorded: X stops or none, spelled numbers, 0-3 Sanborn-style misspellings, tense and person. Each draft is stored with its word split, hypothesis, mechanics, model and prompt version in data/drafts/. Guards: a draft within a few letters of a published fan candidate (#28, #117 lists) is dropped, as are near-duplicates. A held-out set (different prompt and model, optionally a few written by Alexis) is never shown to any search and serves only as plants in F15.3. Done: 350 drafts (50 per hypothesis H1-H7, claude-opus-5-5, prompt d1, K1-K3 and Sanborn's statements in the prompt) and a held-out set of 28 (4 per hypothesis, claude-sonnet-5-5, prompt h1, a shorter brief without the statements). Each draft's three free stretches were written in words and the letter counts sent back until exact (all 378 exact, 1-2 turns, no refusals); mechanics drawn per draft and recorded (X stops 0-3, misspellings 0-3 with mode 1, voice, a K3-style XQ ending in 15%). Near-duplicates dropped (half or more of the 73 free letters the same as an earlier draft): 21; kept 329 corpus + 28 held-out. Not applied: the fan-candidate guard, since no list of published fan candidates is in the repo (#28 and #117 searched sources, not candidates); a held-out draft's nearest corpus draft is in F15.3's bounds instead. Cost about $14 |
| F15.3 Power first | closed (0268): bar not met, the drafts do not help | measured | 0268 | Plant held-out drafts through the cells now blocked for lack of checks (F1.1 Beaufort 23 and 26, F1.2 13 and 20-26, F1.4's two-alphabet residue, F6.1). Search each two ways: the 24 letters alone (today's decider), and the 24 letters plus the draft corpus as a prior (English plus closeness to the drafts' words and phrases, never the plant itself). Bar, set before the run: the draft prior finds at least 2 more plants of 12 than the 24 letters alone. Under the bar, F15.4-F15.6 are closed as weak and the family stops here 0268 (2026-11-04, AWS, 35 min, $0.35): 24 held-out drafts planted under two free alphabets (F1.2's cells, 12 at key length 13, 12 at 20), 0144's tempering, four runs, 12 kept-place copies per plant climbed with the same score. Found: English alone 18/24 (9 + 9), English + drafts half and half 16/24 (8 + 8), a fifth drafts 12/24 (6 + 6); gain -2 against the bar +4. Mean letters right 36.8, 37.9, 37.2 of 97: the prior pulls copies up as much as plants. The corpus is narrow: 316 of 329 drafts put THE at 61-63, the held-out drafts 15 of 28 (THE at every place was already decided exactly in F1.1 and F1.2's cells by 0172). |
| F15.4 Probable phrases at fixed places | closed as weak by F15.3's rule (0268: the draft prior found fewer plants than English alone) | exact per phrase, sampled verdict | 0268 | Phrases at least a third of the drafts put at the same place, plus K1-K3's own phrases (LAYERTWO, THEEXACTLOCATION, CANYOUSEEANYTHING, WW...) at every open place. Each placement adds checks to the exact families that were blocked for lack of them (F1.2 from length 20, plaintext autokey lags 53-96, F14.1 lengths 25-26). K4 against kept-place copies, as 0172 did for single words |
| F15.5 Each draft as a full crib, with slip tolerance | closed as weak by F15.3's rule (0268: the draft prior found fewer plants than English alone) | sampled | 0268 | For every draft and every family with a closed-form key (periodic, autokey, running key, the sculpture's tables), force the key from all 97 letters, allowing the draft to be wrong in up to half its unknown letters (A1's slip tolerance), and read the key for structure: period, a dictionary word, running English. K4 against copies with the same drafts |
| F15.6 Past readings rescored by content | closed as weak by F15.3's rule (0268: the draft prior found fewer plants than English alone) | sampled | 0268 | The kept readings of every F13 and F14 search, rescored by closeness to the drafts' content. A reading that rises above its copies goes to the judge, which still sees only the reading |
F1. One keyed stage, no move
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| Periodic key, standard or KRYPTOS alphabets, periods 1-26 and 30-52 | closed | exact | 0005, crib sweep | - |
| Periods 27-29 and 53+ on any alphabet pair the puzzle's words build | closed at 27-29 and 53; blocked above 53 | exact consistency; the key completion is noise against coppers. Positive controls (#73): a plant is told from its copies at 28 and 53, not at 80 (C-F1-2d) | 0034, 0035, 0048, 0053 | above 53 the climb overfits copies as well as English (0136's bound): only a better English model could decide |
| Periodic key on alphabets from any dictionary word | closed | exact | 0109 | - |
| Progressive key | closed | exact for the periodic step forms tried; per-letter form and periods 26-52 on every dictionary table in F1.9 (0155) | 0011, 0042, 0155 | - |
| Ciphertext autokey, any lag, on 1,092 keyword tables (63 vocabulary, 102 K1-K3 words, 925 near-KRYPTOS, 42 compass words); a free alphabet is F1.7 | closed | exact | 0002, 0025, 0064, 0118 | - |
| Plaintext autokey, lags 1-52 | closed | exact | 0003, 0012 | - |
| Plaintext autokey, lags 53-96 | blocked | exact bound (0136) | 0012, 0136 | lags 85-96 blocked for good: the primer's open bits exceed what 73 letters of English can carry even at Shannon's lowest entropy (0136); lags 53-84 exceed the quadgram scorer's 130 bits, so only a better English model than the harness has could decide them |
| Running key from K1-K3, the sculpture's texts, Carter, Sanborn's letters (Carter on fixed and one keyword-mixed table only; Carter on a free alphabet is F1.8) | closed | exact | 0004, 0017, 0021, 0045, 0047, 0078, 0098, 0117 | - |
| Running key from an unknown English text, standard, KRYPTOS or puzzle-word alphabets | closed as far as testable | sampled; best forced stretch equals the coppers | 0009, 0010 | - |
| F1.1 Free alphabet, the same on both sides (Quagmire III with unknown order), periods 3-26 | closed: exact except Beaufort 23 and 26, which are closed at measured power (Alexis, 2026-10-28, #100); rerun with more copies in F1.12 | exact for the added form at 1-26 and the Beaufort form at 1-22, 24, 25 (0119); Beaufort 23 and 26 sampled at measured power: F1.5's decider (design 2) puts K4 9th of 13 (23) and 12th of 13 (26) among copies of itself; planted texts beat all their own copies 6 of 8 (23, 0139) and 5 of 6 (26, 0140); Sanborn-style plants 10 of 12 at 23 (A6.2, 0226) and 6 of 12 in a second draw (D1, 0228; clean 6 of 8 again): pooled 16 of 24 = 67%, under the 6 of 8 bar, so length 23 is reopened by A6.2's rule; with 24 more (0229): clean 21 of 24 (pooled 33 of 40), Sanborn-style 16 of 24 (pooled 32 of 48 = 67%, still under); length 26 redrawn at 13 of 24 clean and 17 of 24 Sanborn-style (0229), under its 5 of 6 bar: reopened; masked plants at 23 (A6.3, 0227): reversed 7 of 8 found, an X every kth letter 5 of 8 and the message in every nth place 3 of 8, under the 6 of 8 bar: the sampled lengths do not decide those masks | 0097, 0100, 0102, 0119, 0120, 0139, 0140, 0142, 0226, 0227, 0228, 0229 | Beaufort 23 and 26: open, waiting for Alexis (issues #84, #77): a decider whose power on Sanborn-style plants is bounded with enough plants, then K4 again. Masked messages (X every kth, message in every nth) at 23 and 26: a search that keeps the mask would be needed; none in the queue |
| F1.2 Two free alphabets (Quagmire IV), periods 3-26 | closed where English can decide; length 13 closed at measured power (Sanborn-style 17/24, clean 7/10; Alexis, 2026-10-28, #100), rerun in F1.12 and D1b; blocked above the bound | exact: no pair fits at 1-7, 9-12, 14, 15, 17, 18, 21, 22, 25 (0123); 8, 13, 16 sampled at measured power: K4 2nd, 13th and 7th of 13 among kept-place copies (0146, 0144); power 4/4, 5/5, 4/5 on clean Carter (0145, 0143). Length 13 reopened 2026-10-27 (A6.2, 0226): on Sanborn-style plants (X stops, K1-K3 windows, three changed letters) design 2 finds 9 of 12 by quadgrams, under the 4/5 bar; the judge 0 of 12. K4 was 13th of 13 there (0144), so this weakens the strength of the close, not a lead. A second draw (D1, 0228): Sanborn-style 8 of 12 (pooled 17 of 24) and clean 2 of 5 (pooled with 0143: 7 of 10, under the bar), so design 2's two-alphabet power is in doubt at 13 even on clean text; 8 and 16 rest on 4-5 clean plants each. Lengths 8 and 16 were not measured on messy text. Masked messages measured at F1.1 L23 only (A6.3, 0227: X every kth and every nth place not found at power), so 8 and 16 are closed for unmasked or reversed English only | 0097, 0121-0124, 0143-0146, 0226, 0227, 0228 | length 13: open, waiting for Alexis (issue #84): a decider with power at least 4/5 on Sanborn-style plants (D1 measures design 2 on these plants), then K4 at 13 again. 19, 20, 23, 24, 26 blocked by 0136's bound: the key's open bits exceed what the quadgram scorer can read in 73 letters (only a better English model could decide). Length 19 fit is rare (26 of 1,000 coppers, 0124): noted, not a signal |
| F1.3 Forced key stretches read as running English on the 208,062 dictionary alphabets | closed | sampled at stated power: K4 best -4.94, inside 50 coppers (-5.28 to -4.30) and below all 20 planted running keys (-3.82 to -4.78); 11 of 20 plants beat every copper | 0010, 0125 | - |
| F1.5 A decider for cells the known letters cannot decide | closed | step 1 exact (0136: bound per cell); step 2 two designs: design 1 (check-keeping climb, 0137) failed its validity check against each plant's own copies (0138: 6/12, bar 9); design 2 (parallel tempering in the check-keeping set, compiled) passed (0139: 6/8; also 0140, 0143, 0145 at other cells), then decided F1.1 and F1.2's cells (0140, 0142, 0144, 0146) | 0120, 0136-0146 | the rule learned: power is measured against each planted text's own scrambled copies, never the target's (0138). Covered cells too costly to run one by one are listed in their own rows (F1.4, F1.7, F6.1, F6.2) |
| F1.4 Hand key schedules other than the Berlin clock and Carter dates | closed, sampled: one-alphabet residue (0253-0255: K4 inside 40 stand-ins, p 0.51; plants 17/24); two-alphabet residue (0267: all 4,706 slot maps K4 fits on two free alphabets, D1b's four runs, K4 above all 12 kept-place copies in 363 (7.7%, chance 7.7%), 8 of 20 stand-ins at or above, p 0.43; plants 12/24). Rerun at ten runs: F1.14 | exact. List (NOTEBOOK 2026-10-16): tableau rows as keys (C20(d)); skip, stutter, back and forth, triangle, square, restart per carved line; C20(c) done by 0017/0090/0117; C20(e) K5 blocked (no text). No rule fits K4 on those tables; on free alphabets consistent at the coppers' rate (0127 rank 6 of 31) | 0126, 0127, 0128, 0252, 0253, 0267 | 0267 (2026-11-04, AWS 32 cores, 532 min, $5.35; begun on the laptop 2026-10-30, resumed from 821 saved units): 0144's tempering generalised to any slot map (self-check against 0144 at 13 and 16: identical), 12,640 settings listed, 4,706 fit K4 (7,933 dead, 1 undecided), 24,309 four-run climbs. K4 above all 12 kept-place copies in 363 settings (7.7%; 1 in 13 is 7.7%); 20 kept-place stand-ins on 60 settings each: 0-15%, 8 at or above K4, p 0.43. Best readings junk with the 24 known letters in place (top: back and forth n=25, GRUSEINALLERSWAYSPEAR...). Plants on K4's own settings: 8 of 12 clean, 4 of 12 Sanborn-style above all 12 own copies (D1b's 66 of 96 was at periodic 13 and 16; the long-slot schedules here are harder). Closed at that power. Earlier: 0253 (2026-10-29): all 2,093 settings decided, one run on K4 and fitting copies one at a time (12, escalated to 100), 21,878 climbs, 4 h on Modal ($6.33): K4 above all 12 in 299 (chance 161, binomial p 1e-24), above all 100 in 66 (chance 21); below its first copy in 822 (fair 1,046), so the excess is spread over the whole cell; best readings junk with the 24 known letters in place (best: skip m=8 phi=2 n=23, added form); plants 8/12 clean, 9/12 Sanborn-style. 0254: K4 13.3% of 400 schedules above all 12 (replicated), but four shuffled stand-ins through the identical procedure gave 10.2%, 7.2%, 1.5% and 17.5%: each text has its own rate, shared over its schedules (they share the 24 known places), so the per-schedule null of 1 in 13 and 0253's binomial p were wrong; K4 2nd of 5; pre-registered verdict 'unclear' (pooled 9.1%, z 2.47); K4's 25 strongest schedules against 100 fresh copies: 9 above all again (a text-level advantage does that). 0255: K4 and 40 stand-ins, 80 schedules each: K4 10.0%, stand-ins mean 10.8% (sd 6.5, range 0-28.8%), 20 of 40 at or above K4, p 0.51: the excess was the procedure's (each text has its own rate, and the selection by fit lifts the mean above 1 in 13). One-alphabet residue closed, sampled at the plants' power (8/12 clean, 9/12 Sanborn-style against 12 own copies). Lesson for every count of settings or cells where K4 beats its copies: the null is a spread over texts put through the whole procedure, not a binomial. Planned in 0253: 0254 runs K4 on 400 of its settings with fresh copies beside four shuffled stand-ins for K4 through the identical procedure (the procedure's own null), and K4's 25 strongest settings against 100 fresh copies. Earlier: D2 (0252): the 2,093 one-alphabet settings K4 fits (both forms) cost about 41 core-hours with D1's one-run decider, measured power on plants drawn from them 37 of 48 (skip) and 37 of 48 (other schedules): run them all, K4 against 12 copies climbed one at a time. The 1,346 two-alphabet settings: D1b (0257) qualifies four runs for two alphabets; cost about (1 + 4 copies) x 4 runs x 18 s per setting, about 135 core-hours, plus stand-ins (10 shuffles of K4 on 80 of their own settings each, about 25 core-hours; 0254-0255 showed a count over settings needs them): about 160 core-hours, about 20 h on the laptop (Modal credit nearly spent) |
| F1.6 One carved letter wrong, missing or extra, run through the exact unknown-alphabet tests, then the other exact verdicts on free alphabets | closed (one cell sampled at power 3 of 5, D3, 2026-10-29) | exact: periodic one and two free alphabets, 604 variants (0147: K4 above every copper in 2 of 78 cells, null 0-11); Gromark 0069/0076/0107, 605 variants: no fit (0150); trifid, 5,044 variants anywhere: no cube (0151); Hill, 5,044 variants: 257 alive with one check, rank 4 of 11 against copies (0151, 0152) | 0147, 0148, 0150, 0151, 0152 | the one cell 0147 revived by meaning, K1/K2's added form at length 19 with the carved S at 33 a slip, failed the decider's power bar (0148: 3/5, bar 4; one plant recovered exactly): blocked, weak |
| F1.7 Autokey on one unknown alphabet | closed: no move, sampled at low measured power (0256); the move-first version blocked by cost; rerun in F1.13 | exact (0149) for dead lags; 0256: plaintext autokey's chains written in full (0149 used only known places exactly L apart and skipped cells with none): 130 cells fit K4 (43 ciphertext, 87 plaintext), 3 of 0149's fitting cells dead exactly (pt/B/6, pt/B/7, pt/V/11), 30 cells 0149 never decided now checked; every fitting cell decided by a climb against fitting copies (to 12, escalated to 100): K4 above all 12 in 7 of 130, among 10 shuffled stand-ins through the same procedure 6 at or above K4's rate (p 0.64); planted messages found ciphertext autokey 8/24 (clean 6/12, Sanborn-style 2/12), plaintext autokey 4/24 (1/12, 3/12) | 0149, 0256 | the move-first version is about 176 million exact searches (blocked by cost). Low power: on ciphertext autokey no climb tried (annealing, check-keeping tempering, penalty tempering at three penalties, five times longer) reached a plant's own score in desk tests (2026-10-29); a better autokey decider is F1.13 |
| F1.8 Carter's book as a running key on one unknown alphabet (both directions, every offset, three rules); for every running-key source, whether two unknown alphabets leave any checks | closed (one alphabet); two alphabets blocked by structure | exact (0154): no offset fits K4 or any of 10 copies; 953 of about 1.7 million undecided at the node limit (copies 99-20,675). Two alphabets: the 24 equations leave 0.1 checks on average, at most 4, for Carter, K2, K3 and the cipher panel | 0153 (error), 0154 | two unknown alphabets with a running key cannot be decided by the known letters |
| F1.9 Progressive key, per-letter and per-repeat, on keyword-mixed and dictionary tables; periods 26-30 against coppers; Kryha's step 3 at 31-52 | closed | exact (0155): 1,040,314 tables x 2 forms x steps 1-25 x periods 1-52; shortest consistent period 25 (copies 24); K4 above every copper in 4 of 104 cells, null 0-5 | 0155 | period 34 noted (K4 40 and 20 consistent pairs against copier maxima 10 and 7), inside the fixed statistic, not chased |
| F1.10 Friedman's keyword-only key-advance schedules (run length by value, CHRISTMAS, EXTINGUISHER windows, ciphertext and plaintext interruptors, fraction digits) | closed | exact (0156) with 10 copies: no dictionary word fits any word schedule on K4 or the copies; ciphertext interruptor and fraction digits 0 on K4 (copies 0-14); plaintext interruptor inside the runs 160 against 120-7,165 | 0156 | free-alphabet versions are F1.4's residue (blocked by cost) |
| F1.11 A split key phrase (Elementary Military Cryptography par. 59d) | closed | exact (0157): 29,880 phrases (puzzle-word pairs, K1-K3 word runs split at each boundary) x 3 numberings x 3 rules: best 7 of 24 known letters on K4, copies 7-8, no full hit | 0157 | - |
| F1.12 The three cells closed at measured power on 2026-10-28 (F1.1 Beaufort 23: clean 33/40, Sanborn-style 32/48; F1.1 Beaufort 26: 13/24 and 17/24, the weakest; F1.2 13: 7/10 and 17/24): K4 against 100 or more own copies with the one-run decider (D1), so K4's rank is measured finely, and the blind judge and MIX8m (0233) as second deciders | closed | sampled | 0228, 0229, 0261 | 0261: K4 against 100 own copies per cell (one-run decider for one alphabet, four runs for two after D1b), the best readings read by quadgrams, MIX8m and the blind judge (303 calls, none failed). Copies at or above K4 (quadgram / MIX8m / judge): F1.1 Beaufort 23: 68 / 55 / 46; Beaufort 26: 70 / 10 / 50; F1.2 13: 100 / 97 / 86. Plants 7, 5, 5 of 8 against 6 own copies. K4 above all copies on no reader in any cell. $0.32 |
| F1.13 Rerun F1.7 (autokey on one free alphabet, 130 cells) with a decider of useful power: a climb that recovers ciphertext-autokey plants (0256: 8 of 24) and plaintext-autokey plants (4 of 24), for instance moves over the alphabet that keep the chain equations (exact witnesses re-solved after each swap) or a decider on the chain's letter-pair statistics; K4 against stand-ins | blocked: no decider (2026-11-04). A run with any search we have would tell nothing new: 0256 already ran the best one (plants 12/48), four desk designs missed the bar (split mod 13 and 2, exact pairings, check-keeping tempering past lag 12, a chain beam), more runs do not lift power (0269, two-alphabet schedules: 14, 12, 14 of 24 at 1, 4, 10 runs), and about 67 of the 130 cells are capped by the score (wrong readings out-score the true one). Unblocked by a new search idea for the other 63 (ciphertext autokey lags 32-61, plaintext autokey lags 8-30) | - | 0256 | Alexis, 2026-10-28 (#100): a close at low power gets a rerun row when one is in reach. Desk work first: measure a candidate climb on 0256's plant cells before a run Desk 2026-10-30: exact enumeration of the alphabets consistent with each cell is out (10^12.7 to 10^25 per K4 cell, by the rank of the known-letter equations mod 2 and 13). On ciphertext-autokey plants at K4's lags 37-72, 0256's tempering ends 1.0-1.5 quadgram units under the true reading; ten times the rounds, or the best of ten runs, reach it in 1 of 5; the check-keeping climb no better; a first climb on the coincidence rate of the difference stream overfits (3-5 times the true value). A new search is needed (for instance a constructive beam over the alphabet, letters assigned by ciphertext frequency, scored on the positions each partial alphabet decodes). Desk 2026-10-31 (drafts/F1.13-design.md): every form is linear in the numbering, so split it mod 13 and mod 2: climb only the pairing of letters on the 13 residues (26!/(2^13 x 12), about 4 x 10^21, against 26!/12), and solve the last 13 bits exactly (8,192 choices, cut by the checks mod 2); to measure on 0256's 48 plants before a run (bar 16 of 24 per kind). Measured 2026-10-31 (drafts/F1.13-design.md, three probes in drafts/): the bar is not met by any of four searches (the split climb on a summed-pair surrogate, the same with each pairing scored exactly, 0256's check-keeping tempering past lag 12: 0 of 8 pt plants at 14-24, and a constructive beam along the chains, which is correct when seeded with the true alphabet but dies unseeded at 200,000 states). Ceiling: 0256's own climbs already score above the true reading in 10 of 13 ct plants at lags 66-73 and 10 of 11 pt plants at lags 32-52, so about 67 of K4's 130 cells (ct 64-73, pt 31-52) lose their plants to the score, not the search, and stay sampled at 0256's power whatever the climb; the other 63 (ct 32-61, pt 8-30) lose them to the search (true reading best found, climbs 0.25-2.2 units under it). Stays open for those 63 cells, for a search not yet in hand (a beam that branches only where a check is about to close) |
| F1.14 Rerun F1.4's two-alphabet residue (0267, plants 12/24) at ten runs per climb, D1b's reference (71 of 96 against four runs' 66), on all 4,706 settings with 20 stand-ins | closed (0269): gate not met | - | 0257, 0267, 0269 | Alexis, 2026-10-28 (#100): a close at low power gets a rerun row. Cost about 2.5 times 0267: about 1,250 core-hours on AWS (about 40 h, about $25). Gain measured by D1b only at periodic 13 and 16 (+5 of 96); measure ten-run power on 0267's own plant settings first (24 plants, about 1 h), and run only if it lifts the plants by 3 or more 0269 (2026-11-04, AWS, 21 min, $0.22): 0267's 24 plants regenerated exactly (24 of 24 settings match), 12 kept-place copies each, ten runs per text: found after 1, 4, 10 runs 14, 12, 14 of 24 (clean 8, 6, 9; Sanborn-style 6, 6, 5). Gain 2 against the gate 3: power is flat in runs, so the climb's score, not its search, caps it. F1.4's two-alphabet close stands at about half the plants |
F6. A move, then the table
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| Columnar (plain, keyed, double), K3's rule, quarter turns, grid paths, rail fence, AMSCO, Myszkowski, then a periodic key on standard, KRYPTOS or word alphabets | closed | exact | 0006-0008, 0026, 0058, 0080-0086, 0099, 0110-0114 | - |
| The same moves with autokey, running key or clock schedules | closed | exact | 0063, 0081, 0090, 0091 | - |
| Three stages | closed | exact for clockwise triples at 2-96 (0083) and every mix of four column readings, triples at widths 2-24 and pairs at 2-96 (0134) | 0037, 0083, 0134 | F6.3 done: nothing live below 20, at the coppers' rate; mixed triples at widths 25-96 are F6.3b |
| F6.3b Mixed triples of the four column readings at widths 25-96 | closed | exact (0158): 105,548,253 distinct routes (compiled, checked against Python); shortest consistent key 18 after (copies 19), 24 before (17); K4 above every copper in 3 of 52 cells, null 0-3 | 0037, 0158 | one setting at 18 (col 93, cw 65, cw 84; KRYPTOS table, Beaufort) noted |
| One carved letter wrong, missing or extra, through the move library | closed | exact | 0093, 0094 | - |
| AMSCO at period 23 after the move: 15 distinct check sets against 1-9 on the coppers | closed by F6.22-F6.22c (0263-0266: the excess was the count of settings; no forced key is English) | exact | 0114 | Alexis, 2026-10-28 (#100): a result that beats its copies gets a row |
| F6.1 Free alphabet (Quagmire III) after or before each move, periods 3-26 | closed, sampled at lengths 6-10 (0270: K4 inside 20 stand-ins, p 0.43; plants 11/24); 11-26 blocked by money | exact: every type-1 move, both orders, both forms, lengths 1-26; no fit below 6; fitting cells at the coppers' rate (0129: 7 of 52 cells above every copper, null 0-8; 0130: 0, null 0-10) | 0097, 0129, 0130, 0252, 0270 | 0270 (2026-11-04/05, AWS, 542 min, $5.45; one AWS leg lost to a clock-skew error after a laptop sleep, resumed from its checkpoint): 0253's one-run decider on 0129's library (27,852 moves) x 2 orders x lengths 6-10 x 2 forms (557,040 settings, 7,443 fit K4; self-check against 0140 identical). K4 above all 12 fitting copies in 570 (7.7%; chance 7.7%); 20 full-shuffle stand-ins on 300 of their own settings each: 3.0-13.3%, 8 at or above K4, p 0.43. Best readings junk. Plants on K4's own settings: 6/12 clean, 5/12 Sanborn-style (D2's measured one-run power was 31 of 48). No rerun row: more runs leave power flat (0269), so the cap is the score. Lengths 11-26: 435,693 settings, about 7,650 core-hours = about 240 h on AWS c8g.8xlarge, about $145 at $0.60/h: the whole month's AWS budget ($150), so it waits for Alexis (money). Earlier: D2 (0252): D1's one-run decider has power 31 of 48 (lengths 8-10) and 32 of 48 (11-26) on plants drawn from K4's own fitting settings. Lengths 6-10: 7,443 settings, about 248 core-hours, plus stand-ins (0254-0255: a count over settings needs shuffles of K4 put through the same procedure; 10 stand-ins on 300 of their own settings each, about 100 core-hours): about 350 core-hours, about 44 h on the laptop (Modal credit nearly spent, 2026-10-30): run on the laptop after F6.22 and F1.4's two-alphabet residue. Drafted 2026-10-30 (drafts/attack-f6.1-draft.py: 0253's decide() unchanged on 0129's library, 10 full-shuffle stand-ins x 300 of their own settings, 24 plants; plumbing smoke-tested). Lengths 11-26: 435,693 settings, about 7,650 core-hours, about $376 on Modal or months on the laptop: waits for Alexis (money) |
| F6.2 Two free alphabets after or before each move | open at lengths 3-10 (D2 re-cost with D1b, 2026-11-05: drafted, next after F14.2); 11-14 wait for budget; 15-26 blocked by 0136's bound | exact at 1-10 for every move, both orders, with undecided counted; per-slot refutation at 11-26 (0133); 97-99% of per-slot survivors fit at 11-26 (0131, 0132); K4 above every copper in 5 of 52 cells, null 2-7 | 0097, 0131, 0132, 0133 | D2 re-cost (2026-11-05): 0133 counts 42,644 (move, order, length) settings at 3-10 that fit K4 exactly on two free alphabets (10,988 move then table, 31,656 table then move). At D1b's four runs and 0267's measured ~300 core-s per decided setting: about 3,700 core-hours with 20 stand-ins x 100, about 116 h on AWS, about $70, inside this month's $150 budget (about $22 spent): reopened. Drafted (drafts/attack-f6.2-draft.py: 0144's climb patched for slot and message place per carved letter; self-check against 0144 identical; a plant climbed from its true alphabets holds its reading, 94 of 97 letters). Lengths 11-14: about 100,000 per-slot survivors, about $160: wait for next month's budget or Alexis. Earlier: lengths 15-26 blocked by 0136's bound; 3-14 blocked by cost as F6.1 (tens of thousands of fitting settings) |
| F6.4 Padding applied separately at each grid stage; nulls dropped between griddings | closed | exact: the hand padding rules listed in NOTEBOOK 2026-10-16 (blanks in 8 places per grid, dropped or kept as dummies), one stage at widths 2-96, two at 2-48, periodic key 1-26 either side, 874,572 routes; nothing live below 21, at the coppers' rate (0135) | 0082, 0135 | - |
| F6.5 Direction words as routes through the grid | closed | exact (0159): the 16 compass points as reading directions at every width, lines either way, and E/ENE/NE in two stages: 110,820 routes; shortest consistent key 21 after, 25 before, as the copies; 1 of 52 cells, null 0-1 | 0159 | - |
| F6.6 Move, change, move again | closed for a library of 844 moves | exact (0160): column readings at every width and K3's rule at every multiplier, both directions; all 712,336 ordered pairs; shortest consistent key 20 (copies 18); 1 of 26 cells, null 0-2 | 0160 | the full type-1 library squared (776 million pairs) would need the composition compiled; not run |
| F6.7 Change, move, change with the two keyed stages on different tables | closed | exact (0161): standard then KRYPTOS or the reverse, keys 2-14 each, 844 moves, propagation over the one-to-one links; consistent with 5+ checks K4 388, copies 300-504; every level inside | 0161 | one 9-check setting (inverted two-row turn at width 84, keys 13 and 13) noted; copies' 9-check count not recorded |
| F6.8 Three-stage routes with a keyword columnar stage | closed | exact (0162): 131 distinct keyword columnars (puzzle, K1-K3 words) and 92 plain readings (widths 2-24), every triple with a keyword stage: 20,370,476 routes; shortest consistent key 20 after, 24 before, as the copies; 0 of 52 cells | 0037, 0083, 0134, 0162 | - |
| F6.9 Both autokeys with 0084's double columnar routes | closed | exact (0163): 3,284,523 routes x lags 1-96 x after/before x ciphertext/plaintext autokey x std/KRYPTOS x 3 rules; survivors with 5+ checks K4 0, 9, 1, 0 against copies 0-8, 5-21, 0-1, 0-480 | 0084, 0085, 0163 | - |
| F6.10 Padded grids whose blank cells are chosen by a key | closed | exact (0165): blanks under the first or last key numbers in the last or first row, 181,308 keywords, 1,450,196 routes; shortest consistent key 21 after, 25 before (copies 20, 24); 0 of 52 cells | 0082, 0135, 0165 | - |
| F6.11 Keyword-disrupted and triangle columnar transpositions | closed | exact (0164): disrupted columnar 327,440 routes, TM 32-220 triangle (19 columns, blanks at end or start) 654,876 routes, 163,720 keywords; shortest consistent keys 23 / 24 (copies 22 / 24); 0 and 1 of 52 cells | 0164 | free-table version not run: after a move free alphabets fit at the copies' rate (F6.1) |
| F6.12 EVA double triangle | closed | exact (0166): 1,920 19-letter keys (K1-K3 windows, dictionary, puzzle pairs); no key up to 26 after the move on K4 or copies, 25 before as the copies | 0166 | - |
| F6.13 Chiffre XIII's five-row mask, then its period-5 shifted mixed alphabet | closed | exact (0166), as a parametric family: the source does not give the rule for rows 2 and 4, so every split and row-4 shift for 6,296 keys of 24-31 letters (2,248,512 masks), then the published substitution on an unknown alphabet decided exactly: no mask consistent with 3+ checks on K4 or any copy | 0166 | the documented mask rule (forms 5-9) would need the primary text (scz.bplaced.net ยง10.1) |
| F6.14 Nihilist transposition on a 10 x 10 square with three blanks | closed | exact (0167): all 10! keys x 8 blank places x row or column reading x both directions = 116,121,600 routes; shortest consistent key 20 after, 24 before (copies 18, 17); 0 of 52 cells | 0167 | - |
| F6.15 Sanborn's "1-2-3" spacing of the raised YAR as an ordering | closed | exact (0166): counting off 1-2-3 and 4-5-7 (YAR's places in ENDYAHR) in every order around the text; nothing up to 26 after, 26 before, as the copies | 0166 | other readings of "1-2-3" (C22(d)) not specified by the source |
| F6.16 Interrupted-key columnar transposition | closed | exact (0164): rows cut by the keyword's numbering (163,720 keywords) or by the digits of 1/d (puzzle words): 332,817 routes; shortest consistent key 23 after (copies 21), 25 before (24); 1 of 52 cells, null 0-3 | 0164 | - |
| F6.17 Trapezoid transposition | closed | exact (0164): base = keyword length, rows one shorter going up on either side, fewest blanks: 89,708 routes; shortest consistent key 26 after, 25 before (copies 23, 24); 0 of 52 cells | 0164 | - |
| F6.18 Letters reshuffled inside each row by a keyword at widths other than 7 | closed | exact (0165): widths 2-48 (dictionary and puzzle words; K1-K3 windows for 25-48), 361,698 routes; shortest consistent key 21 after, 25 before (copies 21, 24); 2 of 52 cells, null 0-2 | 0070, 0165 | - |
| F6.19 The French diagonal method | closed (key-named diagonals) | exact (0165): the diagonals from the tops of the columns numbered 1 to j first, then columns by key order (j up to the key length for puzzle words, 1-3 for dictionary words): 2,264,476 routes; shortest consistent key 22 after, 24 before (copies 20, 24); 1 of 52 cells | 0165 | diagonal sets not named by the key would be an extra agreement with no source: not tested |
| F6.20 Turning grille (Fleissner): a 10x10 card with 25 holes turned four times holds K4's 97 letters plus 3 empty squares; the grille before or after a periodic key on the KRYPTOS or standard table, both orders (issue #78) | closed for key words and short free keys; long free keys blocked by cost | exact: every card (4^25), turned cw or ccw, empty squares at the end or start, copied out by rows (0199) or by columns (0201; written by columns is the transpose): free keys 1-6 by rows and 1-4 by columns (8 classes), and 200,563 key words of 7-28 letters on 24 conventions: no landing map fits K4 or any of 10 copies; plants found (0201's English key-word plants cut by the clock after every copy finished; self-check 16/16 planted words). F7: grille plus key makes both fingerprints in 0 of 2,000 | 0199, 0200 (error), 0201 | free keys of 7-26 letters (rows) and 5-26 (columns) blocked by cost: 10^8-10^9 nodes per setting at 7 by rows, over 2 x 10^9 at 12; the Abwehr's 13x19 stencil and other fixed stencils not tested (no remembered rule for their holes) |
| F6.21 A deliberate procedural slip in the transposition: one column skipped or doubled, or one digit of the key's numbering wrong, around every keyword columnar already tested (issue #78) | closed | exact (0202, 0203): one column read out of its place (a misnumbered key; adjacent swaps included) or two swapped, in any one pass, around 0110's dictionary keyword columnar (67.8M slipped routes), 0112's double (135.5M), 0164's interrupted key (51.9M) and trapezoid (26.0M), 0165's row reshuffle (121.7M) and 0190's poem code (3.8M), then or before a periodic key 1-26: shortest consistent keys as the copies; K4 above every copy in 0-2 cells per family except the row reshuffle's 6 (null 1), which 40 fresh copies dissolved (0204: 1 cell, copies 0-2); plants 6 of 6 | 0202, 0203, 0204 | a skipped or doubled column alone changes the length (97 needs a longer message or two compensating slips): not searched; Myszkowski, AMSCO, keyed blanks, triangle, disrupted not on the item's list. A21 in the row reshuffle (rows of 9, 88 settings vs copies' max 54) noted, not chased |
| F6.22 0114's AMSCO excess at period 23 (K4 21 live settings, 10 shuffles 1-15): the same exact count against 200 fresh shuffles at periods 22-24, and every K4 setting live at 23 checked for a forced key that is a 23-letter window of the named texts; a planted AMSCO message with a K3 key in the same run | closed (with F6.22b-c) | exact (a count) | 0263 | 0263: at 23 K4 21 agreeing settings, 200 shuffles 1-31 (median 8), 4 at or above (p 0.025; three key lengths looked at, so 0.075 corrected); at 22 K4 2 (81 at or above), at 24 4,184 (111 at or above). None of K4's 21 forced keys is a 23-letter passage of the 38 named texts (both directions, two numberings); the planted K3 key found. A count is a property of the text (0254, 0255); the excess is at the edge, so F6.22b reads the forced keys for English |
| F6.22b Chase of 0263: the keys K4's agreeing AMSCO settings force at period 23 (almost all 23 letters), scored for English against the best forced key of each of 0263's 200 shuffles; 20 planted English running keys for power | closed at power 20 of 20 (with F6.22c) | sampled | 0264, 0265 | 0264: mean quadgram over fully forced 4-grams, keys with fewer than 8 skipped: plants 6 of 20 (partly forced true keys skipped), K4 p 0.12: flawed. 0265: English log-likelihood against random, gaps allowed: plants +9.3 to +36.7 bits, 20 of 20 above every shuffle; K4's best -11.9 bits (SEV?HHEMTPMPXRMGRONEXHI), 5 of 200 shuffles' bests at or above (p 0.03), but K4 takes its best from 21 settings, the median shuffle from 8 |
| F6.22c Chase of 0265: K4's best forced key against the best of 21 settings drawn from the shuffles' pooled settings (count-matched), and per setting by rank sum | closed | sampled | 0266 | Count-matched p 0.06 (K4 -11.9 bits, null median -26.4, 95th percentile -11.1); per setting K4 mean -54.5 against -52.5 (p 0.84); plants 20 of 20. The F6.22 excess is the count of settings, a property of the text; no forced key is English |
F12. Stein's way: look, quantify, then crib
Added 2026-10-16 (issue #53). Not a cipher type but a way of working: what David Stein, who
solved K1-K3 by hand in 1998, would do with a few free weeks and today's record. Source:
knowledge/sources/stein-1999-cracking-the-courtyard-crypto.txt. He looked before he attacked
("I seemed to see different patterns throughout, but I wanted to quantify these impressions"),
split the text where its statistics changed, read the plaintext for hints about the method, and
when the statistics ran out, guessed probable words. Items F12.2 and F12.4 produce
observations, not verdicts: each observation that stands outside the shuffles becomes a new item,
in this family or the one it points to.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| F12.1 The 97 letters and the "?" checked against images of the copper (he walked out to feel UNDERGRUUND) | blocked (partly checked) | partial (issue #81): a Library of Congress photo (Highsmith, LCCN 2011631531) taken from behind shows 60 of K4's 97 letters at letter resolution, all agreeing with the transcription (lines 2-4 except their last 10-12 letters); ?OBKR and 37 letters remain unseen. The NYT 2010 typeset clue also agrees |
- | a second image of the plate's other end (A4, A1); reports/k4-photo/ |
| F12.2 Quantify the impressions: K4's statistics by segment and by width (letter counts per segment, I.C. against period 1-48 as in his Figure 26, positional patterns at widths 7, 21, 31), each against 1,000 shuffles | blocked | sampled (0168): 71 statistics fixed before the run, each against 1,000 shuffles; nothing outside every shuffle (0.14 expected); smallest p the width-7 doublets (0.002), as 0056 | 0168 (before: 0056 measured two of the patterns) | weak: a positive control (#73) planting the structure the test looks for is not told from shuffles or copies (C-F12.2, C-F12.2b); the 'nothing found' says little |
| F12.3 His I.C. peak at m = 13 in both K1 and K2 (C28): real or chance | closed | sampled (0169): K1 p 0.0075 against 10,000 shuffles within its key columns, about 0.019 allowing for the strand counts scanned (post hoc); Part II 0.24, K4 0.21: chance, nothing overlaid | 0169 (before: 0005, 0011 tested period 13 on K4 only) | - |
| F12.4 A pencil session: K4 written out at the widths that matter, the known letters marked, every pattern noted before any search code ("the process of discovery is often intuitive as well as analytic") | blocked | sampled (0170): six patterns noted by eye at widths 7-31; none outside 1,000 shuffles; two at p 0.004, found by looking; no new item | 0170 | weak: a positive control (#73) planting the structure the test looks for is not told from shuffles or copies (C-F12.4, C-F12.4b); the 'nothing found' says little |
| F12.5 Parts with their own keys (A7): K4 split where F12.2 or F12.4 finds a break, or at the known stretches, each part with its own periodic key on the standard or KRYPTOS tables | closed | exact (0171): split between the runs (no break found), each part its own key up to 12 and 10 on 8 table classes; no length fits K4 (copies 0-1 cells) | 0171 | - |
| F12.6 Probable words, his breakthrough (THE, then KNOW): common English words and the words of K1-K3's plaintexts placed at every position in the cells the 24 known letters cannot decide (F1.1 Beaufort 23 and 26, F1.2's consistent lengths, F6.1, F6.2) | blocked | exact (0172): 60 words x 3,634 placements in the ten undecided cells; K4 above every copy in 1 of 10 cells, copies 0-3: chance; F6.1 and F6.2 have no cells to place words in (blocked by cost) | 0172 (before: 0095 dragged riddle words at the live periods only) | weak: a positive control (#73) planting the structure the test looks for is not told from shuffles or copies (C-F12.6); the 'nothing found' says little |
| F12.7 His K1-K3 method as such: every shift of each column written out, columns scored by summed log letter frequencies, then a crib | closed | by subsumption, no run: 0005's exact sweeps cover every periodic key on the standard and KRYPTOS tables, which is what the column method finds; the live lengths fit coppers equally (0034) | 0005, 0034 | - |
F3. Two-part key with a combiner
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| Two words added, both from the puzzle, or one from the dictionary | closed | exact | 0014, 0043, 0059, 0115 | - |
| A word plus digits from the story (coordinates, dates, counts) | closed | exact | 0024, 0038 | - |
| A word plus the misspelt or raised letters | closed | exact | 0061 | - |
| Column word plus row key | closed | exact | 0087, 0088 | - |
F3.1 Combiners other than addition (subtraction both ways is done; table lookup through a second alphabet, multiplication mod 26). First the sandwich from Scheidt's patent US 6,075,865: c = T2[T1[p + a] + b], two key streams on either side of a fixed keyed alphabet, T1 and T2 from {standard, KRYPTOS, their inverses}, periods up to about 13 each (report reports/Scheidt patents and field ciphers.md (issue #9)) |
closed | exact: the patent sandwich (0173), 108 table classes, key lengths 1-13 each: nothing fits K4 at the 161 length pairs with 4 or more checks (copies at most 2 in 1,000); the 8 pairs with both keys 10-13 leave 1-2 checks and are blocked; two words added on 61 mixed numberings or multiplied mod 26 (0174): no consistent case on K4 or copies | 0173, 0174 | - |
| F3.2 Numeric second parts from the Morse (E counts) and the plate layout (line lengths) | closed | exact (0175): 26 readings (Morse E runs and totals in two transcriptions, the line lengths and their departures from 31, K4 line and column on the copper), each value one key number, with an unknown word of 1-24 on 12 table rules: nothing fits K4 or 20 copies | 0175 (before: 0038 did 17 digit readings) | - |
| F3.3 Direction words as numbers (A14(b)): east-northeast as a bearing (67.5 degrees: 6, 7, 5 or 67, 5), as compass point 6 of 32 or 3 of 16, and the same for EAST and NORTHEAST, as a numeric second part beside a word | closed | exact (0176): 43 readings of east-northeast, east and northeast as degrees, digits, mils and compass points of 32 and 16, with an unknown word of 1-24 on 12 table rules: nothing fits K4 or 20 copies | 0176 (before: 0072 used direction words as keyword alphabets) | - |
| F3.4 Three or more stacked tables (US 6,075,865 with N = 3; Sanborn's "triple matrixes") | closed | exact (0177): two KRYPTOS-order tables (or inverses) and three keys of 1-10, 144 classes: nothing fits K4 or copies where the known letters give 4 or more checks (780 length triples); 1-3 checks at the copies' rate, too weak | 0177 (before: 0043, 0059 two passes) | - |
| F3.5 The misspelt letters' positions as indices (Q in IQLUSION, U in UNDERGRUUND, A in DESPARATLY, the missing E, the raised YAR), and their orientation read literally (RQ as YR) (C10(a), C10(c)) | closed | exact (0178): 40 readings of the misspelt letters' places (in word, in plaintext, through K1-K3), the raised YAR, the letters and their shifts, RQ/YR, Bauer's coordinates, with an unknown word of 1-24 on 12 table rules: nothing fits K4 or 20 copies; index readings as a short key are excluded by 0005 | 0178 (before: 0061 used the letters) | - |
| F3.6 The Weltzeituhr's rotating ring as an offset over 26 letters (C12(b)): 24 zones, the ring's rotation through the day | closed | exact (0179): 56 readings of the 24-zone ring over 26 letters (one zone per letter either way, or one zone every 24 or 4 letters), with an unknown word of 1-24 on 12 table rules: nothing fits K4 or 20 copies | 0179 (before: 0052) | - |
| F3.7 "Point" read as the decimal point in K2's "six point five", as the place on the grounds, or as a punctuation mark (C15(b)-(d)) | closed | exact (0180): 25 readings (six point five, the coordinates with the point, the four ?, K2's ? and X stops) with an unknown word of 1-24 on 12 table rules: nothing fits K4 or 20 copies; the place reading blocked without a survey | 0180 (before: 0072) | - |
F2. Masked plaintext
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| Reversal, regular nulls, prefix nulls, affine masks, doublets as nulls, nulls by letter | closed | exact | 0023, 0057, 0074, 0075 | - |
| Message written along grid paths | closed | exact | 0092 | - |
| F2.1 Forced fragments at periods 24-25 after letter strike-outs not matched against words | closed | exact (0181): the forced readings at key lengths 24-25 after every one- or two-letter strike-out hold no dictionary word of 6+ letters on K4; kept-place copies 0-32 settings | 0181 (before: 0057) | - |
| F2.2 Nulls placed by a rule (after every X, after each crib word) | closed | exact (0182): any rule acts on a repeating or progressive key only through the number of nulls between the runs; every count 0-29, lengths 1-26, steps 0-25, 12 rules: K4 never above the copies (96 checked live cells vs 96-226) | 0182 | - |
| F2.3 A plain component written from a phrase with repeated letters, so a letter can be enciphered by any of its places: homophones that keep the length | closed | exact (0183), a derivation, not a documented method: 1,196 phrase windows (K1-K3, Morse, Carter's book, famous sentences) as the plain strip, keys 1-26: nothing fits K4 at 1-25; at 26 (1 check) as copies; any phrase at all is a free alphabet with repeats, blocked by the English bound | 0183 | - |
| F2.4 Nulls at both ends of the message: a run of random letters before and after it (SOE's Dutch section used eight at each end, 1943) (issue #78) | closed | exact (0205): the end run moves nothing, so every pair 0-12 reduces to the start run s; known words at copper places q + s, s 0-12, periodic (as 0023) and progressive keys (per letter and per repeat, steps 1-25), lengths 1-52, 8 table classes: nothing fits below 26 on K4 or any of 10 copies; K4 above every copy in 0 cells (null 0-5); 2 planted padded messages found at their own lengths | 0023, 0205 | - |
| A code layer, phonetic spelling, another language | blocked | - | - | changes the letters at the known places or needs a codebook we lack |
F4. Sanborn's visual systems
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| Trifid, any cube, periods 2-15 | closed | exact | 0040 | periods above 15 are F4.2 |
| The plates as a key by position, straight or folded | closed | exact | 0089 | - |
| Read from behind the screen | closed | exact | 0108 | - |
| F4.1 A route that follows the plates' physical layout (the S-curve, the 31-letter lines as a grid with K3's last line) | closed | exact (0184): rows, columns, diagonals and spirals from every corner over K4's four lines as carved (starting after K3 and the ?), the lower plate and the whole left side, 73 routes and inverses, then or before a periodic key 1-26: shortest live 23/26 as copies 22/26, 0 of 52 cells above copies; the Blender model not needed (the transcript gives the layout) | 0184 (before: 0092) | - |
| F4.2 Free trifid cubes at periods above 15 | closed | exact (0185): periods 16-97, every alignment, 4,633 settings: no free cube fits K4 or ten shuffled copies; a plant's cube found | 0185 (before: 0040 (2-15), 0033) | - |
| F4.3 The positions of the sculpture's physical anomalies as a key (C3(c)) | closed | exact (0186): the ?, K2's omitted S, the raised YAR, the extra L and the odd lines located on the transcript, 22 readings as numbers with an unknown word of 1-24 on 12 table rules: nothing fits K4 or 20 copies | 0186 | - |
| F4.4 The extra L and the HILL row as a marker matching YAR on the lower-left plate (C21(b)) | closed | by subsumption, no run: as a row or key letter (L, HILL, YARL) a periodic key, dead to 26 (0005); as a start in the tableau, a running key from every start (0017); as a plate laid over K4 (0089); as a place, 0186 | 0005, 0017, 0089, 0186 | - |
| F4.5 Antipodes' differences: the plate order "shifted a little" and the UUND/RTBJ spelling (C26) | blocked | the spelling (R to E at place 178) as a key fragment is closed by subsumption (0005; 178 in 0178); the shifted order needs Antipodes' K4 line layout, not in the repository | 0178 | a transcript or photographs of Antipodes' K4 section |
F10. Alphabets that change after every letter
Added 2026-10-16 (issue #51). Every family above uses a fixed alphabet with a changing key
(assumption A10, knowledge/12-assumptions.md). These keep the letter-for-letter link the
known letters need, and can be worked by hand.
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| F10.1 Chaocipher: two alphabet wheels permuted after every letter (Byrne, 1918; method disclosed 2010) | closed | exact (0187): the left wheel's start fixes every move from the carved text; each known letter pins the right wheel's start (11 checks); every keyword-mixed left wheel (208,651, rotations equivalent): none fits K4 or 10 copies, plants found; a free left wheel (about 88 bits) blocked by cost | 0187 | - |
| F10.2 Wheatstone cryptograph or Alberti disk advanced by the plaintext: a 26-letter ring against a 27-place ring, the pointer moved by the distance between plaintext letters (Wheatstone, 1867) | closed | exact (0188): 8 variants; inside each run the hand's steps fix the inner places up to one offset; even a free inner ring fits neither K4 nor 20 copies (K4's QQ at 26-27), nor any word-mixed ring; plants found | 0188 | - |
| F10.3 A key stream from a deck of cards (Solitaire 1999, Mirdek 2000) | blocked | after 1990 (Solitaire 1999, Mirdek 2000; A9); a free deck is about 237 bits against about 113 bits of known key values; no published known-plaintext attack from 24 outputs | - | a pre-1990 deck method with a keyword-set deck |
F11. Agency hand systems, now public
Added 2026-10-16 (issue #51). The method had only to be known to its creators in 1990 (assumption A9); Scheidt chaired the CIA's Cryptographic Center until 1989. Systems that turn letters into digits or Morse (VIC, straddling checkerboards, fractionated Morse, Nihilist) are left out while the letter-for-letter reading of the known letters holds (A2).
| Item | Status | Strength | Experiments | Next test or reason |
|---|---|---|---|---|
| F11.1 Strip ciphers and cylinders with published alphabets: M-94's 25 discs, the Jefferson wheel, M-138-A strips where published | closed | exact (0189): M-94, 25 published discs in any order, any row per group of 25, any alignment: no setting fits K4 or 10 copies, plants found; Jefferson's wheel and M-138-A strips blocked (alphabets not to hand) | 0189 | published alphabets of Jefferson's wheel or M-138-A strip sets, if supplied |
| F11.2 Poem code: a double transposition keyed by words from a memorized text (SOE), then the table | closed | exact (0190): 3,063 phrase keys (1-6 consecutive words of K1-K3 and the Morse, same key twice or split), then or before a periodic key 1-26: shortest live 24/25 as copies 22/25, 0 of 52 cells; free word picks not listed | 0190 | - |
| F11.3 The CIA's own 1970s Polish agent system (Bury, Cryptologia 2007): a key text written row by row into a box and read out by columns, then a reciprocal 26 x 26 table | closed | exact (0191): K2, K3, K1-K3 and Carter's book as key texts, widths 2-50, column orders incl. vocabulary keywords, Bury's reciprocal and 3 other tables on std/KRYPTOS, every start (732M settings): no fit on K4 or 10 copies, plants found; best partial 9/24 as copies; a free table not run | 0191 | a free table, other key texts (Sanborn's letters) |
| F11.4 Friedman's keyed alphabet box (MC III 35b): the alphabet written n times in a rectangle, read out by a keyword's column order as the key stream | closed | exact (0192): 163,726 keyword column orders, standard or KRYPTOS alphabet 1-8 times, every start, 8 tables (2.45 billion settings): no fit on K4 or 10 copies, plants found; free tables not run | 0192 | - |
| F11.5 Poem code as agents used it: five words picked from anywhere in a remembered text (K1-K3's plaintexts), their letters numbered alphabetically as a double transposition key, then the table (issue #78) | blocked | by cost, no run (NOTEBOOK 2026-10-20): K1-K3 hold 163 words; five picked in text order give C(163,5) = 9.0 x 10^8 keys per pass, two passes with different picks (Marks pp. 11, 31-32) 8.1 x 10^17 (59.5 bits). Decidable in principle only where the 24 known letters leave 14 or more checks (short keys), but no known letter's carved place can be fixed without both whole keys, so no constraint search cuts it; enumeration at the measured 0.5 million routes a second would take about 5 x 10^4 years | 0190 (consecutive words only) | a single pass with one five-word key (9.0 x 10^8 keys, about an hour on 8 workers) is feasible but is not the agents' method; the same five words for both passes is not in the source. Reopen if a source gives the indicator rule that fixes which words were picked |
F8 Hill, F5 Gromark, F9 substitution then a move
| Item | Status | Strength | Experiments | Reason |
|---|---|---|---|---|
| Hill 2-5, plain and affine, 330 numberings (4 standard, 126 vocabulary, 200 K1-K3 words; an unknown numbering is F8.1), chained, with a periodic key | closed, except what had too few equations: 5x5 affine (14 of 20 settings undecided, 0105) and 400 of 936 Hill-plus-key settings, mostly 4x4 with long keys (0116) | exact where decided | 0015, 0036, 0044, 0055, 0105, 0116 | the undecided settings are blocked: no checks. Reopen if F1.5 reaches power and the bound in its step 1 allows |
| F8.1 Hill 2x2 and 3x3 with an unknown letter numbering (any of 26!) | closed (2x2); blocked (3x3) | exact (0194): 22 equations against 96-98 bits; every invertible 2x2 matrix, both alignments, any one-to-one numbering: none fits K4 or 5 copies, plants recovered; 3x3 is 21-32 bits short of a check | 0193 (error), 0194 | - |
| Gromark, two- and three-term rules, bases 2-26 (three-term on a free alphabet in base 10 only; other bases are F5.2) | closed | exact | 0013, 0028, 0046, 0054, 0069, 0076, 0107 | - |
| F5.1 Multiplicative feedback; the raised YAR as primer | closed | exact (0196): products of two earlier digits, lags to 6 in bases 2-16 and to 5 in base 26, free alphabet, 4 forms: nothing fits K4 or 10 copies; YAR as a primer subsumed by the full primer sweeps (0076, 0195) | 0196 | - |
| F5.2 Three-term Gromark on a free alphabet in bases 2-9, 11-16 and 26; two-term free-alphabet rules beyond lag 6 (base 10) and 5 (other bases) | closed | exact (0195): three-term in bases 2-9, 11-16 (lags to 6) and 26 (to 5); two-term base 10 lags 7-8, other bases lag 6; 1.55 billion primers, 4 forms, free alphabet: nothing fits K4 or 10 copies, plants found. 0262 (2026-10-30): the rules 0195 left for cost: three-term base 26 lag 6, three-term lag 7 in bases 2-16, two-term base 26 lags 6-7, two-term lags 7-8 in bases 2-9 and 11-16, two-term base 10 lags 9-10 (445 rules, 2.34 x 10^11 primers, 4 forms, exhaustive): no setting fits K4; ten copies 0-3 (one copy fits 3); the three plants' settings found (4, 1, 2 consistent). Not covered: three-term lag 8 and beyond, two-term base 26 lag 8 and beyond, two-term lags beyond 8 outside base 10 | 0195, 0262 | D2: 0195's 1.55 billion primers took 162 s; base 26 lag 6 is 3.1 billion primers per rule, minutes on Modal, exact: run it (no decider needed). Two-term rules beyond lag 6 in bases 11-16 next by the same arithmetic |
| F5.3 Gromark rules in bases 16-25 on 0054's K1-K3-word and 2025-letter alphabet pairs (found by C-F5-1d, #73): 0054 tested rules only where a pair admits base 15 or less, and 0076/0195's free-alphabet sweeps keep the plain side standard and skip bases 17-25 | closed | exact (0206): 0046's test on 0054's 102 tables (10,404 pairs), 3 forms, 364 two- and three-term rules with lags to 13, every base 16-26 a pair admits, six or more checks inside the known runs, then the stream carried to the second run: no rule fits K4 or any of 10 copies; a planted Gromark text (base 20, rule 7-3) found, the only fit; 8,960 cases spot-checked against Python | 0054, 0206 | - |
| One-to-one substitution, then any route in the built sets (1.86M) | closed | exact | 0019, 0106 | - |
| Routes outside every built set | blocked | - | - | unbounded without a hand-method list; F9.1 writes that list |
| F9.1 Hand transpositions outside the built route sets | closed | exact (0197, 0198): the list of moves built since 0106 with sizes (about 254 million with inverses: 0159, 0164-0167, 0158, 0162, 0184, 0190), each after a one-to-one substitution: no route survives on K4 or 10 copies, plants found | 0197, 0198 (before: 0019, 0106) | - |