Bozza in revisione: il testo non è ancora stato approvato.
La matematica di Enigma
L’applicazione [della teoria delle permutazioni] da parte dei crittologi polacchi permise, fra il 1932 e il 1933, di rompere la cifra tedesca Enigma.
Ogni componente di Enigma fa la stessa cosa: riceve una lettera e ne restituisce un’altra, senza mai mandare due lettere diverse nella stessa. In matematica una regola di questo tipo si chiama permutazione dell’alfabeto. Con poche idee sulle permutazioni si dimostrano, una volta per tutte, le due proprietà che le lezioni precedenti hanno visto su un modello e su qualche esempio: Enigma è reciproca, e non cifra mai una lettera in sé stessa. Sono le idee con cui Marian Rejewski, matematico del servizio cifra polacco, alla fine del 1932 ricostruì il cablaggio dei rotori militari.
Prerequisiti
- Dalla lezione I rotori: in posizione B la corrente entra nel contatto del cablaggio spostato di un posto, segue il filo ed esce un posto più indietro.
- Dalla lezione Il riflettore: in ogni posizione la macchina scambia le lettere a coppie, ma le coppie non sono quelle del riflettore e cambiano a ogni tasto.
- Dalla lezione L’Uhr: la corrente attraversa il pannello, o l’Uhr, all’andata in un verso e al ritorno nel verso opposto.
Obiettivi
- Scrivere una permutazione come tabella e scomporla in cicli.
- Dire che cosa succede ai cicli di un rotore quando il rotore gira.
- Dimostrare dalla formula della macchina che Enigma è reciproca e non cifra mai una lettera in sé stessa, con qualunque cablaggio.
Le permutazioni
Una permutazione si può scrivere come una tabella a due righe: sopra le lettere che entrano, sotto quelle che escono. Per il rotore I in posizione A:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
EKMFLGDQVZNTOWYHXUSPAIBRCJ
La A va in E, la B in K, la C in M, e così via. Le permutazioni possibili delle 26 lettere sono , circa .
C’è un modo più compatto di scriverle. Si parte da una lettera e la si segue: nel rotore I la A va in E, la E in L, la L in T, e dopo dieci passi si torna alla A. Si ottiene un ciclo, che si scrive fra parentesi. Ogni permutazione si scompone in cicli che non hanno lettere in comune; per il rotore I:
(AELTPHQXRU) (BKNW) (CMOY) (DFG) (IV) (JZ) (S)
La S forma un ciclo da sola: è un punto fisso, una lettera che il rotore lascia com’è. Le lunghezze dei cicli, qui dieci, quattro, quattro, tre, due, due e uno, formano la struttura in cicli della permutazione.
Composizione e inversa
Il segnale attraversa i componenti uno dopo l’altro, quindi la sostituzione complessiva è la composizione delle singole permutazioni. La scriviamo come le funzioni, da destra a sinistra: vuol dire «prima , poi ». L’ordine conta. Se scambia la A con la B e manda la A in B, la B in C e la C in A, allora con la A va in C, mentre con la A torna in A.
L’inversa è la permutazione che annulla : si ottiene leggendo la tabella dal basso verso l’alto, e lascia ogni lettera al suo posto. È l’identità, che indichiamo con . Al ritorno dal riflettore la corrente attraversa i rotori nel verso opposto, quindi subisce le loro inverse.
Il rotore che gira: il coniugio
Quando un rotore avanza, il cablaggio resta lo stesso ma si sposta rispetto alla carcassa, e con lui si spostano i cicli.
(AELTPHQXRU)(BKNW)(CMOY)(DFG)(IV)(JZ)(S)
Rotore I in posizione A: 7 cicli, di lunghezza 10, 4, 4, 3, 2, 2, 1.
Il ciclo (AELTPHQXRU) diventa (DKSOGPWQTZ), cioè (ZDKSOGPWQT) scritto a partire da un’altra lettera: ogni lettera è andata un posto indietro, e la lunghezza è rimasta dieci. Lo stesso vale per tutti i cicli e in tutte le posizioni: le lettere cambiano, le lunghezze restano dieci, quattro, quattro, tre, due, due e uno.
Chiamiamo lo spostamento di un posto, che manda la A in B, la B in C e la Z in A. Un rotore con cablaggio , spostato di posti, opera la permutazione
cioè prima sposta i contatti di posti, poi attraversa il cablaggio, infine torna indietro di . Una permutazione della forma si dice coniugata di , e le coniugate hanno sempre la stessa struttura in cicli: cambia il nome delle lettere, non la lunghezza dei cicli. Nel rotore che gira , e il nuovo nome di ogni lettera è la lettera posti più indietro.
Rejewski si servì di questa proprietà per separare i rotori dal pannello a spine. Dai messaggi di un giorno ricavava permutazioni i cui cicli avevano lunghezze che dipendevano dalla posizione dei rotori e non dai cavi del pannello, che cambiavano solo i nomi delle lettere. Come costruì quelle permutazioni lo racconta la lezione Rejewski e la teoria dei cicli.
Perché la coniugata ha la stessa struttura· approfondimento
Se manda in , allora manda in . Ogni ciclo di diventa il ciclo della coniugata: stesse lunghezze, lettere rinominate. Vale anche il viceversa: due permutazioni con la stessa struttura in cicli sono sempre coniugate.
Involuzioni e reciprocità
Il riflettore scambia le lettere a coppie, quindi applicarlo due volte riporta ogni lettera al suo posto: , cioè . Una permutazione così si chiama involuzione. Il riflettore B è fatto di 13 cicli di lunghezza due, senza punti fissi:
(AY) (BR) (CU) (DH) (EQ) (FS) (GL) (IP) (JX) (KN) (MO) (TZ) (VW)
Anche il pannello a spine con i cavi normali è un’involuzione, ma con punti fissi: le lettere senza cavo.
Chiamiamo il pannello e il tratto che va dalla ruota d’ingresso al riflettore, rotori compresi. Con la macchina ferma in una certa posizione, la lettera accesa è data da
cioè è coniugata di con . Le coppie della macchina, nella lezione sul riflettore, erano le coppie del riflettore viste attraverso i rotori: ora sono le coppie di rinominate da . Ne seguono le due proprietà. La prima è la reciprocità:
La seconda è che nessuna lettera si cifra in sé stessa: ha la stessa struttura in cicli di , quindi 13 scambi e nessun punto fisso. I due ragionamenti non usano il cablaggio dei rotori, e nemmeno il fatto che sia un’involuzione: valgono anche con l’Uhr, che all’andata opera una permutazione e al ritorno la sua inversa.
Riepilogo
- Ogni componente di Enigma è una permutazione delle 26 lettere, che si scrive come tabella o come prodotto di cicli; il rotore I in posizione A ha cicli lunghi dieci, quattro, quattro, tre, due, due e uno.
- Un rotore spostato di posti opera la coniugata : ogni lettera dei cicli va posti indietro, e le lunghezze dei cicli restano le stesse. In posizione B il ciclo (AELTPHQXRU) diventa (DKSOGPWQTZ).
- La macchina è , coniugata del riflettore: per questo e non ha punti fissi, con qualunque cablaggio e anche con l’Uhr al posto del pannello.
Fonti
- Marian Rejewski, An Application of the Theory of Permutations in Breaking the Enigma Cipher, Applicationes Mathematicae 16 (4), 1980.
- Simon Singh, The Code Book: How to Make It, Break It, Hack It, Crack It, Delacorte Press, 2003.
- Władysław Kozaczuk, Enigma. How the German Machine Cipher Was Broken, and How It Was Read by the Allies in World War Two, University Publications of America, 1984.