Enigma: introduzione generale del sistema | EP.1

Nella storia delle macchine cifranti la più nota è senza dubbio Enigma, utilizzata dall’esercito tedesco prima e durante la Seconda guerra mondiale. Era essenziale per spedire messaggi criptati di vitale importanza, senza che essi potessero essere compresi dal nemico, ed era ritenuta dagli stessi tedeschi imbattibile. Il sistema cambiò durante la guerra con, per esempio, l’aggiunta di altri rotori, però mi soffermerò sul modello qui descritto con 3 rotori e 10 cavi per la plugboard.

Il Sistema

Il sistema enigma era costituito da un insieme di tre rotori, un permutatore (nella versione militare, non presente in quella disponibile in commercio; anche detto plugboard) e un riflessore. L’input viene dato attraverso una tastiera, poi passa attraverso un permutatore che opera un semplice scambio (come nei cifrari monoalfabetici). Poi passa all’interno dei rotori (3°rotore-2°rotore-1°rotore-riflessore-1°rotore-2°rotore-3°rotore). Infine passa nuovamente nel permutatore e l’output viene visualizzato con una lampadina che si accende sulla lettera corrispondente. Nell’immagine seguente è schematizzato il passaggio del segnale (P= permutatore, R=  rotori).

Spinotti del permutatore

Rotori della macchina

Ciò che rendeva enigma “speciale” era la rotazione dei rotori, infatti ogni volta che si premeva una lettera il terzo scattava di una posizione, quando compiva un giro completo il secondo scattava di una posizione e quando il secondo compiva un giro completo il primo scattava. In questo modo ogni volta che una lettere veniva digitata cambiavano completamente le associazioni fra le lettere in chiaro e quelle criptate.

Per esempio, assumendo E come output di enigma:

Alla prima pressione E(d) = p

Alla seconda pressione della stessa lettera E(d)= v

Ovviamente questo è solo un esempio e le lettere scelte sono casuali.

Come venivano trasmessi e ricevuti i messaggi

Il sistema enigma era simmetrico (grazie al riflessore, che creava 13 coppie di lettere all’interno dei rotori), per cui sia ricevente che destinatario dovevano avere le stesse impostazioni. Queste naturalmente non potevano essere trasmesse in chiaro e quindi si utilizzavano dei libretti dove erano segnate le impostazioni giorno per giorno per il dato mese. Ovviamente questi erano custoditi segretamente e in oltre erano dotati di inchiostro solubile, in modo che fosse stato facile eliminarli in caso di affondamento, senza lasciare tracce.

Prima dell’utilizzo l’operatore doveva settare la macchina secondo i codici del giorno, trasmettere 3 lettere casuali e poi ripetere questa sequenza di 3 lettere, per un totale di 6 lettere. Ora queste 3 lettere rappresentavano un nuovo e casuale assetto dei rotori, che cambiava da messaggio a messaggio. La sequenza veniva ripetuta 2 volte per ridondanza, anche se poi questo si rivelò uno degli sbagli che portò alla possibilità di craccare il sistema da parte degli alleati. Dopo iniziava la battitura del messaggio.

Il ricevente settava nuovamente la macchina secondo le impostazioni del giorno e quindi era in grado di decodificare le prime 6 lettere che rappresentavano le nuove impostazioni da usare solo per quel messaggio. Aggiornate le posizioni dei rotori, l’operatore finiva di decodificare il resto del messaggio.

 Calcolo delle possibili impostazioni di enigma

I) Disposizioni dei rotori: 5*4*3 = 60

II) Disposizione con ripetizione delle posizioni dei rotori: 26= 17576

III) Combinazioni degli spinotti del permutatore 26!/(6!*10!*2) = 150 738 274 937 250

 

I) Questa è una semplice disposizione dei rotori, normalmente 5 in dotazione e solo 3 inseribili nella macchina

II) Questa è la posizione di “partenza” dei rotori, che avendo ognuno 26 lettere, corrisponde a 26 posizioni differenti ciascuno.

III) Questo terzo punto può essere il più difficile da capire, ma cercherò di semplificare il discorso con uno schema (in modo discorsivo, pensato da me, non in linguaggio formale):

Immaginiamo di scrivere le lettere dell’alfabeto(26 in tutto) in riga in ogni modo possibile: scelgo una lettera su ventisei, a questa ne posso affiancare venticinque differenti e a quest’ultima ventiquattro differenti e così via…

26*25*24*23*22 … = 26!

Ora siccome i cavi che permettono gli accoppiamenti delle lettere sono dieci vuol dire che venti lettere sono accoppiate e sei sono libere. Quindi a noi non interessa come disporre le ultime sei lettere, infatti dopo aver fissato tutte le altre le ultime sei posizioni sarebbero:

6*5*4*3*2*1 = 6!

Ora iniziamo ad accoppiare le lettere, questi possono essere esempi delle righe ottenute dalla stesura dell’alfabeto:

ABDSHJLYU… –> (A,B)(D,S)(H,J)(L,Y)…

DTOPLHASQ… –> (D,T)(O,P)(L,H)(A,S)…

Siccome a noi interessa la natura delle coppie e non l’ordine con cui le otteniamo, non importa con che cavo inseriamo per primo, ciò che importa è il risultato finale.

(A,B)(D,S)(H,J)(L,Y)… —> (A,B) 1°cavo ; (D,S) 2° cavo; …

(D,S)(A,B)(H,J)(L,Y)… –>  (D,S) 1°cavo ; (A,B) 2° cavo; …

Ogni serie di coppie uguale per natura ne ha 10! diverse per ordine.

Infine siccome si tratta di collegamenti elettrici non importa che sia la coppia(A,B) o (B,A), esse producono infatti il medesimo risultato (ovvero che le lettere A e B sono scambiate), per cui basta dividere per 2! = 2
Quindi in risultato finale del punto III è 26!/(6!*10!*2)

In tutto le possibili impostazioni di enigma sono date dalla moltiplicazione di questi tre fattori ovvero: 60*17576*150 738 274 937 250 = 158 962 555 217 826 360 000 possibili impostazioni.


Fonti:

www.singingbanana.com

Youtube: Link 1Link 2Link 3Link 4Link 5

wikipedia.org/Enigma


Gabriele Fiumicelli



Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: