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.
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.
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.
“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
Lascia un commento