Viaggio nella storia alla scoperta dei cifrari medioevali

Viaggio nella storia alla scoperta dei cifrari medioevali

07/07/2022 0 Di Giovanni Maria Schettino

Nel corso della storia, assieme all’evoluzione della scienza e della società, anche la crittografia si è evoluta. Con quest’articolo vogliamo rispondere alla domanda che si pone l’uomo comune: come cifravano i messaggi i nostri avi?

Quindi partiamo definendo alcuni termini:
– Per messaggio si intende il messaggio che si vuole inviare….ok questa era ovvia.
– Per crittogramma si intende il messaggio trasformato secondo alcune regole.
– Per cifrario si intende l’algoritmo o il set di regole che trasformano il messaggio in crittogramma. Sperabilmente anche viceversa.

E la crittografia che cos’è? Semplice, è la scienza che studia il set di regole ed insieme alla crittoanalisi (tentativo fraudolento di recuperare il messaggio senza conoscere la chiave, e ora tu che ti senti un piccolo hacker sai come si chiama quello che stai facendo) forma la crittologia (un po’ come quando Goku e Vegeta si sono fusi assieme per formare Gogeta).

Iniziamo con il nostro viaggio alla scoperta dei cifrari che hanno gettato le fondamenta per la moderna crittologia e partiamo dall’antico testamento, per l’esattezza dal libro di Geremia, riporto i versetti di nostro interesse:

Geremia, 25:26

e a tutti i re di Media e a tutti i re del settentrione,

vicini o lontani, agli uni e agli altri, e a tutti i regni

del mondo che sono sulla faccia della terra.

E il re di Sceshac ne berrà dopo di loro

A questo punto, o a Geremia ha preso un ictus mentre riportava le sue vicende, oppure Sceshac è un termine il cui significato è stato volutamente celato. Ebbene siamo di fronte al primo esempio di crittogramma, il cifrario usato in questione è l’Atbash (Aleph taw beth shin) e consiste nel sostituire la prima lettera dell’alfabeto con l’ultima, la seconda con la penultima e così via.

Quindi se sostituiamo
Sh(e) -> shin -> Beth
Sh(a) -> shin -> Beth
ch -> kaph -> lamed
Scechac diventa Babel

Possiamo trovare molti di questi esempi nella bibbia, poiché questa pratica era spesso usata per attaccare le autorità politiche senza che succedessero le brutte cose, e questa pratica ha continuato ad essere utilizzata dai cristiani fino fino all’avvento di Costantino I convertitosi al Cristianesimo.

Il secondo esempio di cifrario che troviamo nel mondo antico è il cifrario di Cesare (ricordate il Giulione alle prese con gli irriducibili Galli? Lui). Questo è un sistema molto semplice che è stato conservato fino al rinascimento, e consiste nel sostituire alla lettera del messaggio la lettera di K posizioni più avanzate, quindi, se il messaggio fosse “Omnia Gallia est divisa”, ponendo K =3 il crittogramma sarebbe “rpqmd kdoomd hxy gmzmxd”.

ABCDEFGHIKLMNOPQRSTVXYZ

DEFGHIKLMNOPQRSTVXYZABC

A causa della sua natura questo cifrario risulta molto debole, se l’alfabeto romano ha 23 caratteri ho 23 permutazioni possibili (e quindi 23 possibili chiavi), quindi bastava intercettare il messaggio e provarle tutte finché qualcosa di sensato non venisse fuori.
E allora tu villico che giustamente mi chiedi: come mai questo tipo di cifrario è stato utilizzato fino al IX secolo? La risposta è molto semplice, spesso chi intercettava il crittogramma non era in grado di leggerlo, nemmeno se fosse stato in chiaro, e prima che venisse trovato qualcuno che fosse stato in grado di effettuare una crittoanalisi passava del tempo.

I cifrari che sono stati elencati sono sistemi di crittografia a sostituzione monoalfabetica (ogni carattere dell’alfabeto veniva sostituito con un carattere differente), grazie a lo buon Plutarco siamo venuti a conoscenza di un sistema di crittografia diverso. Stiamo parlando della Scitala spartana, un sistema di crittografia a trasposizione alfabetica.

Questo cifrario veniva usato dagli Efori per inviare messaggi cifrati ai propri Generali durante le campagne militari. Esso consisteva nell’avvolgere una striscia di cuoio attorno ad un cilindro di diametro D, e scrivere il messaggio seguendo l’altezza, così bastava srotolarlo per avere il crittogramma. In questo caso la chiave per crittare e decrittare il messaggio altro non era che D, il diametro del cilindro.

Visti questi sistemi di crittografia, nel IX secolo dc il matematico filosofo arabo Al-Kindi trovò un metodo per effettuare la crittoanalisi che non si basava su un’approccio brutale (i.e. ci provo con tutte e prima o poi trovo la soluzione), bensì sull’analisi delle ricorrenze dei singoli caratteri, così facendo si riesce ad rompere il cifrario in meno tempo, rendendo i cifrari monoalfabetici obsoleti.

Per far fronte alla necessità di avere un cifrario che fosse resistente al nuovo sistema di crittoanalisi, nel 1467 Leon Battista Alberti scrisse nel suo trattato De Cifris (pubblicato più di un secolo dopo e passato quasi inosservato) un nuovo tipo di crittografia che spiazzava il crittoanalista mettendolo di fronte ad un continuo cambio di chiave. Nasce così la crittografia poli-alfabetica.

Il cifrario descritto nel suo trattato corrisponde in una coppia di dischi, uno tenuto fisso e uno mobile. Il disco fisso viene suddiviso in 24 parti uguali e contengono 20 delle 24 lettere dell’alfabeto (vengono escluse H K Y W e poste U=V e I=J) e i numeri dall’1 al 4, Il disco interno è anch’esso diviso in 24 porzioni uguali, e vi si trovano poste in ordine sparso tutte le lettere dell’alfabeto (sempre ponendo U = V e I = J) con inoltre un carattere speciale et. Concordata una prima chiave crittografica viene scritto il messaggio inserendo i numeri dall’uno al 4 in ordine sparso e togliendo gli spazi, a questo punto si inizia a cifrare il messaggio in chiaro e ogni volta che si incontra un numero, esso viene sostituito dalla lettera corrispondente e si cambia la chiave di cifratura, come? Semplice, alla prima lettera dell’alfabeto (la A) viene associata la lettera corrispondente al numero appena incontrato.

Come detto, il sistema di crittografia di Alberti è passato praticamente inosservata, tuttavia la crittografia a sostituzione poli-alfabetica è stata introdotta da Giovan Battista Bellaso e da Bloise de Vigenère nel 1558 con il cifrario di Vigerère. Questo cifrario può esser visto come un evoluzione del cifrario di Cesare, in cui, prodotti N valori di K essi vanno a sostituire ogni lettera del messaggio. Ovviamente ogni N caratteri del messaggio la chiave si ripete.

E qui si conclude il nostro percorso, possiamo aggiungere che quest’ultimo cifrario venne ritenuto inviolabile, almeno fino all’introduzione dei metodi di crittoanalisi statistica introdotti da Kasinski nel 1863. La contromisura attuata dei crittografi è stata quella di allungare la chiave (N è diventato più grosso) utilizzando delle macchine a rotori, delle quali la più famosa è la macchina Enigma. Nella storia c’è stato un continuo rincorrersi tra crittoanalisi e crittografia, e questa rincorsa ha fatto si che da un codice molto semplice come l’Atbash si sia arrivati ai moderni sistemi di crittografia, che si basano non solo sullo scambio di una chiave privata, ma anche di una chiave pubblica decifrabile unilateralmente, e, cosa molto più importante per il piccolo nerd che risiede in noi, ha portato a dover sviluppare sistemi di calcolo sempre più avanzati e sempre più potenti.