37 34 46 8247 5 01 8734 8760 8904 8739 8413 5 64 8 5
41 21 16 46 11 96 44 69 70 09 26 5 12 5 43 94 70 67 76
42 5 92 70 36 74 46 70 70 5 42 · di Lutzovv di

Rome → Innsbruck · digit table with syllables and an alphabetical code · 15 June 1848 · read

Cardinal Soglia to the nuncio Viale Prelà, Rome, 15 June 1848

Intercepted in the post at Turin and printed by Mazzini’s L’Italia del Popolo, Milan, 30 June 1848, as 955 digits with “a prize of some size for the best interpreter of these figures” · posted on Cipherbrain in 2014 as unsolved

5 is the word break, pairs of the other digits are letters and syllables, 8XXX is a code in alphabetical order · read except eleven code groups: a counter-order telling the nuncio to stay with the Emperor, written the day after he had left

Daniel Bourdeau · solved

Summary. On 30 June 1848 Mazzini’s Milan paper printed a letter and a ciphered dispatch of Cardinal Soglia, Pius IX’s Secretary of State, to Mgr Michele Viale Prelà, nuncio to the Emperor, who had fled Vienna for Innsbruck. The pair had been posted at Turin on 20 June and never reached him. The paper could not read the cipher and offered a prize; Rome reprinted it as a broadsheet; the government kept silent; Spada’s history (1868–69) gave only a paraphrase from “a most authoritative person”. Klaus Schmeh posted the broadsheet on Cipherbrain in December 2014, where it stayed unsolved. The system is a small nomenclator: the digit 5 separates words, two-digit groups from the other eight digits are letters with homophones and syllables, and four-digit groups beginning with 8 are a one-part code whose values run in alphabetical order. The dispatch is a counter-order. An earlier letter had told the nuncio, after the Austrian ambassador Lützow had been ordered to leave Rome, to ask for his own passports and go home or to Cologne; per nuove sopraggiunte circostanze the Pope now wants him to stay at Innsbruck with the Emperor, wherever he goes, and the order about the passports is suspended. The instruction is going by three different routes; Mgr Morichini is to be shown it. According to the Dizionario Biografico, the nuncio had left Innsbruck for Frankfurt and Cologne on 14 June, the day before it was written. Status: read. Ten code words are read from context and checked against the alphabetical order; eleven code groups, among them the date of the earlier letter, cannot be recovered from this one message.

01 The document

The image Schmeh posted, which Tony Gaffney had sent him, is not the Milan paper itself but a Roman broadsheet: Dispaccio del Card. Soglia. Tratto dal giornale l’Italia del Popolo 30 Giugno, printed by Clemente Puccinelli in Via Lata. Commenters identified the paper within a day (Helmut Winkler, Hans Jahr: L’Italia del Popolo, the organ of Mazzini’s Associazione nazionale italiana, year I, no. 40). Its preface says what the editors knew:

Head of the Roman broadsheet: Dispaccio del Card. Soglia, tratto dal giornale l'Italia del Popolo 30 Giugno, with the editors' preface
The broadsheet’s head and preface: “a faithful and most exact copy of a letter and a dispatch of Cardinal Soglia to Mgr Viale Prelà, apostolic nuncio to the Emperor of Austria at Innsbruck. The cipher is, for now, unknown to us, and we entrust it as it is to the curiosity of our readers … Letter and dispatch, though dated at Rome, were posted on 20 June at Turin, addressed to … Mgr Michele Viale Prelà, archbishop of Carthage, Innsbruck.”

Two documents follow. The first is a letter wholly in clear, no. 6235: the Pope has read the nuncio’s two letters of 27 May and approves his decision to follow the Emperor at the Austrian foreign minister’s invitation; “what the instructions are, you will learn from my contemporary dispatch in cipher”; the language of the Ministry is not to be confused with the Pope’s own will. The second is the cipher dispatch, which opens in clear (“having news of your departure from Vienna and of your removal to that city, where His Imperial Majesty now resides, I take the occasion to send you this dispatch there”), then runs fourteen lines of digits, breaks into clear for one sentence (“To save time you must at once make the present dispatch known”), ends with two more lines of digits, and is signed G. Card. Soglia, Rome, 15 June 1848. At the foot: Un premio non tenue è destinato al migliore interprete di queste cifre.

The opening of the cipher dispatch on the broadsheet: the clear first sentence and the first six lines of digits
The dispatch begins. The first line reads 37 34 46 8247 5 01 8734 8760 8904 8739 8413 5, Con mio (foglio) del [date] … The vertical rules are fold lines of the sheet; the scattered dots above and below the digits are ignored, and the reading does not need them.

The transcription used is Joe’s, posted as the fourth comment under Schmeh’s article on 15 December 2014. It was checked line by line against the scan cut into strips, and it is right except in one place: on line 12 the printed …2251242496774740906… lost a 4. Corrected, the block is 955 digits. The printer made one error of his own, taken up below. Where the print has a dot in the line (3099.7.39, 67367.067), it is ignored likewise: the text reads without it.

02 The system

Three things are visible in the digits before any key is guessed.

The table as read. Rows are the first digit, columns the second; a dash is a cell that does not occur in this message.

01234679
0delnokstaala
1chiminmacp
2glienelanche
3qudabmitcond
4deldiseeoalr
6ilfpersistite
7v (u)tigztobp
9cfldgmns

Homophones: e 21, 44; b 33, 77; c 16, 90; d 39, 93; f 61, 91; g 72, 94; l 41, 92; m 11, 96; n 24, 97; p 19, 79; s 04, 99; al 07, 47. The eight empty cells (00 13 17 27 29 32 62 73) are unused here, not unread. a has one cell, 09, and it is the commonest group in the text (38 times). 70 is u and v; doubled, it is the w of 92 70 36 74 46 70 70 Lutzovv.

Code words and stems. The 8XXX groups stand for whole words or for stems that letters complete: 40 20 8424 67 degli (ordin)i, 19 09 04 99 09 8446 67 passa(port)i, 41 21 8433 16 67 19 46 le (parte)cipo. Nine are fixed by their context beyond reasonable doubt, and their values rise with the alphabet:

831983408374842284248429843384468620
ImperatoreistruzioneMonsignoropportunoordin-Padreparteport-Roma

This is the design Kent Ramliden described in his comment of 7 January 2015 from the cipher of the Vienna nunciature at the Congress of 1814: dinomes for letters and syllables, a four-digit series for words and names, and 5 as a word divider. There, the word series began with 7 and the dinomes avoided 5 and 7; here it begins with 8 and they avoid 5 and 8. His parse, with 7 as the marker, could not work on this text; with 8 it does.

The print error: the first passaporti is printed 19 09 05 99 09 8446 67. A 5 inside it would cut the word in two. The second passaporti, later in the text, is 19 09 04 99 09 8446 67, so the printer set a 5 for a 4. A lone 8 after si on line 1 is unexplained.

03 How it was broken

  1. Simple substitution fails, and the failure is informative. With 5 taken as the word break, a one-letter-per-pair annealer with 5-gram models in Italian, French and Latin got nowhere, about −3.4 nats a character in each language. The same solver was run on a synthetic control: an Italian text of the same length, enciphered homophonically in 68 two-digit symbols with the same word breaks (synth.py). It read the control exactly. So the solver was sound, and the pairs could not all be single letters.
  2. A nomenclator annealer. The next solver let each pair stand for a letter or a common syllable, one value per pair, with the 8XXX groups held out as unknown words. Among its outputs, runs such as circostanze, intendendosi and indirizzata were whole Italian words of chancery prose that no chance key would give.
  3. Pinned words, then reading by hand. Those three words were fixed and the annealer rerun; after that the text was read by hand, word by word, one pair at a time, each value checked against every other occurrence of the pair. Lutzovv and Inspruck fell out of the letters. Morichini is spelled out in the last line.
  4. The code. Once the letters were known, the 8XXX groups could be parsed out and set in order: Imperatore 8319 before istruzione 8340 before Monsignor 8374, and so on to Roma 8620. A one-part code in alphabetical order lets the value of an unknown group be estimated from where it falls between known ones (§05).

04 The reading

The end of the cipher dispatch: the last cipher line before the clear sentence, the clear sentence, and the last two lines of digits
The end of the dispatch. The period 4 closes the cipher before the clear A risparmio di tempo dovrà con ogni sollecitudine rendere ostensibile il presente dispaccio; the cipher then resumes with 5 09 8374 5, a (Monsignor), and spells Morichini.

Spelling normalised (the cipher writes v for u and commeteva); (…) a code word, read from context; [8xxx] a code group not read; the sentence in italics is clear on the print

Con mio (foglio) del [8734][8760][8904][8739][8413] si le commetteva che in seguito degli (ordin)i dati a Sua Eccellenza il (Signor), [8227] di Lützow, di abbandonare (Roma), Ella si facesse del pari a richiedere i passa(port)i per restituirsi alla Dominante, o per condursi in (Colonia), che (è) (lontan)a della (guerra), (com)e [8704]e lo avesse creduto (opportuno). (Tuttavia) per nuove sopraggiunte circostanze Le (parte)cipo [8093][8102] del (Padre) che Ella rimanga in Inspruck presso l’(Imperatore) e ovunque egli fosse per recarsi; intendendosi sospesa la indicata delibera [8136] relativa alla domanda de’ passa(port)i: interessa [8131] a (Padre) (cotest)a nuova (istruzione), che Le viene indirizzata per tre diverse vie, (col fine di) assicurarne l’arrivo. A risparmio di tempo dovrà con ogni sollecitudine rendere ostensibile il presente dispaccio a (Monsignor) Morichini per di lui norma alle pratiche affidategli.

English

By my (letter) of […] you were instructed that, following the (orders) given to His Excellency the (Signor) […] Lützow to leave (Rome), you should likewise ask for your passports in order to return to the capital, or to go to (Cologne), which (is) (far) from the (war), (as) […] you thought (fit). (However), because of new circumstances that have arisen, I inform you […] of the Holy (Father) that you are to remain at Innsbruck with the (Emperor) and wherever he may go; the said decision […] about asking for the passports being understood as suspended. It matters […] to the Holy (Father) [that] (this) new (instruction), which is being sent to you by three different routes (so as to) make sure it arrives … To save time you must at once make the present dispatch known to (Mgr) Morichini, for his guidance in the negotiations entrusted to him.

Every group outside the brackets is spelled in letters and reads without choice. La Dominante is the capital, Rome. The sentence beginning interessa is grammatically incomplete, with its verb in the open groups [8131] or after them; its sense is plain.

05 The code words, checked by rank

Ten code groups are read from context: foglio, Signor, Colonia, è, lontan-, guerra, com-, Tuttavia, cotest-, col fine di. Context is not proof, but an alphabetical code gives a test that does not depend on context. A straight line was fitted to the nine firm anchors, code value against rank in a sorted list of the 1,500 commonest words of a 19th-century Italian corpus (slope about 0.47 code values per word; rankfit2.py). The anchors themselves scatter about the line by 10 to 60 values, so that is the tolerance. Each context reading then gets a predicted value from its own rank:

CodeReadingPredictedOff by
8110col (fine di)8114−4
8116Colonia8117−1
8120com(e)8122−2
8122cotest(a)8145−23
8211è8199+12
8247foglio8245+2
8310guerra8289+21
8346lontan(a)8339+7
8632Signor8596+36
8737Tuttavia8665+72

Firm anchors against the same line: Imperatore +24, istruzione +21, Monsignor −14, opportuno −10, ordin- −11, Padre −10, parte −18, port- −41, Roma +60.

Four readings land within five values of prediction, five more within the anchors’ own scatter, and one, Tuttavia, beyond it. The two largest residuals, Signor and Tuttavia, both lie beyond Roma, the last firm anchor, and both are positive, as is Roma’s own: the late alphabet is denser in this code than in the word list, and the line extrapolates past it. The readings also come out in the right order among themselves (col < Colonia < come < cotesta < è < foglio < guerra < lontano) and in the right places among the anchors, which context alone would not guarantee.

The order also rules things out. The obvious reading of con mio [8247] del is dispaccio, but a d-word cannot sit above è at 8211; foglio, predicted at 8245, can. Conte for [8227], before di Lützow, would have to fall between come (8120) and cotesta (8122), and the firm anchors alone put it near 8133; 8227 is in the ef range. Both exclusions lean on the context readings nearest them, so they are as good as those readings.

06 History: a day late

The Emperor Ferdinand had left Vienna for Innsbruck on 17 May 1848. The nuncio followed him there, at the invitation of the Austrian foreign minister, and wrote to Rome on 27 May; the clear letter printed with the cipher is the Pope’s approval of that. Rome and Vienna were near rupture: papal volunteers were fighting the Austrians in the Veneto, and Count Lützow, the Austrian ambassador, had received his passports in the first days of May (the Rome Gazzetta of 9 May announced them) and left Rome on the evening of 16 May, according to the diary of Prince Agostino Chigi. The earlier instruction the cipher refers to, whose date is in the open groups, was the papal answer: the nuncio should likewise ask for his passports and go home, or to Cologne, away from the war.

The cipher countermands it. What the nuove sopraggiunte circostanze were, it does not say. Carlo Luigi Morichini, archbishop of Nisibis and until April the Papal States’ finance minister, had left Rome on 27 May as extraordinary apostolic delegate to the Emperor and to Charles Albert and reached Innsbruck on the night of 10 June (Chigi); the Pope wanted his nuncio to stay beside the Emperor while Morichini negotiated, and wanted Morichini to see the order.

It came too late on both counts. The Dizionario Biografico degli Italiani says that on 14 June the nuncio left Innsbruck and went as papal delegate to Frankfurt and to Cologne, returning to his post at Vienna in September. The dispatch is dated the 15th. A copy was posted at Turin on the 20th and never reached him; Chigi heard that it had been intercepted at Turin or Milan. It was printed in Milan on the 30th and posted up in the streets of Rome on 5 or 6 July. On 8 July Chigi noted that the feared ministerial crisis would not come of it, and that the Pope was said to have had no difficulty in showing the Ministry the part in cipher.

The published guesses fare unevenly against the reading. Spada’s informant said the cipher contained the Pope’s approval of the nuncio’s conduct in keeping on good terms with the court and avoiding the scandal of his dismissal. The approval is in the clear letter; the cipher is an order, and the rupture it heads off was one that Rome itself had ordered. Il Labaro of 7 July, as summarised on Cipherbrain in 2016, guessed at a departure from the court and a role for the bishop of Nisibis, which is nearer to the truth, though in the reverse direction.

07 The eleven open groups

Eleven code groups occur once each and are not fixed by their context. The alphabetical order gives each a window: its place between the known values, converted to a stretch of the sorted word list (windows2.py, piecewise between all anchors; roughly ±15 words).

CodeWindowContext
8734 8760 8904 8739 8413tr–tu / venti–vo(lgente) / beyond v / tu–u / n–othe date of the earlier letter: con mio foglio del …, probably an early-June date such as tre volgente with a reference
8227ess–età–ex–fail Signor, […] di Lützow; Chigi calls him ex-ambasciatore
8704te–ticome […]e lo avesse creduto opportuno
8093 8102ch–ci / ci–coLe partecipo […] […] del Padre
8131 8136cr–da / da–darinteressa […] al Padre; delibera […] relativa

Scoring every candidate in these windows with the character model picks only function words (ciò, da, esse), which is no reading. 8904 lies above every word in the list, which in a code of this kind may be z-words or an appendix of numbers or names. Filling these needs the 1848 papal codebook or other messages in the same code: the Secretariat of State and the Vienna nunciature archive in the Vatican, or Austrian intercepts in the Haus-, Hof- und Staatsarchiv, which Ramliden pointed to in 2015.

08 What remains uncertain

09 Sources

The corrected ciphertext (ct2.txt), the decoder with the table and the code (decode.py, key.json, codes.json), the synthetic control (synth.py), the rank fit and the windows (rankfit2.py, windows2.py), the line strips checked against the transcription (strips/) and the notes are in the repository (soglia1848/). Run python decode.py --guess for the reading with the context code words filled in.