Enigma
1 La macchina Enigma
1.1 Che cos'è Enigma?
Enigma era il nome della macchina utilizzata dall'esercito tedesco, prima e durante il secondo conflitto mondiale, per cifrare-decifrare (come si vedrà la macchina funzionava in entrambi i “versi”) le comunicazioni interne. Questa macchina era per il tempo estremamente avanzata, come dimostrano le innumerevoli fatiche compiute dagli scienziati e dai crittoanalisti Alleati nel cercare un sistema in grado di capirne il segreto.
1.1.1 L'invenzione originaria e la sua adozione da parte della Wehrmacht
Il primo prototipo di Enigma fu brevettato nel 1919 da Arthur Scherbius, ingegnere elettrotecnico di Francoforte; nel 1923 cominciò a vendere la versione commerciale della sua invenzione, dopo aver fondato una società a tale scopo. I nazisti, essendosi resi conto delle enormi potenzialità di Enigma, la acquisirono nel 1929 per la propria milizia (e successivamente per l'esercito), e da quel momento in poi praticamente ogni comunicazione tedesca venne trasmessa solo dopo essere stata cifrata (si pensi che neanche i bollettini meteorologici venivano trasmessi in chiaro). La macchina era perfetta per l'esercito, in quanto relativamente piccola e leggera, e quindi trasportabile direttamente al fronte.
Nel 1939, inoltre, il progetto venne modificato dai tedeschi, poichè la versione “commerciale” era ampiamente diffusa e quindi più facilmente decrittabile, con l'aggiunta di alcuni meccanismi che avrebbero dovuto aumentare la sicurezza del sistema.

1.2 La macchina
Per analizzare il funzionamento di Enigma, bisogna risalire ad alcuni sistemi di crittografia conosciuti da molti secoli; difatti la genialità della macchina stava proprio nella combinazione di diversi sistemi di cifratura.
1.2.1 Nozioni base di crittografia e crittoanalisi
Il primo di questi sistemi risale addirittura ad almeno 2000 anni fa: ne parla Svetonio, ed è comunemente conosciuto come “cifrario di Cesare”. Questo sistema semplicissimo (ma per l'epoca praticamente impossibile da violare) consiste nella sostituzione lineare di un alfabeto ad un altro traslato di n posizioni. Così ad esempio in una traslazione n=2: