Vai al contenuto

Bozza in revisione: il testo non è ancora stato approvato.

Quante chiavi

La robustezza di una cifra non coincide con lo spazio delle chiavi.

Paul Reuvers, Marc Simons, Crypto Museum — How does an Enigma machine work? (traduzione nostra)

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 101610^{16}, un sito specialistico circa 102310^{23}. 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.

Auguste Kerckhoffs, La cryptographie militaire (1883), p. 12 (traduzione nostra)

È 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:

Il prodotto è circa 1,07×10231{,}07 \times 10^{23}, più o meno 2762^{76}: 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 6,26×10256{,}26 \times 10^{25}. 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è 101610^{16}. Crypto Museum, il sito di Paul Reuvers e Marc Simons dedicato alle macchine cifranti, arriva a circa 1,07×10231{,}07 \times 10^{23}, dieci milioni di volte di più.

Previsione

Da che cosa viene la differenza fra i 101610^{16} di Singh e i 1,07×10231{,}07 \times 10^{23} di Crypto Museum?

Parti da:
Fattori dello spazio delle chiavi e loro prodotto
FattoreValore
Ordine dei rotori (Walzenlage)5 × 4 × 360
Riflettore11
Rotore sottile11
Anelli (Ringstellung)26 × 26676
Posizioni iniziali (Grundstellung)26³17 576
Pannello a spine10 cavi150 738 274 937 250
Totale107 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 1,06×10161{,}06 \times 10^{16}, 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 17 576×6×100 391 791 50017\,576 \times 6 \times 100\,391\,791\,500 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 1,59×10201{,}59 \times 10^{20}: 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 26×25=65026 \times 25 = 650, e le posizioni iniziali distinte scendono a 17 576−650=16 92617\,576 - 650 = 16\,926; 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 101610^{16}.

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.

  • Con i cablaggi noti, come vuole il principio di Kerckhoffs, l’Enigma I con cinque rotori e dieci cavi ha 60×676×17 57660 \times 676 \times 17\,576 impostazioni dei rotori per 150 738 274 937 250 configurazioni del pannello: circa 1,07×10231{,}07 \times 10^{23}, 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 101610^{16}; con cinque rotori, dieci cavi e due anelli quello di Crypto Museum dà circa 1,07×10231{,}07 \times 10^{23}.
  • 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