Storia della crittografiaIl poema criptato di Pietro GiannoneCifrari poligrafici
Il codice Giannone
Come ho decrittato il poema di Pietro Giannone

Il codice usato da Pietro Giannone per cifrare il suo ultimo poema è un curioso misto i cui ingredienti sono un cifrario monoalfabetico di base molto semplice con qualche omofono; un cifrario digrafico e trigrafico che cifra molti digrammi e trigrammi con simboli geometrici vari; un repertorio di parole intere e alcuni segni polifoni.

Va preliminarmente detto che il poema fu verosimilmente composto in un arco di tempo piuttosto lungo, anni forse, e con interruzioni. Questo anche in base al fatto che Giannone introdusse alcuni cambiamenti in corso d'opera; semplificando ho distinto tre varianti del cifrario in questo modo:

  1. Cifrario A0: usato nella prima parte del canto III;
  2. Cifrario A: usato nella maggior parte del canto III; spariscono molti simboli apicali, modifiche ai simboli digrafici;
  3. Cifrario E: estensione di A introdotta alla fine del canto III e nei canti successivi; aggiunge molti simboli digrafici e trigrafici.

Sostituzione monoalfabetica con omofoni

cifre Il cifrario è molto semplice e facile da ricordare a memoria; le cifre da 1 a 9 servono a cifrare le cinque vocali e quattro consonanti comuni, L M N R, nell'ordine.

consonante Quasi tutte le altre consonanti sorprendentemente sono cifrate da se stesse(*). Eccezioni; la z è cifrata con la a e viceversa; la q non è mai cifrata da sola, ma solo nei trigrammi qua, que, qui, quo (vedi sotto); la h non è quasi mai cifrata da sola, ma con un puntino sotto la vocale successiva; non è chiaro se le rare apparizioni di h in chiaro siano sviste di Giannone.

A se stante la cifra della lettera h: compare in chiaro solo nelle interiezioni "Ah" "Oh" cifrate sempre in $1h$, $4h$; nelle forme del verbo avere invece viene cifrata con un accento sotto la vocale, che per la verità Giannone dimentica di frequente.

Le due vocali A ed E vengono ad avere due omofoni; A → (1, z) B → (2, ~); è inoltre conservata la distinzione tra maiuscole e minuscole, ma solo per le consonanti non cifrate; per L M N R e le vocali non è visibile una distinzione maiuscola/minuscola.


Polifoni

Uno degli aspetti più singolari di questo cifrario è il ricorso sistematico ai polifoni, simboli che possono essere decifrati in differenti caratteri.

  1. Il puntino finale, ispirato chiaramente al simbolo di abbreviazione, sta per una lettera o sequenza di lettere.
  2. Una g come esponente vuol dire gerundio; per esempio $f1c^g = f-a-c-endo$; usata solo nel cifrario A0.
  3. Una p come esponente vuol dire participio; per esempio $v46^p = v-o-l-ato$; usato solo nel cifrario A0.
  4. Una tilde come esponente sta per diminutivo; per esempio $p4v29^{\sim} = p-o-v-e-r-etta$";
  5. Una doppia tilde come esponente sta per superlativo: per esempio $b26,^{\sim\sim} = b-e-ll-issima$;
  6. Un apostrofo isolato sta per uno dei sei articoli determinativi: IL LO LA I GLI LE; dopo la C sta per CHE CHI CHÈ
  7. Un pallino usato come esponente, tipo ordinale, di solito in un monosillabo sta per una vocale; per esempio $6^{o} = {la}$ , ${lo}$ o ${le}$.


Segni digrafici

digrammi

Il cifrario digrafico usato nel poema sembra limitato ad alcuni digrammi non a tutti i 441 (alfabeto italiano senza JKWXY) o 676 (alfabeto internazionale) possibili. I simboli non sono scelti a casaccio ma seguono questa regola di fondo: un digramma <vocale><consonante> parte da una figura geometrica base, che viene poi variata con rotazioni della figura base; per esempio i digrammi RAR ER IR OR UR usano come segno base un'asta sovrastata da un circolo, che genera tutti i digrammi con la stessa consonante ma con vocale variabile con successive rotazioni di 45° in senso orario come in figura qui a lato.

Analogo meccanismo per i digrammi <vocale>L ma con rotazioni di 45° in senso antiorario. Per i digrammi <vocale>T le rotazioni sono di 90°


Simboli trigrafici (doppie)

trigrammi

Le consonanti doppie sono una caratteristica della lingua italiana che viceversa non prevede vocali doppie; molto frequente il raddoppio LL, seguito a distanza da SS e TT; ovviamente questo è un punto debole dal punto di vista della sicurezza; in particolare in un cifrario monoalfabetico sarebbe molto semplice riconoscere il raddoppio più frequente LL.

Giannone ebbe presente questa debolezza e vi rimediò in due modi: a) invece di scrivere due volte di seguito una consonante la scrive una volta seguita da una specie di virgola; questo vale sia per i segni monografici sia per i digrafici; b) nascondendo la doppia in un simbolo trigrafico creato ad hoc.

Nella figura a lato la prima riga mostra i trigrammi con doppia L ottenuti aggiungendo una virgola agli equivalenti bigrammi; le altre tre righe mostrano trigrammi ad hoc per le doppie S, C, Z.


Simboli trigrafici

trigrammi

Un meccanismo simile viene usato per alcuni trigrammi, raggruppati in serie di 4 o 5 secondo i casi; caso più interessante la serie QUA QUE QUI QUO che permette a Giannone di nascondere il digramma QU che scritto in modo monoalfabetico rappresenterebbe una grossa debolezza crittografica. Il simbolo base è un semplice angolo. Analoga la serie GUA GUE GUI GUO.

La serie ANT ENT INT ONT UNT somiglia un po' a quella AN EN IN ON UN, usa rotazioni di 90° e un simbolo speciale per il gruppo che inizia per U.


Ideogrammi

ideogrammi

Il cifrario di Giannone comprende anche un discreto dizionario di parole cifrate con ideogrammi. Uso il termine ideogramma perché mi pare il più appropriato: nella maggior parte si tratta di simboli grafici che richiamano da vicino la parola che rappresentano. Così la parola letto è resa con una linea orizzontale sopra tre o quattro trattini verticali (le gambe del letto).

A fianco una scelta di ideogrammi usati nel poema.

X Qualche mese dopo aver decrittato il codice di Giannone mi capitò per caso di vedere a pag. 770 di Codebreakers di David Kahn un cifrario settecentesco, usato negli atti di battesimo di alcune parrocchie inglesi, basato praticamente sullo stesso alfabeto:
1 = A, 2 = E, 3 = I, 4 = O, 5 = U, 6 = L, 7 = M, 8 = N, 9 = R
e le altre consonanti in chiaro. Una coincidenza? Un caso? O Giannone, che era stato diverse volte a Londra durante il suo esilio, aveva avuto modo di vedere questi cifrari? O c'è a monte un'origine comune? Comunque il cifrare le vocali con i primi cinque numeri, è cosa che si ritrova spesso nella storia della crittografia.