Bozza in revisione: il testo non è ancora stato approvato.
Quante chiavi
La robustezza di una cifra non coincide con lo spazio delle chiavi.
Le lezioni precedenti hanno contato le posizioni dei rotori e i collegamenti del pannello a spine, ciascuno per conto suo. Il numero di tutte le chiavi possibili di una cifra si chiama spazio delle chiavi, e per Enigma si trova citato con valori molto diversi: un libro divulgativo dà circa , un sito specialistico circa . Prima di contare bisogna decidere che cosa sa chi attacca la cifra.
Prerequisiti
- Dalla lezione I rotori: l’anello sposta le lettere visibili rispetto al cablaggio, e sull’anello c’è la tacca che fa avanzare il rotore vicino.
- Dalla lezione Il passo e il doppio passo: i tre rotori hanno 17 576 posizioni, e il doppio passo fa saltare alcune combinazioni.
- Dalla lezione Il pannello a spine: con dieci cavi il pannello ammette circa 150 000 miliardi di configurazioni.
Obiettivi
- Contare le impostazioni dell’Enigma I fattore per fattore, supponendo noti i cablaggi.
- Spiegare perché libri e siti danno cifre diverse per lo spazio delle chiavi di Enigma.
- Dire perché uno spazio delle chiavi enorme non basta a rendere sicura una cifra.
Che cosa sa chi attacca
Nel 1883 Auguste Kerckhoffs elencò i requisiti di una cifra militare. Il secondo diceva:
Bisogna che [il sistema] non richieda il segreto, e che possa cadere senza inconvenienti nelle mani del nemico.
È il principio di Kerckhoffs: una cifra deve restare sicura anche quando il nemico conosce la macchina, e il segreto deve stare tutto nella chiave. Per Enigma vuol dire supporre che chi attacca conosca i cablaggi dei rotori, del riflettore e della ruota d’ingresso. Per Enigma l’ipotesi era vera: alla fine del 1932 Rejewski aveva ricostruito i cablaggi dei rotori militari. Restano da indovinare le scelte del giorno.
I fattori
Per l’Enigma I con cinque rotori a disposizione e dieci cavi, le scelte del giorno sono quattro:
- l’ordine dei rotori: tre su cinque, cioè possibilità;
- gli anelli: contano solo quelli del rotore destro e del centrale, perché la tacca dell’anello di sinistra non ha un rotore da spingere, quindi ;
- le posizioni iniziali dei tre rotori: ;
- il pannello a spine con dieci cavi: 150 738 274 937 250.
Il prodotto è circa , più o meno : una chiave di 76 bit. La M4 della marina sceglie tre rotori su otto, ha un rotore sottile fisso da scegliere fra due, un riflettore sottile da scegliere fra due e una posizione iniziale in più, e arriva a circa . Il pannello, da solo, vale più di tutti gli altri fattori messi insieme.
Perché le cifre non coincidono
Simon Singh, in The Code Book, fa lo stesso conto e arriva a circa 10 000 000 000 000 000 chiavi, cioè . Crypto Museum, il sito di Paul Reuvers e Marc Simons dedicato alle macchine cifranti, arriva a circa , dieci milioni di volte di più.
| Fattore | Valore |
|---|---|
| Ordine dei rotori (Walzenlage)5 × 4 × 3 | 60 |
| Riflettore1 | 1 |
| Rotore sottile1 | 1 |
| Anelli (Ringstellung)26 × 26 | 676 |
| Posizioni iniziali (Grundstellung)26³ | 17 576 |
| Pannello a spine10 cavi | 150 738 274 937 250 |
| Totale | 107 458 687 327 250 619 360 000 |
Circa 1,07 × 10²³ impostazioni, cioè una chiave di circa 76,5 bit.
Con tre rotori, nessun anello e sei cavi il calcolatore dà circa , il numero di Singh. Singh conta la macchina di Scherbius come la descrive nel capitolo sulla sua invenzione: tre soli rotori, che si potevano disporre in sei ordini, e sei cavi sul pannello. Moltiplica e avverte che, lasciando fuori gli anelli, il numero vero è ancora più grande. Crypto Museum conta l’Enigma I come fu dal dicembre 1938, con cinque rotori fra cui scegliere e dieci cavi, e include gli anelli. Con cinque rotori e dieci cavi ma senza anelli il calcolatore dà circa : la cifra cambia ancora, con la stessa macchina. È la cifra che Singh stesso dà più avanti nel libro, quando racconta i rotori e i cavi aggiunti fra il dicembre 1938 e il gennaio 1939: 159 miliardi di miliardi.
Le ipotesi possono cambiare anche in un altro modo. Crypto Museum segnala uno studio della NSA, The Cryptographic Mathematics of Enigma di A. Ray Miller, che suppone ignoti anche i cablaggi dei rotori e del riflettore, e arriva a cifre che il sito chiama «astronomiche». Tutti questi numeri sono corretti per la macchina e le ipotesi da cui partono: quando un testo dà lo spazio delle chiavi di Enigma, va letto insieme al modello, al numero di cavi e a che cosa considera noto.
Le posizioni che il doppio passo rende equivalenti· approfondimento
Per via del doppio passo, due posizioni iniziali diverse possono dare la stessa cifratura. Se il rotore centrale è sulla sua tacca, al primo tasto avanzano tutti e tre i rotori; la stessa posizione d’arrivo si raggiunge partendo con il rotore sinistro e il centrale già un passo avanti, quando il rotore destro non è sulla sua tacca. Con rotori a una tacca le coppie equivalenti sono , e le posizioni iniziali distinte scendono a ; il simulatore lo conferma contando le posizioni raggiunte dopo il primo tasto. Non è il periodo del movimento, che resta 16 900 (come si vede nella lezione sul doppio passo): le 26 posizioni in più sono quelle da cui si può partire una volta sola. Nel calcolatore la casella sul doppio passo toglie queste 650 posizioni. Sulla M4 la riduzione si ripete per ciascuna delle 26 posizioni del rotore sottile; con i rotori navali a due tacche il conto cambia ancora.
Tante chiavi non bastano
Lo spazio delle chiavi dice quanto costerebbe provarle tutte, una per una. Chi attacca una cifra però non procede così: cerca le regolarità che permettono di scartare intere famiglie di chiavi in un colpo solo, e in Enigma il fattore più grande era anche il più debole. Il pannello a spine resta uguale per tutto il messaggio: preso da solo è una sostituzione monoalfabetica, che l’analisi delle frequenze rompe, come mostrava la lezione Dalla sostituzione al rotore. Le lunghezze dei cicli che Rejewski ricavava dai messaggi non dipendevano dai cavi del pannello, come si è visto nella lezione La matematica di Enigma, e gli permisero di cercare la posizione dei rotori fra 105 456 possibilità invece che fra .
Anche gli altri fattori pesano meno di quanto dicono. Gli anelli spostano soltanto il momento in cui un rotore trascina quello vicino, e cambiano poco la cifratura. Alcune regole delle procedure tedesche, pensate per rendere le chiavi più varie, finivano per escluderne molte: lo stesso rotore non poteva occupare la stessa posizione due giorni di seguito, e lo stesso ordine dei rotori non poteva tornare nello stesso mese. Ogni regola di questo tipo riduceva le possibilità che i crittoanalisti dovevano provare.
Riepilogo
- Con i cablaggi noti, come vuole il principio di Kerckhoffs, l’Enigma I con cinque rotori e dieci cavi ha impostazioni dei rotori per 150 738 274 937 250 configurazioni del pannello: circa , una chiave di 76 bit.
- Le cifre citate per Enigma cambiano con la macchina e le ipotesi: con tre rotori, sei cavi e senza anelli il conto di Singh dà circa ; con cinque rotori, dieci cavi e due anelli quello di Crypto Museum dà circa .
- Lo spazio delle chiavi misura il costo di provarle tutte, non la sicurezza: il pannello, il fattore più grande, è una sostituzione fissa, e le lunghezze dei cicli permisero a Rejewski di cercare i rotori fra 105 456 posizioni lasciando da parte il pannello.
Fonti
- Paul Reuvers, Marc Simons, Crypto Museum — How does an Enigma machine work?.
- Auguste Kerckhoffs, La cryptographie militaire, Journal des sciences militaires, vol. IX, 1883.
- Simon Singh, The Code Book: How to Make It, Break It, Hack It, Crack It, Delacorte Press, 2003.
- Simon Singh, Codici & segreti. La storia affascinante dei messaggi cifrati dall’antico Egitto a Internet, BUR Rizzoli, 2001.
- Friedrich L. Bauer, Decrypted Secrets. Methods and Maxims of Cryptology, Springer, Berlin Heidelberg, 2007.
- Marian Rejewski, An Application of the Theory of Permutations in Breaking the Enigma Cipher, Applicationes Mathematicae 16 (4), 1980.