hz b ls 7 · 6 gp qo bp · 8 q qq 4 + · che
vole · bene · voria · che
hz = v · b = o · ls = l · 7 = e · + = a · 4 = i

Milan → Francesco Sforza · homophonic substitution with nulls, decoy words and a small code, in a letter with clear connectives · 21 May 1447 · key from adjacent plaintext, partial

Nicolò Guarna to Francesco Sforza, Milan, 21 May 1447

Francesco Sforza
toFrancesco Sforza

Go to the full text ↓

Sforza’s envoy reports an audience with the Duke of Milan on money, the plague and Sforza’s coming; the key was rebuilt from another Guarna letter and about 72% of the cipher words are read, so it is read in part.

Daniel Bourdeau · posted

Method: key recovered based on adjacent plaintext · Extent: partial (72% of the cipher) · On the map

Contributed by Brice Dudout (solution) · Also credited · Contemporary key or decipherment (earlier solution) · Daniel Bourdeau (pointer to a source)

At a glanceKey from adjacent plaintext · partial (72% of the cipher)

The letter
Nicolò Guarna, writing from Milan as Count Francesco Sforza’s envoy at the ducal court, to Sforza, on Sunday 21 May 1447. It is signed “Servitor N. Guarna”. The opening, the connectives and the close are in clear; most of the body, about 3,960 cipher signs over three pages, is in cipher.
Where
Paris, Bibliothèque nationale de France, italien 1584 (the Archivio Sforzesco, 1447), ff. 153r–154r, on Gallica (views 146–147). No DECODE record and no edition found. The letter is not in the catalogue; the lead for Guarna’s other letters in this volume (ff. 163–164 and others) does not list ff. 153–154.
The cipher
Homophonic substitution with nulls (79 distinct signs), clear decoy words written inside the cipher (quia, adviso, mo, primum …) and a small code (cer = Signore, mea = non, tuy = gente d’arme, tri = Re de Ragona, dn = dinari). Several signs carry more than one value in our table, which may partly reflect our own confusion of look-alike signs.
How it was read
Brice Dudout rebuilt the key from Guarna’s letter of 27 May 1447 (ff. 163r–163v), aligned with its 18th-century clear copy (ff. 161r–162v, 165r), and applied it to this letter, which has no copy. The tests do not validate it: both held-out measurements are partial, and there is no fresh held-out block left.
What it says
An audience with Duke Filippo Maria Visconti about Sforza’s coming to Lombardy: enemies in the field, troops poorly provided, the plague, nine thousand ducats and then “not another florin for a long while”. The Duke answered “more openly than the other times” and shows a fervent wish for Sforza to come quickly.
Still open
About 236 words are unresolved (an estimate: each unread stretch counted as its length divided by five), mostly on f. 153r and the first half of f. 153v. 72.3% is below the 95% read bar. The key is partial, and the end of the letter (f. 153v from about l. 46 to f. 154r) was already in clear on f. 156, so it is not new.
Credit
Brice Dudout (Europe chiffrée), working with Claude Opus 5.5 agents: transcription, key, tests and reading, contributed by pull request #280. The clear text of f. 156 is the contemporary reading of the end. The training pair came from Daniel Bourdeau’s survey of the late copies in this volume.

01 The letter

Guarna writes to the Count from the court of Duke Filippo Maria Visconti, the last year of the Duke’s life, when Sforza, his son-in-law and condottiere, was far off in the Marche and the Duchy was short of money and men. The letter has about fifty lines on f. 153r, fifty-two on f. 153v and three on f. 154r. The salutation, many connectives and the close are in clear; the substance is in cipher, with clear decoy words scattered through it.

The letter belongs to the Sforza archive volume that also holds the Duke’s own letters to Sforza and those of Barbavara and Pusterla, each in a different cipher; the Duke’s second key and the Barbavara and Pusterla letters have their own pages, and nothing here is read with them. f. 156, a 15th-century clear text, gives the end of a letter of the same day, which matches the end of this cipher.

The top of a manuscript page: a heading with the year 1447 and Guarna's name, a line of clear Italian, then lines in which clear words alternate with runs of small cipher signs
The top of f. 153r. The heading at the top names the year 1447 and Guarna. The first line is clear; from the second line clear words (as far as they can be read from the image, sempre in pensiero se potesse) pass into runs of cipher signs. The first run decrypts with the key to remediare a questi benedetti inconve- (line 2, the opening of the block held out for the first test). Image: Bibliothèque nationale de France, italien 1584 f. 153r (detail), via Gallica (openapi.bnf.fr IIIF, view 146).

02 The cipher

The signs are letter-like and geometric, written without word division. Most stand for a single letter, and several letters have more than one sign (homophones). Some signs are nulls, and a few clear words (quia, adviso, tanto, tame, mo, cio, oto, si, ot, primum, tua, spes) are written inside the runs and dropped when reading. A short code gives whole words: A = Papa, cer = Signore, mea = non, con = qua, tus = que, tuy = gente d’arme, ba = per, ra = perché, qt = quantunque, tri = Re de Ragona, SF = Signore de Faenza, dn = dinari.

In the table as we have it, many signs list two or three values, most frequent first. That may be the cipher’s own polyphony or the contributor’s confusion of look-alike signs on a microfilm (a four-like sign and hk, a sigma and an o with a hook, t, T and z, hs and h). A blind shape sheet on those pairs was prepared and is not yet answered, so it was not applied. The key is published as targets/guarna1447/key.tsv (CC BY 4.0).

03 The key and its tests

Where the key comes from. No Guarna key was known: DECODE lists none among the keys examined, and nothing in print was found. Brice Dudout rebuilt it from the cipher of Guarna’s letter of 27 May 1447 (ff. 163r–163v), aligned with its late clear copy (ff. 161r–162v and 165r), the pair listed in the survey of late copies of this volume. The key was frozen in three stages (K, K2, K3, each fixed by SHA-256 before its test) and applied to this letter.

The tests. The thresholds were fixed in advance: validated at 0.60 (words of five letters or more in Italian) or 0.85 (characters against a clear), and at least 0.30 above the best of 200 shuffled keys; partial when the gap holds without the absolute figure.

testheld-out blockkeymetricscorebest controlresult
1f. 153r ll. 1–20 (this letter)K2Italian words of 5+ letters0.4410.118partial (gap 0.323)
2f. 164r (the training letter) against its copy f. 165rK3characters0.7590.315partial (gap 0.445)

From targets/guarna1447/validation.txt. These are the contributor’s own pre-registered tests, not the project’s _validate.py.

What that means. The key is partial by our protocol, twice, and not validated. Both held-out blocks are now used, so no fresh block is left to test it on. Declared slips: line 20 of the first block (clear only) was seen before the block was frozen, and the copy f. 165r was seen at low resolution while the second block was chosen, though it was not used to build the key. The end of the cipher agrees word for word with the clear text of f. 156, which the key never used, but that is not a pre-registered test.

04 The reading

The reading covers the cipher segments only (the clear frame of the letter is not counted): 852 words, of which 583 are certain and 33 probable, none restored and 236 unresolved. Certain and probable make 616 words, 72.3%. The unresolved count is an estimate, because a stretch that does not read cannot be cut into words: each is counted as its decoded length divided by five. By part: the held-out block 71%, the rest of f. 153r 71%, f. 153v 73%, f. 154r 91%. That is below the 95% bar, so the letter is read in part. The reader is one AI agent working on a microfilm, and no palaeographer has checked the signs.

The sentences are built from stretches that construe as 15th-century Lombard Italian (de li quali, per respecto del spaccio, senza comparatione) with many holes, most of them on f. 153r and the early lines of f. 153v. The part where the reading is steadiest is the end, f. 153v from about line 46 to f. 154r, and that part is also the part that was already in clear on f. 156. The passage below is the end of the letter in the normalised text (a bare word is certain, {x} probable, [?n] about n unresolved words).

ne {recevessimo} [?1] per le genti de Cremona restano [?1] milia li quali spero havere fra otto o diece di o non prima … ma per {dirve} quello che io credo pareme esser certo voi non haveriti piu uno fiorino per uno grande spacio se la S.V. aspecta de moverse. … vole bene voria che facesti ultimum de potentia de venire presto et Dio volese che potesti farla
of which we received […] for the troops of Cremona remain […] thousand, which I hope to have within eight or ten days, not before … but to tell you what I believe, I seem certain you will not have another florin for a long while, if Your Lordship waits to move … [one who] wishes you well would want you to do your utmost to come quickly, and God grant you may do it.

The gist (an audience with the Duke, money short, the Duke wanting Sforza to come) holds across the parts that read; the details of the first half are not secure.

05 What remains uncertain

Full texts

The transcription and the decryption of every document on this page, so that the reading can be used and checked. Short files are shown here; all are in the repository.

ff. 153r-154r, cipher segments of the letter of 21 May 1447 read in part

Guarna reports an audience with Duke Filippo Maria Visconti about Sforza's coming: the state in danger (enemies in the field, troops poorly provided, plague), 9,000 ducats, the gabelle and the troops at Cremona, then no more money for a long while; the Duke answered more openly than before and wants Sforza to come quickly.

Builds coherent sentences, but under the read bar of 95% of words read as sense (72% here); the holes are marked in the reading.

Transcription

transcription.txt

# guarna1447 - Paris, BnF, italien 1584 (Archivio Sforzesco), ff. 153r-154r (Gallica btv1b100373864, views 146-147):
# Nicolò Guarna to Francesco Sforza, Milan, Sunday 21 May 1447. Cipher segments only, one line per segment, by shape names;
# [word] = a clear word written inside the cipher (decoy or real, see key.tsv). Transcribed by one AI agent, 5 Nov 2026.
# H02-H19 = held-out block (f. 153r ll. 1-20; l. 1 and l. 20 clear only), hashed before decoding (SHA-256 95e803c0...).
# L22b-L51 = f. 153r ll. 21-51 (the token file was offset by one: L22b = l. 21); V1-V52 = f. 153v; P1-P3 = f. 154r.
# No images here.
H02 hk 7 ym oe h 4 + ff bp gp hd t 2# pi gp pc ot pi 6 oe qn 7 a bp oe ^ tc x pi nd 2 8 hz oe
H03 qn pi oe nd 2 4 h 7 ls tc [mo] 2# 8 + bp fi pi bp
H04 ym x q hs 2 hk + nd hd a b h 7 pr + ff qq q hk 4 ff 4 t pi hz [nec] pc oe hk pi 4 bp 2 q ff gp x a
H05 oe to t che x bp [nec] to x ym q pi b hs oe ot hk q x
H06 [primum] [tua] c q ls 7 2 8 2 oe nd ot bp x
H07 2# pi ls qn bp 2 b hd ym 4 2 hk x hz q ph oe k + pi x 4 nd 2# pi oe pc ot b ym x qn h qo x pr 7 hk ff oe hs T gp ^ b [cio] h 7 fi pc pr + pp pi q
H08 a gp ls 2 8 2 7 pi c u mea 8 gp h 7 8 + pc oe 2 hz tc hk oe 2# pi 7 W 4 gp 4 7 ^ 4 che pi b pc pr 7 ff + pi t bp h q fi t hs hd pi x
H09 pr + ls bp 2 8 ot gp
H10 pi x hd ym 4 2 hk x pi + hz t 4 pc 7 nd k q 2 8 pr + ff t 2 4 x nd oe bp T 7 z q 2 8 2 7 qn ot b [mo] che mea gp hk t hs 2 + ot
H11 pi x k ls 4 h pi pr + ph q bp 2 tc bp pi ls+ hk t pc q nd oe [tame] 7 hk q 2# pi oe pc 2 + [ac] t fi pi a tc pr q ph hd q 2 4 bp tc x oe ff t
H12 pc oe q ls z 2 8 ot gp nd 2 b hs q ls x T 7 hk ls oe ff + pc b nd 4 h tc ^ gp hd x ym + q ls T ff 7 pc oe nd ot gp hs 7 nd 2 gp qn a b [mo] fi 4 qn tc ym pi c
H13 fi tc hd x ph gp hk oe # hk x ph tc x u 8 t pi + ls c q hk oe pr gp ff x fi + c t ym T + # qn q bp pc 7 nd k t hd x 2 pc 2 + c x ls q [cio] gp x bp
H14 bp a ot 6 4 2 + hk 7 [manifestamente] che ls x pc 2 + ot q h 7 to + pc 2 t hz + 4 nd hz ff t nd a 7 pr oe hk 4 c b ls q
H15a c b ls ot bp x pr 7 hk 4 c q fi b pc + hd x +
H15b ls x q
H16 7 pi 4 a q nd ot gp to + hz 4 c bp q fi x qo h gp fi pc 2 + ot b a gp to + ls x t 4 q c t b ym 4 x hd 7 hk + bp tc nd 2 b W 7 ff q 6 4 ls gp bp
H17 pr 7 hk x che 2# pi t nd a b pi oe qn 7 ls x 4 + c 2 b h 7 ls+ hs hd x pi bp q nd h x ph 7 [nec] + qn a t 8 bp q x pi ls x pc 2 + ot b h gp to +
H18 pc pr hs # fi 8 t ph 7 pc gp ym T hk 7 to + [cio] T b qq 4 + ff 7 ym oe h 4 + hk gp t ls pi 4 q c 2 4 pi q pc ot ff pi pi 7 ff + bp c hz ff ot q
H19 che 2# pi t nd h q ls b 2 7 q T x # fi tc [primum] hs 7 ff [cio] pi gp ph oe to + o + qq 4 t pi 7 hk hs b fi q pc bp 8 qo
L22b ym + pc 4 ls x
L23 hs 2 + ot b hk gp to + mea t qn a q ph 7 6 gp qo hd pc oe hk hk + ym + ym q ls 7 4 qq gp c 8 pr oe ff + hz 2 4 ls hs 7 bp pc 4 pr 7 hk to +
L24a pi hs tc + ot ff pi hz 4 [cio]
L25b h + ls q hd pc hd pi bp
L26 + ls 2 8 bp 2 gp pr hk x c 7 a oe mea hs 7 nd k t 3 ff + qn a 4 ph pi ym x bp 7 qq x q hk 7 hz 8 pc 4 a gp hk + 2 b che pr 7 hk ls + pi 4 t h 7 fi
L27 2 8 ot oe ls + hs x [mo] hz x [cio] pc 4 pr pi x hs + fi hz + hk 7 u mea [solamente] a gp ph 7 nd h oe ff pi oe ym + pi nd q 2 8 ls q fi 2 hk 7 # oe
L28 qn ot 4 a oe ls q pc qo 8 x bp to q 3 7 hk oe fi q T 4 8 # fi x hk 7 x hk pi q pc + hz 4 c 2 b ff tc + che pc 4 q hs 2 + ot t 4 nd tc 2 tc fi 4 t
L29 # hk + nd ot gp ym pr x L + u T 7 hk hd h t ff gp bp q pi a 4 7 nd 2 tc q [mo] + a c to tc to + pi x fi hz 2 b h pi ff oe e q ls gp hd
L30a ls + hd hs [primum] hz [mo] pr + 2 gp h 7 ym oe ^ gp ff 2 bp fi x pc 2 + ot b hs hz q 4 nd [ena] T gp hk 4 hd c q fi x hd pi mea hs bp x
L31 z hz + ls 7 pr hk b hz t hs oe T q 2 7 ph gp bp 4 q ffo 4 qn 2# pi bp 7 hs ot x hd 4 q nd h b [mo] che 4 q ph 7 ym t 4 q hk 7 h gp 2#
L32 pi 7 W t che to + 4 q ^ t ls x 2 8 ot gp bp hd 2 8 gp gx pr hk 7 ph t oe gx T oe hk 4 gp qn 2 pi t [tame] h 7 fi q 4 7 h oe pc x t
L33 pi 4 nd c fi tc nd + 2 pi x qn gp pi gp hk pc b ls + pc hd [cio] hz x bp
L34 + ss [Adiungendo adesso pare che] [nca] 6 x nd + hd pi x ls b qn 2 + h 7 2# hz t nd 2 q ls q hs x 8 hd to q pi 4 3 q 8 gp hk pc x 7 ls
L35 ^ 8 hz pi [tua] 7 gx pr oe ff 4 oe q 2 pi t bp che 4 + 4 q ot ss pr ot b 7 ls 2 8 ot gp hz 7 fi + pc x q 4 7 h gp u a 7 pi b 2 4 q nd gp
L36 3 7 hk pc b ls + hs qo pi bp mea hs 4 pr x ph b nd q hd a 7 4 gp nd h oe hk 7 h q to b ym 4 nd tc T 7 hk pi oe ff pc pi hd u h 4 q qo x
L37 fi tc c pi che 4 + c b pr q pc 2 q 2 hz ^ q ls b 4 nd ot 7 tuy gp ^ b fi x hk b [tanto] + h c t c pi fi q hk oe ls q ym gp nd 2 oe h 7 fi q pc
L38 [adviso] pi bp x 8 c h 7 hs 4 # qn b hk 7 mea hz b 3 fi 4 + 2 7 bp pr q ph ff h pi q T 7 hk pc tc hz t nd pi pr 7 qn hs hk 7 hk tc ym 7 t gp
L39a hk oe ls q pc 2 + ot b h 7 ls t hs bp 8 [tanto] hk nd [tua] pr 7 hk tc c b fi q
L39b pi q x ls 7 hk pc pi h 7 ls
L40 2 8 q oe A T x tc che to t pi 7 hk pi 2 4 4 + c ot tc ls pi oe q 8 2 pi [mo] pi b pc ot hk 4 2 ff + c ot t hk gp ls x 2 8 2 oe hd x 3 oe ff b
L41a pc 7 2 8 h q ls tc ym gp ff pi 2 4 hs hz b tc b ss gp 4 x
L41b gp fi 2 8 ot 7 pc 2 t hk +
L42 mea pc b fi x pr + c 4 7 nd ot oe ym q 2 8 2 oe qn ot tc ph pi c b bp t a b hz nd pi ls q pc 2 4 q hd T 4 + c 7 ff gp T h 7 2 gp ff ym tc nd t
L43a ot hk b nd 7
L44b bp x qo
L45 ls x hd pc pi hs pr 7 ^ b hk q
L45b pi 2 8 4 pi hk t ym oe nd 2 tc hd che + c c 4 mea 2 8 4 pc b # nd + pi q h oe
L46 to t pi bp 7 ffo oe hd hs pi ym tc fi 2 pr + ph tc x qo bp u che hs gp 4 b ph 7 + fi c pi nd b a gp 2 + nd ot t [mo] q pi h + 2 pi t ot oe
L47 ff 7 pc hz ym 2 4 b qn oe che hz b ls 7 ph gp ym 7 t gp ff oe hd fi + c oe 7 c oe qn 2 7 h gp fi + pc hd hs b + 4 nd pc hz hs pr 7 ^ q h 7 ls t hs bp
L48a ss pr 7 ff 2 gp ym T b hd x x T 7 hk ot + hk a x hs oe nd gp T 7 nd ot 4 ff pi +
L50b x ls x nd b pc ot ff q pr 7 hk 4 4 c b fi x pi oe h 4 c gp ym x [tanto] bp che h h oe
L51 tc 2 pi fi x hz oe hk x u 8 b # nd q pc c 7 4 bp q e b ls 2 x 2 gp qn 7 ls q 4 + c 2 q nd b pc ot ff q pc 2 + ff gp hk qn # hk t nd
V1 pr 7 hk 4 c x fi q [mo] pc tc T oe ff ls + T x ph t nd k q h oe ls 4 nd pi ym 4 c tc pi pr 7 hk fi + T x 8 t T hk x bp pi tc pc 4 b qn 7 che pc pi hd L + bp
V2 + a fi 7 # oe nd ot tc nd q pc 2 ff gp u pc tc pr 7 hk pc pi hs pr 7 ^ b [tame] [adviso] che to t hz 7 ym x a gp x t fi c hz nd b a 7 ls 4 qn x pc ot ff tc
V3a ym t
V3b nd 3 # to + pi 7 ym bp x 2 8 c q nd h + 2 b pi 2 8 ym t nd h q ym x hd b # nd tc h pi pi pc tc
V4 q ym x c 7 hk 2 pi che hs 7 8 pc gp pi pc q ph 7
V4b hs 4 4 + 4 4 t hd q ph t tc ss pr 4 pi che mea qo oe + pi nd pi 4
V5 pc oe ym b 4 qn to t ot pi fi q hd h 7 ls + pr gp ss ot x nd + x che mea T b 4 4 t ym q x pr q 4 ot q ff bp gp pc 4 ym tc ls 4 4 + 2 4 che u c q ph
V6 tc ls + c q pc + pi ym q ym t ls 7 [cio] x
V7 pi 7 ph gp ff oe hd fi x pr hk 4 nd c tc bp T + ls ym bp che to + pi 7 ph 4 ym b + a hk 7 c + ^ t ff gp pi + h ot ff b hz q hk 7 [spes] pi che to +
V8 mea 4 + c 7 hz + h pi hz tc b che 2 8 pr + hk 7 nd h q tc b pi qn hd nd x ym 7 h gp ls q pc hd x pi bp hs 7 2 ff x hz q hk 4 + nd q a 7 ls gp 8 4 7
V9 + ph q tc bp h hz q gp c + ^ t ffo [spes]
V9b pr 7 hk h pi 4 ff tc pc T 7 ^
V10 pi pr ff tc ym b [cio] mea hs x hd + ^ b nd oe h 4 pc T x hs 2 q bp t a hs 4 ym 4 4 ym tc fi 7 c q hs oe [primum] ls b pc 7 2 8 h b ff tc hz T oe ^ q pi
V11 T ot hk bp mea t 7 3 4 pc 2 + hk pi tc c q fi ot pi hd 4 nd tc c pi c 4 hd 4 nd 2# pi oe pc ot + T q 2 ff pi q [cio] pr 7 hk c + hz t ff # ls tc [spes]
V12 h 7 ls + 6 b hk pc q hd 2# pi + nd h q pi b to 7 ff 4 qn 7 # + 2 b
V13 h 7 6 q nd oe hd pr + hk b ls gp ym + hk tc # pi h q pi hs pi hs 7 c + fi 4 4 + ^ pi
V15 ym tc nd x c 4 nd b c 7 ph gp q b hs c gp pi + pi q bp ot x q
V16 4 x # hz tc a b 2 q x q bp x x 2 8 h 4 4 oe che
V16b pc b nd x hd tc q c ls 4 c nd t ot 4 t fi q pc hd 8 [primum] 4 + hk 4 t nd x
V17 pi gp gx oe 2 8 tc ff 4 q nd b bp pr 4 pi hd hz b ls q nd 2 7 ff pi fi q oe + c ot b pi ot b pi q pc 2 ff q [tanto]
V19 ls + 6 7 bp 4 tc nd ot q hd
V20 pi 7 nd 4 [cio] hk 7 bp pi b pc ot ff q bp hd qo x [quia] gx cer
V21 pc 4 pr x ph t nd b x to + pi gp ff oe q fi 2 ff + 2# hz gp pc ot pi nd q pi gp c 4 W tc q [tame] h pi c + hd
V22 2 4 bp che + pc pr gp ^ t ym x 4 q pi 7 ff oe bp h 7 ls q # t 6 7 W q hd a gp fi tc 2 pi + fi h pi [adviso] 6 7 nd oe h 4 c gp che hz hz + nd
V23 h q bp ls + pc [quia] pi [si] 4 q ph 7 h gp 2# pi + hs 7 ot 4 x hz 4 tc bp q nd x a 7 fi pi [spes] t ph hd q tc bp
V24 ls+ x hs [mo] 8 [quia] hz mea + hs pr 7 ^ t ph gp + fi 2 ff q 2# pi + nd 2 4 ot + bp a 7 [spes] hd pi che
V25 4 + c 7 ph gp pr pi b u che 7 8 7 pc ot b hk gp pc 2 + mea T gp hk x mea pi b ls 7 # oe ym + T oe ff mea pr x ot oe ff gp pi che 2# pi + nd
V26 h b mea pr b 2 7 pc ot 4 ym gp nd q 4 oe ot 8 ^ + fi t 2 8 T q # nd 4 t ym gp qn q hs 2 tc 2# pi 7 W + pr t ff ot oe pi 4 bp 4 b ph 7 T x ph
V27 4 6 tc ls oe T pi ff 7 che mea 8 oe qn hk pc hd 2 tc 2 8 c + nd c b che 2 8 ls + c 4 ot + [mo] h 7 fi t 2 8 pr q # nd 4 t c u 2 hz + nd h b # ls tc pi 7
V28 nd 4 pc 2 pi 2 8 c gp q x hs 7 nd t pi nd b [tanto] pr 7 ff a gp ffo oe a 7 bp 4 gp T hz 2 + ot 4 q nd oe T 7 ff to + pi T 7 ff ls + pi b pc 2 ff hd t
V29 ls tc hz x pc ot 4 pi [mo] ym + nd c t c oe nd 2 tc pi hz 4 hs b # qn tc pi che pr 4 pi bp pi x ls q nd ot 7 ff 4 8 7 nd 7 4 tc pc
V30 ot 4 2 8 T b c to 4 [spes] b 2 8 nd 4 7 nd 2 gp [quia] che 2 8 t ph q bp x 4 pr 7 hk 4 + ff oe c q pc + # hk t 2 q bp + to + ym + ls q hs bp
V31 u x pi hk 7 pc 2 q pc b fi x pr 7 ff 4 q pr b 2 gp c 2 tc +
V32 mea ym 4 ym 4 bp gp h 7 pc pr 4 + c tc pi ot x hd pr 4 4 c b c 4 gp T t
V33 hk pi ot x bp che cer c 7 hd 4 nd 2 7 pc gp pi x ls pi nd 2 7 ff 4 pi hk tc hs T x pc 7 ym 4 [mo] T 4 pi + pr 7 hk ot t ym 7 nd 2 oe che hd x mea
V34 to + 4 t ^ x ls oe q ls ot ffo pi b fi 2 gp a 2 pr t 4 x fi oe + ph q tc pr 4 8 T tc t c 7 fi x ls pi bp u ls q 4 hz oe h 7 ls pi pc + 2 b
V35 4 nd ym q qn hs 2 ff + 4 oe [cio] hz b ls q nd 2 + h oe ls + hz gp qn 2 t 8 b hs 2 ff q qt 4 nd ls q 7 4 gp ^ b a oe fi pi gp qn tc 4 7 [mo] k q gp
V36 h 7 [spes] mea # fi tc gp + ls ot ff x che 2# pi oe ym b che 4 nd 2 oe qn h tc 2 pi [primum] pr pi 4 7 T gp ff 2 hz gp hs ot + pi b fi 2 t
V37 ls q pr + hk ff bp fi q hk 7 a gp to + c 7 hd gp x T + hk hs x + ph t 4 pr tc pi h b c oe pc ot 4 c x pi
V39 x ph t 4 + hk oe h t c 6 pi che o x hk pc oe 2 8 hs 4 ym tc fi pi ym x h tc pi 4 nd a pi hs 2 ff tc gp 2# pi 7 pc ot + tc nd 4 4 hk ym + ot t h 7 pc 4
V40 pr x ot 7 ph gp hd c pi 4 q ffo oe bp h 7 ls che mea to b pi qn t # ff + qn hd pc pr 7 4 q nd k t nd 7
V40b h 7 bp pc T
V41 7 4 t ff T ym oe nd gp
V42 pi b [mo] hs ot 4 bp + [cio] hz oe nd 8 x hd 2 t bp x
V45 pi x # nd 4 bp t tc
V46 ls q hd c b pc + x gp pr hk x ls q nd hz + 2 t
V46b h pi c + hd ot 4 bp
V47 h 7 c gp ym 4 ls tc q h 7 fi pi 2# hz t ls tc
V47b nd 7 hk gp c oe ph bp tc ym x c pi W oe T 7 hk ls oe # gp nd ot 4 h 7 ? hk 7 pc 2 + nd x [mo]
V48 q x pi oe ym pi ls tc + hd ls tc 2# hz + ls 4 bp pc pr 7 hk x to + pi oe ff 7 bp 4 hk + b 2# b bp b h 7 c tc a pi hd pi mea pr hk 4 ym + k x gp x
V49 2 pi ^ 4 ls tc nd b hz oe ym pi fi 4 +
V50b ym + pr 7 hk [mo] h 4 ff pi ym gp 2# 3 7 W
V51 x che pi x c ff oe h b hd u pr + hk 7 c pi gp ph 7 ff oe [cio] h 7 hk ot b pi 8 tc mea to + 8 7 ff 4 2 tc T pi pi hd 8 nd x 4 4 x ff tc nd
V52 q pr 7 hk pc qn b # hk q qn a 7 [primum] pc pr + c 4 x hd x pi pc gp ls + pc hd [quia] 8 [tame] + hs T 7 ^ q h gp ym x 8 gp hk hs tc hd
P1 2 hz + nd h x 4 t 8 oe hk q h gp ls 4 [adviso] q fi ot ff pi hd h tc x hs + 2# 8 q qn a q bp pc oe q [quia] x # nd 4 pi nd q che pi tc
P2 hz b ls 7 6 gp qo bp 8 q qq 4 + che 4 + c 7 pc 2 pi hz fi ot 4 ym pi e h 7 pr b 2 ym gp nd ot tc + h oe [mo] pi oe nd pi 4 gp pr 4 oe pc
P3 2 q pi h tc x pi b ls oe ph 7 che T b ot gp [quia] pc ot tc 4 + hk ls hd x q
Decryption

decryption.txt

# guarna1447 - mechanical decryption of transcription.txt with key K3 (key.tsv, first value of each sign), no correction.
# Clear words inside the cipher are dropped; ' | ' marks a cut at a clear word. One line per segment, same order as transcription.txt.
H02 remediareaquestibenedetiincove
H03 nventideliqoali
H04 mostrandodeparnorfrhavu | servicared
H05 ehache | hmnvosetra
H06 malecotent
H07 qvlncomitrovoseaiinquestomondoperrespetodelspaccio
H08 delccceetcunonvedevasetuirequelieietichevosperavadalasv
H09 paltote
H10 vmhcriavahsenocoparationepetatotentochenonerastat
H11 ilidipasatietlarasoneeraquesta | alidipasochiera
H12 sealttotentosoloperlerasoniditemaolpresentesentendolinimetc
H13 liseregrsiouoaialcareperlamampagnosenatstamlae
H14 dtbitare | chelostatodehastavahngrandeperimola
H15a moltperimalosaa
H15b la
H16 euhdantehavicolodelstatodehalainmaomieraintolerabile
H17 perchequandovenelfactodelasvandose | andavailostatodeha
H18 spsglcasesemprehaporiaremediarealifactivostriveramvrta
H19 chequandoloteapgli | seruesehaariaversolasv
L22b masil
L23 statorehanonandosebeserramamaleinecoperagthlsesiperha
L24a usiatrivi
L25b dalasv
L26 alcccepromedenonsenagrandisimenorevosideratocheperlaviadel
L27 totelasvsipusalvareunon | desendervemainatolaltrege
L28 ntidelaschaverelapiogloreriasavictoriachesiostatainicilia
L29 grantempauperdarenidientioadchihavolutodiremale
L30a las | gpacedemeterclostatosuoin | perimolunons
L31 zualeprovasepoteseinminquestiondocheiosemaiaredeq
L32 uelachehaintaltotecoexpresaexperientiadelafedesa
L33 iinclinationeversolasv
L34 ac |  | bnavolontadequantolaschavignoersel
L35 tvui | experientiachefaintcptoeltotevelasoiedeudevocione
L36 versolasvnonsipsonadefenderedahominiperetersetudin
L37 licetchefacopostotutalointegentedarmeetoloroadmacilorelamentedelas
L38 uccdesignorenonvogliaceposrdetapersivanetpensrerimeae
L39a relastatodelascrn | perimola
L39b ualersidel
L40 conepapapichehaveritifactilienocivostritractarelococevero
L41a secodalimeritisuoiosei
L41b eltotestara
L42 nonsolopachentematotentisimoadognilastiapiacerepdetermina
L43a trone
L44b
L45 lsispetora
L45b utofiramenticheamminoncvisognavade
L46 havemesimiltpasioucheseiosealcunodecantaaetdatiate
L47 resumcionechevolesemeaerelaceementedelassoainsuspetodelas
L48a spertempopertardosenepentiria
L50b lnostroperfimoletedicemochedde
L51 itulveruoognoscehamolttenelofactanostrastarerngran
V1 perimolasiperlaposanodelinimimietperlapocaprovisionechesia
V2 adlegentinostreusipersispetochehavemodealcunodelinstri
V3a ma
V3b ngghavemocomandatoetcomandomogniduvsi
V4 nmcercichesevseisose
V4b sfhafhadasaisphvchenoneainii
V5 semohnhatilodelapestonachenonpoiiamopoitoresimilifacicheumas
V6 ilacosaimamale
V7 ueserelprinmipalmchehavesimoadrematarevadtrovare | vcheha
V8 nonfacevadvgiochecoparendoioetnnomedelasvsetrovarianodeleche
V9 asaidunecatam
V9b perdvhrispet
V10 uprimononsatonedispostoadsimiimilecose | losecodorivpetav
V11 ptrnonaevistarvicaltiinicumiinquestapatriapercagargli
V12 delaborsoquandoioherinegato
V13 deboneparolemarigvdovsvsemaliiati
V15 minminomesenoscevainto
V16 hguidocantodifeche
V16b soninclhcnatialasv | farian
V17 iexetcirianopiuvolanterilneactoutoiostra
V19 labefinto
V20 venirevostroxsignore
V21 sipsanohaverealtraquestinavemiliadica
V22 cicheaspetamohaveredelagabelodelitialdubenedicecheguan
V23 dalasvfosedequasetfvhiondeli | asoi
V24 lascunonaspetasealtroquantitade | vche
V25 facesepioucheevestorestanonpernonvolegemapernonpotereetchequan
V26 dononpotestimenoietotalacopagniamenostiquelapartevhiosepos
V27 hbilepurechenonvenrsticomancochecolacitadelacopagniamucvandoglive
V28 nisticomenosenaunoperdemedefeputationeperhaetperlavostra
V29 livostiimanmamentivuisognivchepiuilantericenefis
V30 titopochi | oconhentechetcasoiperiarecosagratoahamalas
V31 uirestasoloperiapotectia
V32 nonmhmhedespfaciutopiimochepa
V33 rutochesignoreceintesevolunterfirisposemipiuapertamentechenon
V34 hafatolealtevoltedtpaileasoiphopiamelluulnivedelisato
V35 inmonstrafevolantadelaventavostroquantunqueinloefetodelienihene
V36 de | nongliealtrochequemocheintenditi | pvhepercuestavolta
V37 loparrloredehamedeparsasaipiudomestici
V39 saiaredambvchersecosimilimodietfndistriequestainfirmatadesi
V40 ptesemiiamedelchenonhoinagranspeionane
V40b desp
V41 efarpmene
V42 vostiavenoca
V45 igniai
V46 lacosaeprlanuaca
V46b dicati
V47 dememiliadeliquali
V47b nerecesimocileperlegentiderestan
V48 avemilialiqualisperhaverefraoqoodemidiinonprimae
V49 titilinovemilia
V50b maperdhrimeqvel
V51 cheiocredouparemieseredertouoinonhaveritipiucnfirin
V52 opersnogrande | spachiselasvaspetodemoersi
P1 tvandohaveradelialtretdisaqcondosenognfinochevi
P2 volebevariachefacestivlthmvmdepotmentiadevenuhepies
P3 toetdivolesechepotestifarla
Reading

reading.md

# guarna1447 - reading of Nicolò Guarna to Francesco Sforza, Milan, 21 May 1447 (BnF ital. 1584, ff. 153r-154r)

Read in part (5 Nov 2026). Counted by script on the lines below (cipher segments only; the clear frame of the letter is not counted): **852 words: 583 certain, 33 probable, 0 restored, 236 unresolved** (the unresolved count is an estimate, see below), so 616 = **72.3%** certain or probable. Under 95%: read in part. Our working notes gave 862 words and 72.6%; the recount by script on this file, counting each word split at a line end once, gives the figures above.

Conventions (spelling of the cipher kept; 15th-century Lombard Italian):
- a bare word is **certain** (given by key K3, clear sense);
- `{word}` is **probable** (one doubtful sign, or one of the sign's other values);
- `<word>` would be **restored** (none here);
- `[?n]` is a stretch of **about n unresolved words**: n is estimated as the length of the decoded stretch divided by 5, because a stretch that does not read cannot be cut into words. The total of 236 unresolved words is therefore an estimate.

The end of the letter (f. 153v from about V47b, and f. 154r) agrees word for word with the 15th-century clear text on f. 156 of the same day ("le gente de Cremona restano … fra otto o diece di, o no prima … piu uno fiorino per uno gran spacio … ultimum de potentia de venire presto"). That part is therefore **not new**: it was in clear in the volume. The rest (f. 153r and f. 153v to about l. 46) has no known decipherment.

## f. 153r — H (l. 2–19)

    H02   remediare a questi benedetti inconve-
    H03   -nienti de li quali
    H04   mostrando de {parere} [?3] servi{re} [?1]
    H05   [?2] che ne [?2] {vostra}
    H06   [?1] {contento}
    H07   [?2] {come} mi trovo [?1] in questo mondo per respecto del spaccio
    H08   [?2] et {cum} non vedeva [?3] {che} {vostra} sperava da la S.V.
    H09   [?1]
    H10   [?2] senza comparatione [?1] tanto che non era stato
    H11   li di passati et la rasone era questa [?1] li di passati {che} era
    H12   [?2] tanto solo per le rasoni dite ma al presente sentendo li nimici
    H13   [?3] per la campagna [?3]
    H14   dubitare manifestamente che lo stato de [?1] stava {in} grande {pericolo}
    H15   molto {pericoloso}
    H16   [?2] del stato de [?2] era intolerabile
    H17   perche quando venne el facto de la S.V. [?2] lo stato de [?1]
    H18   [?2] sempre [?1] poria remediare a li facti vostri [?2]
    H19   che quando [?2] {servesse} [?1] verso la S.V.

## f. 153r — outside H (l. 21–50)

    L22   [?1]
    L23   stato [?1] non andase bene {serra} [?1] male [?3]
    L26   [?2] non senza grandissime [?1] desiderato che per la via del
    L27   [?1] la S.V. si pò salvare non solamente defenderve ma [?1] laltre gen-
    L28   -ti [?2] haver la piu gloria [?1] victoria che sia stata in {Italia}
    L29   gran tempo [?2] ad chi ha voluto dire male
    L30   [?2] {pace} de metere lo stato suo in [?1] {pericolo} [?1]
    L31   [?2] prova se potese [?1] in questo mondo che io se mai [?2]
    L32   quella che ha in tal [?1] expressa experientia de la fede [?1]
    L33   [?1] inclinatione verso la S.V.
    L34   [?2] volontade quanto [?2]
    L35   [?2] experientia che fa [?2] devocione
    L36   verso la S.V. non si possono defendere da homini [?2]
    L37   licet che faza posto tuta [?1] in gente darme et loro [?2] de la S.
    L38   [?2] de Signore non voglia [?3] {pensare} [?1]
    L39   [?1] lo stato de la S. [?1] {pericolo} [?1] valersi del
    L40   [?1] Papa [?1] che haveriti facti li [?1] vostri tractare [?1] vero
    L41   secondo li meriti suoi [?1] el [?1] stara
    L42   non solo [?2] tanto [?1] ad ogni [?1] piacere [?1] determina
    L46   havemo [?3] che se io se alcuno de [?2]
    L47   resolucione che volese [?2] de la S. in suspecto de la S.
    L48   per tempo per tardo se ne pentiria
    L50   el nostro [?1] dicemo che [?1]
    L51   [?1] cognosce [?1] molto [?1] lo facto nostra stare in gran

## f. 153v (l. 1–46, cipher)

    V1    {pericolo} si per la possanza de li inimici et per la poca provisione che sia
    V2    ad le genti nostre [?1] per respecto che havemo de alcuno de li nostri
    V3    [?1] havemo comandato et comandamo [?1]
    V4    [?4]
    V5    [?2] de la peste [?1] non possiamo [?1] simili [?2]
    V6    la cosa [?1] male
    V7    [?1] el principale che haveressimo ad remediare [?1] trovare spese et che ha
    V8    non faceva [?1] che comparendo io et nome de la S.V. se trovariano de le [?1]
    V9    [?3]
    V10   [?1] primo non sa [?1] disposto ad simile cose [?3]
    V11   [?3] in questa patria per {cavare} [?1]
    V12   de la borsa quando io ho {negato}
    V13   de bone parole [?3]
    V15   [?3]
    V16   [?5]
    V17   [?2] piu {volunteri} [?3]
    V19   [?2]
    V20   venire vostro Signore
    V21   si possono havere altra questi nove milia {ducati}
    V22   [?1] che aspetamo havere de la gabella [?3] che quan-
    V23   -do la S.V. fose de qua [?2] de li spesa soi
    V24   [?1] non aspeta se altro quantita de spese et che
    V25   facese [?1] che [?2] non per non volere ma per non potere et che quan-
    V26   -do non potesti meno [?1] tota la compagnia [?1] la parte [?1] se pos-
    V27   -sibile pure che non venesti come [?1] con la {cita} de la compagnia [?1] {quando} gli ve-
    V28   -nisti [?1] per [?1] reputatione per [?1] et per la vostra
    V29   li vostri {comandamenti} [?1] che piu [?2]
    V30   [?2] poco spes{o} [?2] cosa grato [?1] la S.
    V31   [?1] resta solo per [?1] potentia
    V32   non [?3] che pa-
    V33   -ruto che Signore [?1] volunteri [?1] risposemi piu apertamente che non
    V34   ha fato le altre volte [?4]
    V35   [?1] monstra {fervente} volontade de la {venuta} vostra quantunque in lo efecto [?2]
    V36   de spese non glie altro che [?2] che intenditi [?1] per questa volta
    V37   lo {parlare} de [?2] piu domestici
    V39   [?2] cosi simili modi et [?2] questa infirmita de si
    V40   [?3] che non ho in gran [?2]
    V41   [?2]
    V42   vostri [?1]
    V45   [?1]
    V46   la cosa [?2]
    V47   [?1] de [?1] milia de li quali
    V47b  ne {recevessimo} [?1] per le genti de Cremona restano
    V48   [?1] milia li quali spero havere fra otto o diece di o non prima
    V49   [?1] tutti li [?1] nove milia
    V50   ma per {dirve} quello
    V51   che io credo pareme esser certo voi non haveriti piu uno fiorino
    V52   per uno grande spacio se la S.V. aspecta de moverse

## f. 154r (cipher, l. 1–3)

    P1    quando havera de li altri [?1] sa quando sera [?1] fino che vi [?1]
    P2    vole bene voria che facesti ultimum de potentia de venire pre-
    P3    -sto et Dio volese che potesti farla
Translation

translation.md

# guarna1447 - English translation (working translation of the passages read)

Read in part: 72.3% of the cipher words certain or probable. "…" = a gap (unresolved stretch). S.V. / Your Lordship = Francesco Sforza; "the Lord" / Signore = Duke Filippo Maria Visconti.

[153r, H] … to remedy these cursed troubles, of which … showing that he seemed … to serve … discontented … how I stand in this world on account of the dispatch [of your troops] … and since he did not see … what you hoped from Your Lordship … beyond comparison … so much that it had not been … in past days, and the reason was this: … in past days, that he was … only for the said reasons; but now, hearing that the enemies … through the countryside … to fear plainly that the state of … stood in great danger, very dangerous … of the state of … was intolerable, because when the matter of Your Lordship came … the state of … always … could remedy your affairs … that he should serve … towards Your Lordship.
[153r, ll. 21–50] … the state … was not going well … badly … not without very great … wished that by way of the … Your Lordship can save yourself, not only defend yourself but … the other troops … have the greatest glory … the victory there has been in Italy for a long time … to whoever wished to speak ill … to put his state in danger … in this world that I if ever … she who has in such … express experience of the loyalty … inclination towards Your Lordship … will … devotion towards Your Lordship; they cannot defend themselves from men … although he has put all … into men-at-arms … that the Lord should not wish … think … the state of His Lordship … danger … avail himself of the … Pope … that you would have done … treat … according to his merits … not only … at every pleasure … we have … that if I, if any of … a resolution he might want … of His Lordship in suspicion of His Lordship; in time or too late he would repent of it … our … we say that … knows … our affair in great
[153v] danger, both through the power of the enemies and the small provision made for our troops … on account of some of ours … we have ordered and order … the plague … we cannot … the thing … badly … the main thing we should remedy is to find money, and that … if I appeared in the name of Your Lordship, there would be found … first he is not disposed to such things … in this country to draw money from the purse, when I refused … good words … more willingly … your coming, Lord … one can have, besides these nine thousand ducats, … which we expect from the gabelle … when Your Lordship were here … at his own expense … not for want of will but for want of means, and that if you could not at least … the whole company … the part … if possible, provided that you come … with … of the company … when you come … reputation … and for your … your orders … little money … a pleasing thing … there remains only … power … the Lord … willingly … answered me more openly than he had done the other times … he shows a fervent wish for your coming, although in effect … of money there is nothing else but … that you mean … for this time … speak … more intimate … in similar ways, and … this illness … that I do not have in great … thousand, of which … we received … for the troops of Cremona remain … thousand, which I hope to have within eight or ten days, not before; … all the … nine thousand. But to tell you what I believe, I seem certain you will not have another florin for a long while, if Your Lordship waits to move
[154r] until you have the others … knows when that will be … until … wishes you well would want you to do your utmost to come quickly, and God grant you may do it.

Key: key.tsv

06 Sources

Notes, transcription, decryption, key and tests: targets/guarna1447/.

Cite this page

Brice Dudout and Daniel Bourdeau, “Nicolò Guarna to Francesco Sforza, Milan, 21 May 1447”, Cyphersolver, posted 5 November 2026, https://cyphersolver.com/guarna1447.html.