L’ENIGMA di Turing

di Marco Reho

La crittologia è quel ramo della matematica che si inserisce nel contesto della trasmissione delle informazioni con l’obiettivo di creare nuovi sistemi di protezione (crittografia) e di forzare quelli esistenti (crittanalisi).

Oggi tutta la protezione delle informazioni passa attraverso il pc e la rete internet ed è proprio grazie alla crittografia che le nostre transazioni bancarie o i nostri acquisti online risultano sicuri.

Durante la Seconda guerra mondiale, invece, la segretezza delle comunicazioni belliche era affidata a degli apparecchi dal funzionamento meccanico. Queste macchine venivano chiamate cifrari a rotore per la presenza di cilindri rotanti al loro interno e venivano utilizzate sia per cifrare il messaggio che per decifrarlo. Ovviamente la presenza fisica della macchina era, come direbbero i matematici, “condizione necessaria ma non sufficiente“ per poter decifrare il messaggio: senza conoscere il corretto settaggio della macchina, infatti, era praticamente impossibile decifrare un messaggio intercettato.

La macchina a rotori più famosa è stata sicuramente la tedesca ENIGMA, che fu ideata nella sua prima versione agli inizi degli anni ‘20 e la cui popolarità è dovuta al fatto che la sua forzatura da parte degli Alleati pare abbia influito notevolmente sull’esito della guerra stessa.

A decifrare ENIGMA fu Alan Turing, un matematico britannico che ha anche permesso a me di scrivere questo articolo e a Semi di Scienza di pubblicarlo, essendo l’inventore della prima forma di intelligenza artificiale che ha poi portato alla scoperta del computer: la macchina di Turing.

La macchina ENIGMA

Ma non è di intelligenza artificiale che voglio parlare in questo articolo. Torniamo quindi a ENIGMA.

A guardarla bene somiglia molto a una vecchia macchina da scrivere. Il nucleo fondamentale è composto da 3 rotori che venivano scelti tra 5 disponibili e andavano inseriti con una sequenza precisa all’interno della macchina. Ogni rotore poteva ruotare su se stesso 26 volte e la posizione di partenza era prefissata.

Un’altra semplice (paradossalmente!), ma infinitamente importante, complicazione della macchina ENIGMA era costituita dai collegamenti: 20 delle 26 lettere dell’alfabeto inglese erano infatti collegate a coppie e, manco a dirlo, tutti i collegamenti venivano sistematicamente cambiati a ogni settaggio.

Ogni volta che una lettera veniva digitata sulla tastiera iniziava il suo percorso all’interno della macchina: in particolare veniva cambiata dai collegamenti, da ogni rotore, e poi ancora una volta dai collegamenti, dopodiché i rotori compivano una rotazione in modo alternato e non tutti contemporaneamente per modificare la lettera successiva in modo diverso. Con questo meccanismo lettere uguali potevano venire cifrate in lettere diverse e questo complicava decisamente il lavoro di un crittanalista.

I collegamenti tra le lettere
Il percorso di ogni lettera

Facciamo ora due conti. Quante sono le combinazioni totali della macchina ENIGMA?

· Iniziamo dai rotori: ne dobbiamo inserire 3 tra i 5 in dotazione. Per la prima posizione abbiamo quindi 5 possibili scelte, per la seconda 4 e per la terza 3: in totale 5x4x3=60 possibilità;

· Ciascun rotore inserito doveva essere fatto ruotare fino a raggiungere la posizione desiderata. Le possibili rotazioni erano quante le lettere dell’alfabeto inglese, quindi 26 per ogni rotore: in totale 26x26x26=17.576 possibilità;

· Ora veniamo ai collegamenti – che coinvolgevano solo 20 delle 26 lettere totali, collegate in 10 coppie. Non contava l’ordine delle connessioni (cioè A->F era la stessa cosa di F->A) e non importava nemmeno l’ordine con cui le coppie erano inserite nella macchina: in totale 150.738.274.937.250 combinazioni (vi risparmio la formula…).

Il numero totale delle combinazioni di ENIGMA? Basta moltiplicare i numeri ottenuti precedentemente:

60 x 17.576 x 150.738.274.937.250 =

158.962.555.217.826.360.000

Dimenticavo: il settaggio di ENIGMA veniva modificato ogni giorno secondo un preciso schema e ciò rendeva impossibile decifrare in tempi utili un messaggio intercettato.

Alan Turing riuscì a decifrare ENIGMA grazie all’utilizzo di una macchina enorme e molto rumorosa chiamata per l’appunto bomb machine che aveva il compito di provare più combinazioni contemporaneamente. Il matematico britannico, oltre a progettare la bomb machine la velocizzò inserendo dei collegamenti elettrici e sfruttò il punto debole di ENIGMA: ogni lettera non veniva mai cifrata in se stessa.

Questo permise alla bomb machine di scartare moltissime combinazioni, a Turing di decifrare il codice sovietico e agli Alleati di avere un notevole vantaggio nel corso della Seconda guerra mondiale. Di questo, però, nei libri di storia non c’è quasi mai traccia… purtroppo.

Alan Turing è stato un grande matematico che nella sua breve e travagliata vita ha dato all’umanità dei contributi importantissimi di cui noi tutti oggi beneficiamo ma che solo pochi saprebbero attribuire a lui.

Alan Turing (1912-1954)

“Il ragionamento matematico può essere considerato piuttosto schematicamente come l’esercizio di una combinazione di due capacità, che possiamo chiamare intuizione e ingegnosità.“

—  Alan Turing

Gennaio 11, 2021

Tag:,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *