33 29 a m 22 29 17 16 z g l u 16 a 47 m
23 22 13 m 31 29 m a 41 l l 22 29 a
27 16 f i 16 22 29 m a 47 a 12 o

Warsaw → Moravia? · homophonic figure cipher · 1627 · solved

“Di Varsouia 24 Xbre 1627”

24 December 1627 · Österreichisches Staatsarchiv, HHStA, Staatskanzlei Interiora, Chiffrenschlüssel Kt. 14 Fasc. 20 f. 176 · DECODE R1408

Three hundred figure groups and a scatter of letters with only a dateline in clear, listed as non-decrypted, read in full: the alphabet was in order all along

Daniel Bourdeau · solved

Summary. S. Tomokiyo transcribed this one-page letter in his article on variable-length figure codes in the Austrian archives and noted only that the dateline makes the language Italian. The figures and letters are written without breaks; his grouping gives 295 two-figure groups, 13 three-figure groups, 108 stray as and ms and a handful of letter pairs. The two-figure groups between 12 and 33 have the frequency profile of plain Italian, the letters a and m carry no text at all, and an annealer scoring a 5-gram model plus dictionary coverage converges from random and from seeded starts on one key. That key is an alphabet in plain order — odd figures 13–33 are a to m, even figures 14–32 are n to z — which the solver was never told; the letter pairs stand for consonants, the rare groups 01–09 and 40–50 for syllables and particles, the three-figure groups for words. Every spelled word reads. The writer, lately received at Nikolsburg, tells the addressee that the canonry of Olmütz promised for one of the sons of “this Most Serene [Queen]” has still not been conferred, that “these Majesties” want it, and asks for it to be done or for a prompt answer. Status: read. Ten word codes and three small groups are glossed from context; the image and the key fascicle would fix them.

01 The document

DECODE’s public record: one page, cipher, Non-decrypted, cipher type Simple substitution, Homophonic substitution, numerical symbol set, inline cleartext, a transcription on file, placeholder dates 1600–1799; images and documents need a login and were not seen. Tomokiyo: “The only cleartext at the beginning ‘Di Varsouia 24 Xbre 1627’ indicates the language is Italian … the numbers and letters are written without space in the original manuscript, but I believe my grouping into two- or three-digit groups is fairly straightforward. It is possible that some letters should be grouped (e.g., ‘zg’, ‘pr’, ‘fi’, ‘ll’).” His transcription, joined at those pairs:

33 29 a m 22 29 17 16 zg lu 16 a 47 m 23 22 13 m 31 29 m a 41 ll 22 29 a 27 16 fi 16 22 29
m a 47 a 12 o m 33 29 a m pr 21 17 21 m 29 14 a 14 29 17 16 th 24 18 28 zg 25 a 33
29 m 40 23 29 19 16 m 19 a m 27 13 28 21 22 p 45 26 16 m a 29 14 ll 21 fi 26 29 16 06 a
13 a 20 28 21 24 26 13 a 50 21 zg 21 14 29 24 01 33 13 m 100 m 113 m 09 a 28 16 31 21 22 m 46
23 21 22 29 zg 21 m 28 14 a 17 13 05 29 17 13 26 16 a 19 m 16 31 33 29 32 a 13 lu a 28 14 16 a m
44 31 29 a 123 m 24 28 16 29 m a 23 29 25 31 29 m n a 27 13 28 21 14 19 16 m 29 16 a 03 a 24
13 18 28 26 16 m 29 fi m 160 a 17 16 22 26 21 m 47 m a ll 13 th a 28 16 31 16 14 26 13 m 19
29 a m 120 m 05 m 21 m 151 a 24 26 13 ll 13 a 33 21 24 24 13 a 29 fi a 21 24 50 17 28 26 29
16 06 a 01 154 m 19 21 01 lu 21 22 13 14 16 m a 157 a 20 28 21 24 ll 21 a m 33 13 21 24 26 13 a m 27
16 m 24 26 33 13 ll 16 m 16 23 29 17 29 16 a m 09 m 09 28 16 26 16 m 50 22 28 29 ll 16 zg 21
m 154 m 29 16 a 31 21 a 24 16 14 16 m 43 a m 24 28 18 31 29 17 13 22 42 a 154 a 23 16 m 13 m
28 16 31 21 22 m 23 13 22 m 21 pr 21 26 28 13 22 21 m 160 m a 223 a 159 m 18 22 29 33 13 a 04
a 01 a 19 21 25 14 29 m 45 22 06 m a 24 28 15 29 26 16 m 13 a 33 21 a 15 21 14 29 25 14 13 m 22 29
24 18 16 24 26 13

442 tokens: 295 two-figure groups (36 distinct), 13 three-figure groups (100 113 120 123 151 154 157 159 160 223), 56 m, 52 a, 7 ll, 5 zg, 4 fi, 3 lu, 2 pr, 2 th, and one each of o, p, n.

Three things are visible before any solving. The figures 12 to 33 (30 never occurs) carry 265 of the 308 numeric tokens, and their counts — 35, 35, 29, 27, then 18, 17, 17, 15, 13, 10, 9, 9, 7, 7, 5, 4, 4, 2, 2, 1, 1 — are the counts of a monoalphabetic Italian text of that length (e a i o near thirty each, n l r t s c d from ten to eighteen). The groups 01–09 and 40–50 are too rare to be letters and too evenly rare to be vowel homophones. And the letters a and m, a quarter of everything, cannot be letters: treated as symbols they both anneal to the same vowel, which no Italian text permits, so they are nulls — and in the decode they fall at word ends, the clerk’s habit of dropping one after each word.

02 Solving

  1. 5-gram annealing on the numbers alone (nulls dropped, text split at the three-figure codes, the Italian model built for the Lucca letter): six seeds disagree, but one already reads avere, questa, un caricato, aiuto, subito, bene. Forcing distinct letters on the nineteen frequent figures does not help; at 253 5-grams the model prefers e t r s soup.
  2. A unigram word-segmentation scorer degenerates into di la il di la. Discarded.
  3. 5-gram plus dictionary coverage — the LM score plus one nat for every letter covered by a lexicon word of three letters or more, swaps confined to the frequent figures, free letters for the rare groups. From random keys two seeds of six converge on the same key (−371 and −409); seeded from step 1, all three seeds land on it. At that stage the text read … un caricato d olmi. ad uno gli … suoi figlio hauendo io saputo in corte … uolonta di re … stata messa in esecutione … queste maesta ho stimato oficio … uoto seruitore io le so non suplicare … a uoler fare … prima … subito a me benigna risposta.
  4. Control. The same objective on three shufflings of the ciphertext tops out at −843, −865 and −893 against −371 in the true order.
  5. The alphabet is in order. The converged key puts a b c d e f g h i l m on 13 15 17 19 21 23 25 27 29 31 33 and n o p q r s t u on 14 16 18 20 22 24 26 28. The annealer had no way to know that. It also settles the two figures seen once: 32 is z (the even series runs on u x z) and 12, just below a, is a symbol outside the alphabet.
  6. The rest by context. Each rare symbol was listed with every occurrence and given the one value that fits all of them: zg = r (rico·rdo, Nicolspu·rg, confe·rire, servito·re), lu = d (ricor·do, a·d uno, desi·derano), fi = n (ho·nori, inte·ntione, in), ll = t (al·tri, sta·ta, ques·te, servi·tore), th = l (Nico·lspurg, ta·l), pr = ff (fece, e·ffetuare); 01 si, 05 non (ca·non·icato, non è), 06 ne, 09 de, 40 and 46 con, 41 al, 42 la, 43 di, 44 de, 45 da, 47 che, 50 se. The single o, p, n sit inside otherwise complete words and are read as nulls or slips of transcription.

03 The key

131517192123252729313314161820222426283032
abcdefghilmnopqrstu[x]z
2729729744359101335521717151801
llthzglufipr01050609404142434445464750a m
tlrdnffsinonnedeconalladidedaconchesenulls
7253424233111112133108

Third rows: occurrences. Unread: 12 (an honorific subject, V.S.?), 03 (an adverb), 04 (a conjunction), and the word codes 100 113 120 123 151 154 157 159 160 223. The doubled ll, zg, th and the rest are not digraphs of the plaintext; they are the key’s alternates for t r l d n f, the consonants a clerk most wants to vary.

04 Reading

Mi ricordo che, fra li altri honori che [12] mi fece in Nicolspurg, mi confido d’hauer dato intentione a questa Serenissima [100] [113] de uoler conferire un canonicato d’Olmiz ad uno de li [123] suoi figli; hauendo io [03] saputo in [160] corte che tal uolontà di [120] non è [151] stata messa in essecutione, sì [154] desiderano [157] queste Maestà, ho stimato oficio de deuoto seruitore, [154] io le sono, di suplicarla, [154] fo, a uoler far effetuare [160] [223] [159], prima [04] si degni darne subito a me benigna risposta.
I recall that, among the other honours [Your Lordship] did me at Nikolsburg, I am confident I gave this Most Serene [Queen] to understand that [you] would confer a canonry of Olmütz on one of [her] sons. Having [since] learned at [this] court that that intention of [yours] has not [yet] been carried out, as these Majesties desire, I have judged it the duty of a devoted servant, such as I am to her, to beg you, as I do, to see [this …] carried into effect, [or] first to deign to give me at once a kind answer about it.

05 Context

Nikolsburg (Mikulov) was the seat of Cardinal Franz von Dietrichstein, Bishop of Olmütz from 1599 to 1636 and governor of Moravia, in whose gift a canonry of Olmütz lay. The Queen of Poland in December 1627 was Constance of Austria, Ferdinand II’s sister; her younger sons were being provided with benefices in exactly these years — Charles Ferdinand was Bishop of Breslau from 1625, John Albert Bishop of Ermland from 1621. The letter therefore reads as an Italian-writing agent’s reminder to Dietrichstein, not to the Emperor: he had carried the Cardinal’s promise from Nikolsburg to Warsaw, the promise has not been kept, King and Queen are waiting, and he would like either the canonry or an answer. That would also explain why the piece sits in the Chiffrenschlüssel series rather than in a correspondence: it was filed with its key. None of this is in the cipher. Neither sender nor addressee is named in the enciphered text, and the cleartext beyond the dateline, if any, is on the image behind DECODE’s login.

06 Method and files

  1. Ciphertext from Tomokiyo’s article, pairs joined as he suggests; counts and IC checked (warsaw/ct.txt).
  2. 5-gram annealers on the numbers, with and without the letters as symbols (warsaw/solve.py, solve2.py).
  3. Lexicon from the Italian corpus and the word-segmentation scorer (warsaw/wordsolve.py).
  4. The 5-gram + coverage annealer that converged, with the shuffled controls (warsaw/combo.py).
  5. Final key and decoder (warsaw/decode.py, plaintext.txt).

Checked: token counts, convergence from random and seeded starts, three shuffled controls, the alphabet order, every occurrence of every rare symbol against its value, word-level Italian throughout. Not checked: the manuscript image, sender, addressee, the word codes. The attribution in §05 is an inference and should be verified before it is repeated.

07 Sources

Analysis scripts and the ciphertext are in the repository (warsaw/).