Press "Enter" to skip to content

Dalle tavolette di cera alle curve ellittiche. Breve storia della crittografia (prima parte)

Introduzione

Con questo articolo inizieremo un breve viaggio (certamente non esaustivo) nella storia della crittografia dalle sue origini, così come ci sono giunte mediante scritti di alcuni storici, passando attraverso gli algoritmi e i metodi che ne hanno segnato un punto di svolta, fino ad accennare alla crittografia ellittica, da cui ha attinto il protocollo Bitcoin.

Nello scusarmi con coloro che hanno speso innumerevoli ore nello studio di questi algoritmi crittografici ed ai lettori più skillati, voglio precisare che questo non vuole essere un articolo tecnico ne destinato a cultori della materia. Si tratta piuttosto del primo passo di un cammino che servirà a prendere confidenza con alcuni termini e concetti molto in voga.

Magari ci aiuterà a capire meglio cosa c’è sotto il cofano di alcune procedure che ormai diamo per scontate, che effettuiamo con gesti meccanici, come la firma elettronica.

Il libro “Codici & segreti. La storia affascinante dei messaggi cifrati dall’antico Egitto a Internet di Simon Singh ha rappresentato per me una grande fonte d’ispirazione e di stimolo ad approfondire questi argomenti. Credo sia un appassionante punto di inizio per tutti coloro che si avvicinano a questa materia, fosse anche solo per pura curiosità.

L’uomo ha sempre avuto necessità di poter inviare comunicazioni che fossero comprensibili solo alle persone cui erano destinate. Contemporaneamente altri uomini hanno cercato di capirne il significato, dando così il via alla perenne competizione tra inventori e risolutori di codici.

Questa necessità di riservatezza nelle comunicazioni raggiunse un tale livello di importanza che ben presto si ritenne opportuno creare un’appropriata branca della scienza, la crittografia. Di converso, la crittoanalisi è la disciplina che studia i metodi per riportare il testo in chiaro, partendo dal messaggio cifrato senza che se ne conosca la chiave.

I primi metodi per occultare un messaggio

Nella bibbia possiamo osservare uno dei più antichi metodi crittografici antichi. Nel libro di Geremia, infatti, alcune parole sono state sostituite da altre (Babel è stato trascritto con la parola Sheshakh) mediante un cifrario a sostituzione monoalfabetica denominato Atbash, in cui la prima lettera dell’alfabeto viene sostituita dall’ultima, la seconda dalla penultima e così via,  fino ad ottenere un alfabeto invertito.

Tavoletta Erodoto
Primo esempio di steganografia secondo il racconto di Erodoto, 480 a.c.

Tra i primi autori a narrare esempi di crittografia troviamo lo storico Erodoto il quale, nelle sue Histories dedicate alle guerre tra greci e persiani nel V sec. a.C., afferma che fu la scrittura segreta a salvare la Grecia da Serse, re dei persiani. Egli narra di un episodio in cui, per far arrivare un messaggio a Leonida (re dei Greci) che poi ha decretato la vittoria dei greci sui persiani, fu grattata via la cera da una tavoletta per la scrittura e fu inciso il messaggio sul legno sottostante, ricoprendo nuovamente di cera la tavoletta. Tale stratagemma risulta essere uno dei primi esempi di steganografia ad oggi conosciuti, tecnica considerata antenata della crittografia poiché, come suggerisce l’etimo della parola stessa, serve a coprire e non a codificare un messaggio (dal greco steganós=coperto e gráphein=scrivere).

Anche nel continente asiatico vennero studiati e adottati metodi per nascondere i messaggi. In particolare in Cina il messaggio da trasmettere veniva dipinto su striscioline di seta. Tali strisce, appallottolate, venivano ricoperte di cera ed ingerite dal messaggero. Una volta a destinazione il messaggio veniva recuperato con tecniche che preferisco non immaginare. Probabilmente erano i primi “ovulatori”, oggi famosi per trasportare un altro tipo di merce :-).

Nel corso dei secoli successivi, quasi tutte le civiltà hanno adottato metodi e stratagemmi per occultare e rendere difficilmente decifrabili i messaggi ritenuti importanti. Tale sistema, seppur molto ingegnoso, aveva il grande limite di lasciare il messaggio in chiaro, anche se coperto.

Un passo in avanti importante in tale campo di battaglia virtuale fu lo sviluppo della crittografia (dal greco kryptós=nascosto), passando dal nascondere il messaggio occultandolo nei modi più disparati per non farlo rinvenire a chi non ne fosse destinatario, a nascondere il significato del messaggio, cifrandolo con delle alterazioni concordate con il destinatario, il quale doveva solo invertire il procedimento, ricavandone il testo originale.

La crittografia può essere effettuata in due modi: tramite sostituzione e tramite trasposizione.
Nella crittografia per sostituzione è necessario scambiare ogni lettera dell’alfabeto con un’altra, facendo slittare l’alfabeto di un numero di posizioni sempre costante. Con questo metodo la posizione delle lettere all’interno dell’alfabeto resta sempre quella standard, sia nel messaggio originale che in quello utilizzato per la cifratura.
Uno dei primi e più famosi esempi di tale metodo di crittografia fu la cosiddetta Cifratura di Cesare, il cui utilizzo da parte dello stesso Giulio Cesare è stato narrato nel suo De bello gallico.

La crittografia per trasposizione, invece, fa scambiare di posto tra loro le lettere del messaggio originale, formando in pratica un anagramma. Per aumentare la sicurezza di tale metodo, bisognerebbe utilizzarlo su messaggi abbastanza lunghi.

In definitiva, se nella crittografia per sostituzione ogni carattere del messaggio originale viene semplicemente fatto slittare di un numero prefissato di posizioni, conservando sempre il suo posto originale all’interno dell’alfabeto, nella crittografia per trasposizione ogni lettera rappresenta se stessa, ma viene collocata in una posizione diversa, mischiandone le lettere e formando così un grande anagramma della frase.

Nel corso dei secoli si è visto che tali metodi risultavano piuttosto deboli, anche in virtù della nascita della crittoanalisi, scienza nata dalla civiltà araba nel Medioevo che si poneva l’obiettivo di interpretare i messaggi senza conoscerne le relative chiavi.
Uno dei pionieri di ciò che in seguito diventerà una vera e propria disciplina scientifica fu uno scienziato di origini arabe (non a caso!), tale Abū Yūsuf Yaʿqūb ibn Isḥāq al-Kindī, conosciuto come Al-Kindi. Oltre ad essere un filosofo e ad aver avuto il merito di importare nel mondo arabo i pensieri dei grandi filosofi greci, egli fu il primo ad ideare un metodo che consentiva di decifrare un testo mediante l’analisi delle frequenze delle lettere utilizzate, ponendo le basi per la creazione della crittoanalisi per analisi delle frequenze.
Tutto ciò ha portato, nel tempo, alla ricerca di metodi sempre più complessi al fine di rendere il lavoro di decifrazione dei messaggi più difficile.

La storia della crittografia ha visto al suo servizio personalità artistiche del calibro di Leon Battista Alberti, che utilizzò per la prima volta due alfabeti cifranti, o di Blaise de Vigenère che, con la sua Tavola di Vigenère adottò 26 alfabeti cifranti, gettando le basi per i moderni sistemi di cifratura.

Con l’invenzione della radio, ad opera di Guglielmo Marconi nel 1894, si iniziò a pensare a comunicare a distanza e, naturalmente, ad applicare tecniche di cifratura dei messaggi, soprattutto in ambito militare. Data la semplicità e la velocità di comunicazione dei testi tramite onde radio, aumentarono gli sforzi per creare metodi di cifratura sempre più complessi e parallelamente si intensificarono i tentativi di decifrazione.

Poiché fu soprattutto durante i conflitti mondiali che tali messaggi in codice assunsero un’importanza estrema, si venne a creare una battaglia nella battaglia: se da un lato si usavano armi tradizionali per guadagnare posizioni in campo nemico, sull’altro fronte le armi erano rappresentate da numeri, spazi e lettere. Uno dei primi metodi di cifratura via radio fu inventato dai tedeschi e fu denominato ADFGVX.

Successivamente, nel tentativo di creare un sistema inviolabile, un ingegnere e matematico americano, Claude Shannon, adattò il sistema di Vigenère, introducendo però il concetto di chiave casuale, inserita in un foglio riempito di lettere casuali che, con altre centinaia di fogli simili, andavano a formare un blocco, una copia identica del quale sarebbe stata utilizzata sia dal mittente che dal destinatario: da qui il nome di cifratura a blocco monouso (=one-time pad cipher), considerato il Santo Graal della crittografia poiché è stato ritenuto per molti anni un metodo assolutamente sicuro.

Le macchine cifranti

Macchina cifrante Enigma
Macchina cifrante Enigma

Al termine di questa breve rassegna storica di metodi crittografici, di certo non esauriente, non può mancare un cenno alla macchina cifrante Enigma, concepita dall’inventore tedesco Scherbius e adottata dalle forze militari del Reich. Tale ingegnoso dispositivo, dalla forma di una macchina da scrivere, permetteva di digitare il messaggio (in chiaro) sui tasti e di vederne apparire il testo cifrato su di un visore grazie al quale si illuminavano le lettere corrispondenti al messaggio già cifrato. L’invenzione principale di tale macchina era situata al suo interno, ove erano collocati 2 o 3 scambiatori rotanti i quali, ad ogni pressione dei tasti, ruotavano di una posizione fornendo così una possibilità di combinazioni altissima.
Potremmo immaginare un ipotetico operatore seduto davanti a tale macchina cifrante, premere i tasti sulle lettere della tastiera della macchina Enigma riportando il messaggio da inviare (in chiaro). Dopo aver premuto il tasto, l’impulso elettrico attraversava i rotori seguendo un percorso definito dalla posizione degli stessi e ritornava indietro grazie ad un riflettore, sempre attraversando i rotori. Seguendo tale percorso l’iimpulso illuminava la luce della lettera risultante dalla cifratura su un apposito visore, che poi l’operatore provvedeva a trascrivere. Ad ogni ulteriore pressione dei tasti i rotori ruotavano di una posizione alla volta (ce n’erano 26 per ciascun rotore, al termine del giro del primo rotore, si sarebbe mosso di una posizione il secondo e così via) permettendo all’operatore di utilizzare così un cifrario a sostituzione polialfabetica. Poichè tale sistema poteva essere utilizzato anche per decifrare i messaggi ricevuti con lo stesso sistema, era fondamentale posizionare i rotori della macchina mittente e di quella ricevente nella stessa posizione. Ciò era reso possibile mediante un registro delle posizioni giornaliere dei rotori distribuito a tutte le unità utilizzate, mediante il quale ogni operatore avrebbe potuto regolare i propri rotori in base a quanto riportato nello stesso, era una sorta di calendario giornaliero delle posizioni da applicare.
A questo indirizzo si potrà giocare con una fedele riproduzione (in flash) di tale macchina cifrante.

Fu grazie all’impegno degli analisti polacchi in primis e di una brillante squadra di crittoanalisti inglesi poi, che si riuscì a decifrare i messaggi dei tedeschi.
Nella Scuola governativa di codici e cifre, istituita a Bletchley Park in Inghilterra, furono reclutate le menti più brillanti dell’Inghilterra al fine di risolvere il rompicapo denominato Enigma.

Bomba di Turing
Bomba di Turing

L’intuizione del giovane matematico Alan Turing fu decisiva in tale contesa. Egli, basandosi sui suoi studi riguardanti una macchina logica universale programmabile, detta macchina di Turing, fece costruire un calcolatore, chiamato Bomba, che riuscì a determinare in tempi brevi le posizioni iniziali dei rotori della macchina Enigma, permettendo così la decifrazione dell’intero messaggio. Sull’argomento, oltre a innumerevoli libri, che spaziano tra il resoconto storico e la fantascienza, si segnala il film The Imitation Game. 

 Qualche anno dopo, in Bletchley Park, al fine di decifrare i messaggi del dispositivo tedesco cifrante Lorenz SZ40/42, che rappresentava l’evoluzione della macchina Enigma, il matematico Newman, sempre partendo dagli studi di Turing sulla macchina universale, fece costruire il calcolatore Colossus, il quale non solo fu decisivo nel decrittare migliaia di messaggi considerati all’epoca indecifrabili, ma rappresenta il primo esempio di computer programmabile nella storia dell’informatica, gettando le basi per la realizzazione dei moderni elaboratori elettronici.
Tali eccezionali fatti sono rimasti sconosciuti per moltissimi anni, a causa del segreto imposto dal governo britannico, che costrinse tutti i protagonisti ad un assoluto riserbo e ordinò la distruzione dei calcolatori elettronici costruiti.

(Continua nella parte seconda…)

Print Friendly, PDF & Email