Unsolved ciphers / write-up and files
Starhemberg, Paris, 23 May 1758 · Cryptiana transcription, 22 rows, 1,721 digits · Read with the 1752 Austrian Prima/Secunda key
A ciphered letter from Prince Starhemberg, Austria's ambassador at Versailles, to a colleague at the Spanish court, in the spring of 1758: on the memorandum handed to Ricardo Wall, on Minorca as the price of Spain's entry into the war, and on the courier who is to carry the next reports. Read with the two-table numerical key the Vienna chancellery issued in 1752.
Partial decipherment · system identified · exact full text openTwo years into the Seven Years' War, Austria and France wanted Spain in. Starhemberg writes that the memorandum handed to Wall, the Spanish first secretary, was very well drafted and that the negotiation it opened must be kept alive until the Spanish court comes to a decision. That could either give the war a better shape than it now has or bring an honourable peace. Closely matching statements by the recipient and the French ambassador raise hopes that Minorca, which France had taken from Britain in 1756, would be ceded to Spain, and that Spain would then enter the war and embarrass the English and Prussian courts. He is waiting for reports by the courier Zinner, and meanwhile advises staying on the course already taken and coaxing further confidences out of Wall.
The recipient's name is not in the recovered text. The Vienna archive catalogues five 1758 letters from Starhemberg to Franz von Rosenberg, the Austrian envoy in Madrid, on exactly these subjects, so Rosenberg is the likely addressee, but the catalogue does not show that 23 May is among them.
The cipher is numerical. Ordinary units are two digits; a leading 3 opens a four-digit code, so most written units are five digits. A standalone 8 is a null. Marked three-digit units supply punctuation, dates and table changes: here 876 switches from the Prima table to the Secunda at digit 662, 899 switches back at 1349, and Secunda 897 is a period. The tables are the 1752 key in DECODE R1695 and R1698, with the chancellery's own instructions and worked example in R1696 and R1697. The system, though not this letter, is described in Antal, Mírka and Kováč's 2025 study of Viennese obfuscation techniques. Work of 17 and 18 September 2026 by native Codex agents; everything is reproducible from the published files.
Nobody on this side has seen the original. The only source is Alexandre Pillon's transcription on Cryptiana, which warns that digits may be missing at the right edge of the image, and several runs of the text do not parse as written. Every place where the reading needs a changed digit is listed below as a proposed repair, never applied to the transcription. The key itself is a provisional reading of eighteenth-century handwriting; where the tables give alternatives, both are kept.
What is established is the system, the two table switches, and long runs of connected German on unchanged digits: the memorandum, the war-or-peace sentence, the matching statements, Minorca, Verlegenheit, Zinner, and the closing advice. What is not established is the opening adjective, four sentence joins, the word before zeige, and the four places where 99 seems to mean g.
Left: the cipher rows exactly as transcribed. Middle: the German reconstruction, with the editor's word boundaries, spelling and expanded endings. Right: an English translation. Square brackets mark a letter or word supplied by a proposed repair or expansion, with ? where the supply is doubtful; ellipses are unresolved text. Each passage's notes say which readings rest on unchanged digits and which need a repair, and a fold-out table gives the baseline key output row by row.
Opening and the memorandum to Wall · Prima table
188 33 11 59, 312 17 312 14 69 314, 20 310 78 310 47, 311 26 95 313 8,2 311 09 312 26 310 33 314 52 31
22, 65 310 47 314 43 311 9,1 313 06 310 78 99 310 80 31,2 6 88^" 54 00 8 312, 11 311, 09 310 99 312 26 310, 05 310 19 310 33 8 313
334 312 23 311 1,3 311 8 10 170 313 12 312 93 310 75, 310 27 311 68 22 310 99 314 66 311 36, 312 11 314 08 312 28 8 312 62 311 4,
49 314 38 66 313 64 311 21 311 15 3;11 58 313 48 311 22 310 8 43 14 33 314 43 310 33 312 71 310, 79 313 15 8 62 69 312 87 300 7
53 313 99 99, 313 18 8 311 15 311 69 311 19 311 64 312 62 314 08 310 78 312 10 311 16 314 28 311: 70 312 10 313 83 310 89 312; 113 13 82 300 0
60 312 93 314 71 313 06 73 11 97, 33 13 94 313 80 312 163 10 58 310 89 8, 311 71 312 63 01 312 40 62 311 63 312 93 310 36 313 18 311 84 313 72 31
Cipher, rows 1–6 · Prima
… als ich nun den Innhalt derselben gefunden, so große Hoffnun[g] macht mir … daß … deroselben annoch gelingen werde, die durch das dem Stat[s]secretario Wall behändigte sehr treflich gefasste Memoir so geschickt als vor[sich]ti[g] eingeleitete Handlung nunmehro immer offen zu behalten und den spanischen Hof … zu solchen Resolutionen zu vermögen …
Translation
… now that I have seen the contents of the same, it gives me such great hope … that … Your Excellency will yet succeed in keeping open, from now on, the negotiation so skilfully and so cautiously begun through the very well drafted memorandum handed to Secretary of State Wall, and in bringing the Spanish court … to such resolutions …
an / noch / ge / li / ng / en / werden. The key gives an for 31005 and noch for 31019; no target digit is changed.wa + l here and again in row 19. With the memorandum and the long closing, it supplies three separated anchors for the key match.| Row | Table | Cipher row as transcribed | Baseline key output, no digit repairs |
|---|---|---|---|
| 1 | Prima | 88 33 11 59, 312 17 312 14 69 314, 20 310 78 310 47, 311 26 95 313 8,2 311 09 312 26 310 33 314 52 31 | {33115} | hab | unterstütz | Grossvezier | lich | als | ich | nun | den | in | n | halt | der | selb | ge | fu | n |
| 2 | Prima | 2, 65 310 47 314 43 311 9,1 313 06 310 78 99 310 80 31,2 6 88^" 54 00 8 312, 11 311, 09 310 99 312 26 310, 05 310 19 310 33 8 313 | den | so | groß | hoff | nun | man | mach | mir | , | das | be | der | o | selb | an | noch | ge | li |
| 3 | Prima | 34 312 23 311 1,3 311 8 10 170 313 12 312 93 310 75, 310 27 311 68 22 310 99 314 66 311 36, 312 11 314 08 312 28 8 312 62 311 4, | ng | en | werden | die | durch | das | dem | st | at | u | secret | o | wa | l | be | hand | ig | te | sehr |
| 4 | Prima | 9 314 38 66 313 64 311 21 311 15 3;11 58 313 48 311 22 310 8 43 14 33 314 43 310 33 312 71 310, 79 313 15 8 62 69 312 87 300 7 | tr | e | fl | ich | ge | fa | ste | me | mo | ir | so | ge | sch | i | ck | t | als | vor | {30073} |
| 5 | Prima | 3 313 99 99, 313 18 8 311 15 311 69 311 19 311 64 312 62 314 08 310 78 312 10 311 16 314 28 311: 70 312 10 313 83 310 89 312; 113 13 82 300 0 | ti | man | ein | ge | le | i | te | te | hand | nun | mer | h | ro | im | mer | off | zu | be | halt | und |
| 6 | Prima | 0 312 93 314 71 313 06 73 11 97, 33 13 94 313 80 312 163 10 58 310 89 8, 311 71 312 63 01 312 40 62 311 63 312 93 310 36 313 18 311 84 313 72 31 | dem | Spanien | hoff | nach | französisch | religion | {33139} | mittelst | armee | ganz | unterstütz | A | en | zu | ver? | mög/lich | die | en | t | weder | dem | Krieg | ein | ver | gn | u |
Mechanical output of the working Prima/Secunda keys with no digit repairs. Braces mark units that do not parse; a slash separates key alternatives; bold marks a table switch. From two-table-output.txt.
War or an honourable peace · Prima, switching to Secunda at 876
71 68 313 50 311 21 314 90 69 01 311 06 312 08 312 28 8 311 15 310 75 313 59 62, 310 41 313 33 21 313 03 313 18 310 61 312 22 314 47 312, 14 11
89 313 28 8 95 313 46 31,0 00 311 69 95 310 04 311 84 87^_ 6 311 62 313 01 87^, 000 313 84 310 4,2 312 38 8 313 25 314 66 53
Cipher, rows 6–8 · Prima → Secunda
… die entweder dem Krieg eine vergnüglichere, als die dermahlige Gestalt ist, geben oder uns ein[en] erspr[ieß]lich[en] … honorablen Frieden verschaffen könnte, und gibt mir zumahl[en] …
Translation
… which could either give the war a more agreeable shape than its present one, or procure us a profitable … and honourable peace; and this gives me, moreover, …
dem / Krieg / ein / ver / gn / u / gl / ich / re / als / die / der / mahl / ig / ge / st / al / t / ist / geben.en / ho / null / n / or / ab / le / n / fried; deleting 119 at 624 is a competing three-edit repair. Neither is authenticated.ver / [A→B] / schaff / könnte follows unchanged: the table switch 876 falls inside verschaffen.gi / eb / t / mir / zu / mahl reads gibt mir zumahlen. What follows, von / den / no / ge / n …, is unresolved.| Row | Table | Cipher row as transcribed | Baseline key output, no digit repairs |
|---|---|---|---|
| 7 | Prima | 1 68 313 50 311 21 314 90 69 01 311 06 312 08 312 28 8 311 15 310 75 313 59 62, 310 41 313 33 21 313 03 313 18 310 61 312 22 314 47 312, 14 11 | gl | ich | re | als | die | der | mahl | ig | ge | st | al | t | ist | geben | oder | uns | ein | er | spr | s | lich | französisch |
| 8 | A→B | 9 313 28 8 95 313 46 31,0 00 311 69 95 310 04 311 84 87^_ 6 311 62 313 01 87^, 000 313 84 310 4,2 312 38 8 313 25 314 66 53 | hab | armee | {28} | n | or | ab | le | n | fried | ver | [A→B] | schaff | könnte | , | und | gi | eb | t | mir | zu | mahl |
Mechanical output of the working Prima/Secunda keys with no digit repairs. Braces mark units that do not parse; a slash separates key alternatives; bold marks a table switch. From two-table-output.txt.
The matching statements, Minorca, and Spain's entry · Secunda
90 314 00 314 60 31;1 8 38 310 10 312 72 310 57 310 87 312 86 31,1 17 314 98 310 16 312 28 8 311 57 00 313 06 314 6,0 313 15 3
1033 311 26 312, 72 312 10 311 82 74 312 38 311 62 313 008 312 64 313 77 314 48 312 18 312 99 02 310, 143 10 10 314 03 6
113 312 18 312 99 312; 86 310 06 313 34 310 313 11 26 310 75 312 25 312 91 315 00 314, 49 41 310 89 99 84^" 112 311 42 311 5
127 310 313 11 83 8 313 34 312 78 44 313 45 312 08 313, 61 09 314 37 314 66 313 65 312 39 314 05 310 34 312 59 14 311 51 5
134 313 29 310, 91 313 04 55 312 38 312 01 314 56 312 74 06 313 07 26 41 44 312 10 311 44 94 314, 58 314 08 310 1
1466 60 04. 43 12 80 312 10 313 89 311 57 311 67 31 39 7 312 72 41 310 73 315 00 314 49 313 4,2 313 30 311 51 310 33 31[2]
1546 312 82 314 7,5 55 09 8 9^_7 11 30 000 8 310 89 310 57 310 8;7 312 86 311 17 314 98 310 16 313 34 311 57 312 80 312 10 314 5[51]
Cipher, rows 9–15 · Secunda
… Euer Hochgebohrn … französischen Botschafter fast zu gleicher Zeit gemachten, genau gleichförmigen Äusserungen … sehr große Hoffnun[g], daß … Minorca an Spanien überlassen würde, wozu sich Frankreich [bereit?] zeige un[d] wohl leicht [en]tschließen wird, alsdann dieser Hof an dem Krieg mit Theil nehmen und andurch den [engländischen] und preußischen Hof in sehr große Verlegenheit setz[en] würde.
Translation
… the exactly matching statements made almost at the same time by Your Excellency … [and] the French ambassador … [give] very great hope that … Minorca would be ceded to Spain, to which France shows itself [ready?] and will surely readily resolve; whereupon this court would take part in the war and thereby put the [English] and Prussian courts in very great embarrassment.
fa+st, zeit, ge+mach, genau and gl+ei+ch+fo+r+mi+gen+aus+ser+ung. The abbreviated endings are editorial.ver / le / ge[n] / heit are likewise unchanged.daß / scho / n and is unresolved. Until it is, the passage cannot be read as an unconditional promise of Spanish participation.| Row | Table | Cipher row as transcribed | Baseline key output, no digit repairs |
|---|---|---|---|
| 9 | Secunda | 0 314 00 314 60 31;1 8 38 310 10 312 72 310 57 310 87 312 86 31,1 17 314 98 310 16 312 28 8 311 57 00 313 06 314 6,0 313 15 3 | gemäß | zi | und | den | no | ge/gn/gen | n | Euer | ho | ch | geb | o | H | r | n | und | von | den | wa | {33331} |
| 10 | Secunda | 33 311 26 312, 72 312 10 311 82 74 312 38 311 62 313 008 312 64 313 77 314 48 312 18 312 99 02 310, 143 10 10 314 03 6 | daß | genau | daß | qua | den | französ | bo | t | schaff | te/ten/ter | fa | st | zu | gl | ei | ch | zeit | ge/gn/gen | mach | genau |
| 11 | Secunda | 3 312 18 312 99 312; 86 310 06 313 34 310 313 11 26 310 75 312 25 312 91 315 00 314, 49 41 310 89 99 84^" 112 311 42 311 5 | gl | ei | ch | fo | r | mi | gn/gen | aus | ser | ung | seh[r] | groß | hof | nu | er | , | daß | scho | n |
| 12 | Secunda | 7 310 313 11 83 8 313 34 312 78 44 313 45 312 08 313, 61 09 314 37 314 66 313 65 312 39 314 05 310 34 312 59 14 311 51 5 | mi | no | r | ca | an | Spanien | übr | laß | würde | wo | zu | sich | Frankreich | berg | i | t | zi | ge | un |
| 13 | Secunda | 4 313 29 310, 91 313 04 55 312 38 312 01 314 56 312 74 06 313 07 26 41 44 312 10 311 44 94 314, 58 314 08 310 1 | bund/brud? | woll | leicht | hand | t | schluß | wird | al | da | n | dies | hof | an | den | krieg | mit | theil | ne | H |
| 14 | Secunda | 66 60 04. 43 12 80 312 10 313 89 311 57 311 67 31 39 7 312 72 41 310 73 315 00 314 49 313 4,2 313 30 311 51 310 33 31[2] | me | und | an | durch | den | ü | n | und | Preuss | n | hof | in | seh[r] | groß | ver | le | ge | heit | se |
| 15 | Secunda | 46 312 82 314 7,5 55 09 8 9^_7 11 30 000 8 310 89 310 57 310 8;7 312 86 311 17 314 98 310 16 313 34 311 57 312 80 312 10 314 5[51] | t | z | hand | würde | . | da | ich | nu | Euer | ho | ch | geb | o | H | r | n | durch | den | Courier | zi |
Mechanical output of the working Prima/Secunda keys with no digit repairs. Braces mark units that do not parse; a slash separates key alternatives; bold marks a table switch. From two-table-output.txt.
Courier Zinner and the advice to continue · Secunda, back to Prima at 899
164 313 07 99 314 48 313 20 310 90 313 00, 88 312 10 310 70 94 314 57 312 22 313 42 8 9^_9 314 27 312 40 311 13 62
1711 59 53 11 54 312 47 8,8 314 43 312 64 311 30 52 312 7 28 311 01 311 68 314 13 8 314 29 313 18, 314 2 46 9 311 30 312 9
183 313 25 310 62 62 311, 54 311 12 311 15 8 312 71 311 27 313 42 310 58 313 91 314 06 313 14 90 312 57 8 31,3 94 311 58 311 16 3
1910 85 30 000 310. 47 8 314 66 311 36 8 314 43 314 92 312 18 311 70 312 10 8 312 63, 70 311 06 310 99 99 312 71 311 1,9 313 [1]
205 312 62 314 47 310 60 8 312 47 31,
212 10 31:3 94 314 84 8 314 13 312 40 311, 84 315 00 310 58 313 26 314 51 314 62 3[10]
2289 311 84 8 312 63 8 83.
Cipher, rows 15–22 · Secunda → Prima
Da ich nun Euer Hochgebohrn durch den Courier Zinner zu erstattenden Berichten mit vielem Ver[langen?] ent[gegen]sehe, so brauche indessen nichts be[s]eres einrathen, als in dem bereits eingeschlagenen Weeg fortzufahren und den Wall so viel nur immer möglich durch dero [g]schicktes Benehmen zu weiteren Vertrauenausserungen zu vermögen.
Translation
As I await with great eagerness the reports Your Excellency is to send through the courier Zinner, I can advise nothing better in the meantime than to continue along the course already taken and, through your skilful conduct, persuade Wall as far as possible to make further confidential disclosures.
14 zi / 31307 n / 99 er after the whole-word code Courier, with no digit repair. Wille's journal independently records “M. Zinner, courrier impérial” under 5 September 1759 (vol. 1, p. 120). That corroborates a courier of this name, not that the two are the same man.3111531, or only 31 if the longer key alternative for 31115, apparently gege, is right. The two are competing reconstructions.| Row | Table | Cipher row as transcribed | Baseline key output, no digit repairs |
|---|---|---|---|
| 16 | B→A | 4 313 07 99 314 48 313 20 310 90 313 00, 88 312 10 310 70 94 314 57 312 22 313 42 8 9^_9 314 27 312 40 311 13 62 | n | er | zu | erst | at | te/ten/ter | den | fr/Bericht | mit | viel | m | ver | [B→A] | lan/lang/lau? | en | en | t |
| 17 | Prima | 11 59 53 11 54 312 47 8,8 314 43 312 64 311 30 52 312 7 28 311 01 311 68 314 13 8 314 29 313 18, 314 2 46 9 311 30 312 9 | französisch | ren | re | französisch | für/sten | eh | so | brauch | in | des/den | nicht | be | u | er | es | ein | rath | als | in | dem |
| 18 | Prima | 3 313 25 310 62 62 311, 54 311 12 311 15 8 312 71 311 27 313 42 310 58 313 91 314 06 313 14 90 312 57 8 31,3 94 311 58 311 16 3 | ber | ei | t | s | ein | ge | sch | la | gen | en | we? | eg | fo | r | t | zu/zeig | fa | h | ren |
| 19 | Prima | 10 85 30 000 310. 47 8 314 66 311 36 8 314 43 314 92 312 18 311 70 312 10 8 312 63, 70 311 06 310 99 99 312 71 311 1,9 313 [1] | und | den | wa | l | so | viel | nur | im | mer | mög/lich | durch | der | o | man | sch | i | ck |
| 20 | Prima | 5 312 62 314 47 310 60 8 312 47 31, | te | s | ben | eh | mer |
| 21 | Prima | 2 10 31:3 94 314 84 8 314 13 312 40 311, 84 315 00 310 58 313 26 314 51 314 62 3[10] | zu/zeig | wei | er | en | ver | trau | en | aus | ser | ung | zu |
| 22 | Prima | 89 311 84 8 312 63 8 83. | ver | mög/lich | {3} |
Mechanical output of the working Prima/Secunda keys with no digit repairs. Braces mark units that do not parse; a slash separates key alternatives; bold marks a table switch. From two-table-output.txt.
None of these is applied to the published transcription. Offsets are zero-based positions in the unchanged 1,721-digit stream. The eight small edits below, together with the two competing closing insertions and the two competing peace-join repairs, combine into eight full-letter parses in which every non-terminal unit parses and both table switches survive. Those parses cost 19 or 24 specified digit edits, not counting the four selective 99→g readings and the initial mark displacement. A valid segmentation is not a solution: several phrases in every candidate remain unreadable.
At offsets 2, 443, 449, 708 and 793, treating the presumed surplus digits as null 8s gives exactly the same code sequence as deleting them, at equal cost. The comparison scans show that 3 and 8 are hard to tell apart in this hand. Parsing cannot decide between the two.
| Offset | From | To | Supplies |
|---|---|---|---|
| 2 | 3 | (delete) | lets 31159 + 31217 + 31214 parse; opening adjective still unresolved |
| 195 | 31168 | 31368 | s in Statssecretario |
| 325 | 30073 | 31073 | sich in vorsichtig (30073 is not a valid unit) |
| 1046 | 31329 | 31326 | un + d before wohl leicht |
| 1061 | 55 | 95 | en in entschließen |
| 1139 | 31389 | 31399 | Engelland, paired with Preuss |
| 1216 | 55 | 95 | en in setzen |
| 1414 | 31168 | 31368 | s in beseres |
| 624–626 | … | +31, 9→3 · or delete 119 | join before honorablen Frieden; two competing repairs |
| 1369 | (none) | +3111531 · or +31 | entgegensehe; the short form needs the gege reading of 31115 |
Running python3 run_checks.py in the published folder reproduces every figure on this page from the checked-in transcription and keys, with the standard library only. It was rerun on 18 September 2026 before this page was written and left the checkout clean. Passing these checks proves that each conjecture parses as claimed. It does not certify a complete decipherment, and the script says so on its last line.
The two external controls matter most. The chancellery's own worked example was transcribed independently and every unit boundary and its table switch agree with the parser. A separate 1756 Kaunitz letter with surviving plaintext, reproduced in the Antal study, yields two disjoint windows that align on the same key readings: Nachricht, glücklichen, Ankunft, and so den 13 Marti an Euer Excellenz abgefert… with its date codes and table switch. The span between the two windows is not aligned, so they are not one continuous match.
| 1,721 | digits conserved by the baseline parser, giving 423 units | passes |
| 2 | table switches (876 at 662, 899 at 1349) and one period (897 at 1220) | passes |
| 13 | fragment alignments on unchanged digits, from the memorandum to the closing | passes |
| 202 / 74 | digits and units of the chancellery's worked example; all boundaries and switch 818 agree | passes |
| 53 + 48 | digits in two disjoint windows of the 1756 Kaunitz letter aligned to plaintext | passes |
| 4 | contexts where Prima 31210 = me / mer / men reads consistently (nunmehro, immer ×2, Benehmen) | passes |
| 11 | local repair cases reproducing their stated code sequences | passes |
| 8 | joint full-letter candidates, 19 or 24 edits each | passes |
| 239 | distinct ordinary units in the baseline parse audited against the numerical key: 91 with recorded alternatives, 18 with open notes | recorded |
A scan of the letter would settle most of the first list at once, since nearly every open point is a damaged run of digits rather than a missing key entry.