Tempo stimato di lettura: 4 minuti

Come vedete dal titolo, oggi vorrei parlarvi di un risvolto applicativo della matematica che ha veramente cambiato le sorti del mondo e senza cui la società moderna non sarebbe come la conosciamo oggi (nel bene o nel male):

La crittografia.

Ok, non intendo affrontare un discorso tanto ampio e difficile in un post, ma vorrei concentrarmi su un suo piccolo ma favoloso esempio rappresentato dalla macchina “ENIGMA”.

Cos’è la macchina Enigma? Perché si chiama così? Di cosa stiamo parlando? Perché così tante domande?

Per riuscire a capire meglio l’argomento ci va una piccola nota storica (molto piccola):

siamo durante la seconda guerra mondiale e i tedeschi stanno vincendo la guerra. C’è bisogno di un contrattacco da parte degli Alleati. Questi riescono ad intercettare i messaggi che la flotta navale nazista si invia per decidere le loro prossime mosse.

Sarebbe tutto bello se non fosse che questi messaggi sono crittografati, ovvero modificati in modo che anche se il messaggio venga intercettato, chi lo legge non possa capirlo a meno che non sia a conoscenza dell’algoritmo e della chiave di criptazione.

Ok iniziamo a vedere fin troppi nomi difficili: spieghiamo cosa significano, così possiamo proseguire nella nostra bellissima storiella. Vi giuro che non è assolutamente difficile, e lo capiremo con un esempio moooolto facile

(simile a quello utilizzato addirittura da Cesare per inviare i suoi messaggi):

il messaggio che voglio spedire ad un mio compagno è: Noncosidifficile è un bel sito. (pubblicità poco occulta)

Il messaggio che spedisco, dopo averlo “modificato” è: Opodptjejggjdjmf f’ vo cfm tjup.

A vederla così, se voi intercettaste un messaggio del genere, potreste pensare che sono totalmente impazzito, ma il mio compagno sarebbe in grado di leggerlo senza alcun problema, poiché è a conoscenza dell’algoritmo e della chiave di criptazione.

Ora, prima di proseguire, provate voi a capire come ho criptato il messaggio... Mettetevi lì a tavolino e pensateci un secondo: è molto più semplice di quanto possiate immaginare.

Ci siete arrivati? Visto che era facile? No? Beh, ve lo spiego subito:

Ogni lettera è stata “spostata” in avanti di uno rispetto all’alfabeto inglese: la N è diventata O (nell’alfabeto dopo la N viene subito la O), la E è diventata F, e così via...

Bene allora: l’algoritmo è il procedimento, nel nostro caso lo “spostarsi” avanti di un certo numero di lettere, la chiave invece indica il particolare modo di cifrare il messaggio, nel nostro caso il numero di lettere di cui ci si sposta.

Visto che non era così difficile?

Ritorniamo quindi alla nostra storia: gli Alleati intercettano i messaggi, che sanno essere cifrati e sono in possesso della macchina con cui li modificano (la sopra citata macchina Enigma), quindi dell’algoritmo, ma non della chiave, che viene modificata ogni giorno secondo degli schemi che gli ufficiali tedeschi hanno segnati su dei fogli tenuti sotto massima sicurezza, scritti tra l’altro con inchiostro solubile, che quindi si cancella versandoci sopra semplicemente dell’acqua (mica scemi questi tedeschi).

La decodifica di questi messaggi è una cosa veramente impossibile, in quanto i modi possibili (che tra poco andremo a vedere) per impostare Enigma sono circa 158 milioni di milioni di milioni (158 seguiti da 18 zeri....). Provateci voi senza sapere la chiave (risolvere questo problema è un vero.. enigma, eh?)!

Gli Alleati si avvalgono quindi delle migliori menti matematiche del tempo, e di tutti i mezzi possibili, ma la soluzione è lontana dall’essere trovata, finchè un certo Alan Turing (l’avete sentito nominare per via del film “The Imitation Game” forse? Ve lo consiglio vivamente!), insieme agli altri matematici che lavorano con lui, costruisce il primo computer della storia.

Non immaginatevi quelli dei giorni d’oggi! Si parla di un insieme di meccanismi che tutti insieme erano grandi come tre armadi (guardate in figura se non ci credete!).

Ma ciò non basta ancora, servono dei dati!

Fortunatamente, senza saperlo, i tedeschi stessi glieli forniscono: i messaggi spesso iniziano con lo stesso testo di apertura, finiscono con la scritta “Heil Hitler”, e capita che inviino più volte gli stessi messaggi, con versioni diverse di cifratura.

Questi pochi dati, inseriti all’interno del primo computer della storia, hanno aiutato quindi a trovare le chiavi di cifratura della macchina, giorno dopo giorno, permettendo agli Alleati di vincere la guerra, e secondo alcuni studi, di accorciarla di almeno 2 anni.

Insomma, la matematica ha veramente aiutato a vincere la guerra!

Purtroppo la vita di Turing non è proseguita molto bene... Di questa storia non si seppe nulla per anni, in quanto fu tenuta segreta e “tornato” dalla guerra si scoprì che era omosessuale, cosa che al tempo era illegale. Piuttosto che la prigione preferì la castrazione chimica, ma dopo 2 anni dalla condanna decise di suicidarsi dando un morso ad una mela che aveva avvelenato con del cianuro, da bravo ammiratore della storia di Biancaneve.

Veramente, veramente un peccato. Chissà quante altre cose avrebbe potuto scoprire...

Ritornando ora alla macchina Enigma, perché era così difficile decodificarla?

Essa era composta da una tastiera, un pannello luminoso, 3 rotori e un pannello dei collegamenti.

In breve, pigiando un tasto sulla tastiera, il segnale passa attraverso il pannello dei collegamenti che ne modifica il segnale di partenza (come se al posto della A partisse una B), attraversa i rotori che restituiscono un’altra lettera secondo l’esempio fatto prima, ma inoltre ruotano ad ogni segnale ricevuto (quindi ad ogni lettera pigiata) cambiando sempre la “regola”. Il risultato è un messaggio che sembra fatto totalmente a caso.

Una cosa assolutamente fuori di testa.

Cerchiamo ora di vedere meglio cosa succede:

rotori: sono semplicemente dei dischi rotanti. Una macchina enigma ha l’alloggiamento per 3 rotori, scelti tra 5 possibili, ognuno dei quali ha su di sé tutte le lettere dell’alfabeto inglese.

Le possibilità di posizionamento dei rotori sono

5 per il primo alloggiamento

4 per il secondo

3 per il terzo,

per un totale di 5 x 4 x 3 = 60 possibilità.

Ogni rotore ha 26 lettere, ed ognuno può essere inizializzato, cioè posizionato, in 26 modi diversi, per cui abbiamo

26 x 26 x 26 = 17576 possibilità.

Come funziona la macchina?

Il soldato tedesco pigiava una lettera. Il segnale della lettera passava attraverso il primo rotore, che ruotava di una posizione, poi nel secondo e nel terzo (che rimanevano invece fissi). Una volta che il primo completava un giro, scattava il secondo, e così via. Ma questo momento in cui il secondo (e il terzo) rotore scattava, poteva essere modificato, per cui magari al posto di aspettare un giro completo, scattava dopo sole 5 battiture! Le possibilità, fissato il primo rotore, sono dunque

26x26 = 676.

Ora passiamo al pannello dei collegamenti: come detto prima si può scambiare una lettera con un’altra, per cui il segnale mandato non è riferito a quella che si preme ma ad un’altra. La macchina enigma ha 10 cavi con cui poter collegare le coppie di lettere (sempre 26) e le possibilità, in totale, sono di 150 milioni di milioni.

Ora, unendo tutti questi risultati, le possibilità totali di impostazione della macchina Enigma sono circa (moltiplico tutti i risultati)

158 milioni di milioni di milioni.

Troppe per essere provate una ad una!

Lode a Turing che è riuscito a risolvere questo... enigma, ma anche grande ammirazione per la mente ingegnosa e matematica di chi ha inventato un meccanismo così tanto complicato e “perfetto”, che avrebbe potuto veramente far vincere la guerra ai nazisti.

Per approfondimenti (in parte anche fonti):

https://areeweb.polito.it/didattica/polymath/htmlS/Interventi/Articoli/Enigma/Enigma.htm

Tutti i diritti delle immagini appartengono ai loro proprietari.