il 5 agosto del 1857 un cavo lungo 4300 km fu steso attraverso l'Oceano Atlantico connesse la Gran Bretagna con l'America rafforzando i reciproci legami economici e sociali L'informazione poteva essere codificata con una serie d'impulsi elettrici e inviata dovunque nel mondo quasi istantaneamente Titoli di borsa, trasferimento di danaro, erano queste le applicazioni commerciali inventate da Western Union che inaugurarono la nuova era della comunicazione globale Fate attenzione al prossimo annuncio La Germania ha invaso la Polonia e ha bombardato molte città La mobilitazione generale è stata indetta in Francia e in Gran Bretagna e di conseguenza questa nazione è in guerra contro la Germania La guerra si estende all'intero globo e mette a rischio la libertà dei popoli (Mussolini, in Italiano) (Parole in Giapponese) I Giapponesi hanno attaccato la base di Pearl Harbor nelle Hawaii ha appena annunciato il Presidente Roosvelt (Discorso di Hitler in tedesco) Durante la Seconda Guerra Mondiale, Germani, Italia e Giappone erano in chiara minoranza numerica rispetto agli alleati La sola speranza di vittoria risiedeva nel lanciare attacchi di sorpresa L'obiettivo della tecnologia crittografica era quindi di automatizzare la generazione del codice di Vernam usando una macchina Una macchina che applicasse, in modo automatico, uno spostamento casuale ad ogni lettera del messaggio originario Ma tutte le macchine funzionano nello stesso modo Iniziano in una configurazione o stato iniziale Per ogni lettera all'ingresso compiono una serie d'operazioni e producono una lettera in uscita Il punto è che la sequenza che porta dallo stato iniziale a quello finale è deterministica, ripetibile e quindi prevedibile. Si cercò di produrre macchine identiche che generassero una sequenza casuale di traslazioni, sequenza che non si ripeteva presto Alice e Bob potevano generare una sequenza di traslazioni identiche nel seguente modo: Dovevano fornirsi di macchine identiche e partire dal medesimo stato iniziale (chiamato definizione della chiave) Quindi allineano le due macchine sulla medesima posizione iniziale e quindi compiono la medesima sequenza di operazioni ottenendo il medesimo risultato All'epoca, la macchina crittografica a rotore era lo stato dell'arte della tecnologia La meccanica di un odometro (contachilometri) ci è familiare ripete il proprio ciclo solo dopo molto tempo Immaginate di scambiare i numeri sulle ruote dell'odometro mentre avanza così facendo generiamo un nuovo valore della traslazione sommando i numeri sui rotori Questo è il principio di una codificatrice a rotori Per esempio, il messaggio "Attaccare a Nord-Ovest" sarebbe crittografato nel seguente modo Notate come ad ogni passo del messaggio venga usata una traslazione distinta Con 3 rotori, ciascuno avente 26 numeri, la lunghezza della sequenza (prima che si ripeta) è di 26 x 26 x 26 Che è equivalente ad avere una traslazione lunga 17.576 numeri Ogni posizione dei rotori corrisponde ad una posizione nella sequenza La posizione iniziale della macchina è detta 'definizione della chiave' e l'insieme di tutti i possibili valori iniziali della chiave definisce lo 'spazio delle chiavi' Lo spazio delle chiavi aumenta all'aumentare delle configurazioni iniziali possibili per la macchina Per esempio, se fosse possibile scambiare la posizione dei rotori, il loro ordine può essere scelto in 6 modi Visualizziamo lo spazio delle chiavi Dapprima, scegliamo uno dei sei possibili ordini dei rotori Poi scegliamo una posizione iniziale per la sequenza dei rotori Così abbiamo uno spazio delle chiavi con oltre 10.000 definizioni per le chiavi Ricordate che ogni definizione della macchina è un punto nello spazio delle chiavi Selezionando una definizione iniziale della chiave scegliamo un punto iniziale in questo spazio, che poi determina il resto della sequenza Se si scopre la definizione iniziale della chiave si scopre l'intera sequenza La robustezza delle macchine codificatrici dipende dalla dimensione dello spazio delle chiavi e dalla casualità nella definizione della chiave Durante la Seconda Guerra Mondiale una delle più importanti tecnologie crittografiche usata dai tedeschi era la Macchina Enigma una macchina con rotore elettromeccanico inventata da un ingegnere tedesco alla fine della 1a Guerra Mondiale Ciascun rotore aveva un contatto elettrico con un labirinto di fili Ad ogni posizione del rotore c'era un cammino elettrico fra lettere in ingresso ed in uscita Lo spostamento del rotore stabiliva un collegamento diverso per ciascuna lettera Durante la guerra i tedeschi s'ingegnarono ad ampliare costantemente lo spazio delle chiavi di Enigma Ad esempio, aggiunsero un quarta ruota ed aumentarono il numero di rotori possibili sino a 60 Queste migliorie aumentarono enormemente lo spazio delle chiavi Verso la fine della guerra, Enigma poteva codificare un messaggio in 150 milioni di milioni di milioni di modi Indovinare la definizione delle chiavi usata era come indovinare il risultato del lancio di 26 dadi Questo rese i tedeschi sicuri che, anche se gli alleati fossero venuti in possesso di una macchina Enigma, non avrebbero potuto determinare la definizione delle chiavi Comunicare usando Enigma richiedeva il condividere la chiave giornaliera per allineare le macchine sulla stessa posizione iniziale Tale protocollo di allineamento cambiò ripetutamente durante la guerra ma in generale era realizzato distribuendo in anticipo la lista degli chiavi a tutti gli operatori Ogni giorno l'operatore usava la definizione giornaliera per scegliere quali rotori usare e in quale posizione iniziale Ogni giorno l'operatore usava la definizione giornaliera per scegliere quali rotori usare e in quale posizione iniziale Tale configurazione era distrutta immediatamente dopo l'uso Tuttavia un'operazione cruciale era lasciata all'operatore Dovevano selezionare una posizione casuale del rotore prima d'iniziare la comunicazione e un operatore stanco fece un errore madornale Un errore che facciamo noi tutti quando scegliamo la combinazione di un lucchetto da bicicletta, per esempio tendiamo a ruotare i cilindri solo poco dal loro stato iniziale oppure riusiamo una parola chiave molto comune Questo distruggeva la distribuzione uniforme della posizione iniziale del rotore e dopo ripetute osservazioni permise agli alleati di derivare la disposizione delle connessione elettriche interne della macchina Ma oltre all'errore procedurale un errore di progetto aiutò gli alleati Enigma era stata progettata in modo che una data lettera in ingresso non fosse mai codificata in se stessa Dato un carattere in uscita, per es L, si poteva escludere che il carattere in ingresso fosse proprio L Quello che i tedeschi consideravano un elemento di forza era invece una debolezza del sistema che permise di decifrare il codice dapprima ai polacchi, poi migliorato dagli sforzi anglo-americani La macchina - detta Bomba - che permise di decifrare il codice consisteva in diversi rotori Enigma in successione che consentivano di verificare rapidamente svariate combinazioni Sfruttava la presenza di parole comuni (come "tempo") nel messaggio originario Individuata una di queste parole, la Bomba passava in rassegna tutte le posizioni possibili dei rotori e la loro scelta e arrivava a determinare la definizione della chiave nell'arco di minuti Questa macchina permise agli alleati di leggere i messaggi cifrati tedeschi qualche ora dopo solamente dalla loro trasmissione Fu un successo estremamente importante, che permise agli alleati di anticipare le mosse dei tedeschi Fu un successo estremamente importante, che permise agli alleati di anticipare le mosse dei tedeschi Anche se questo primo tentativo d'utilizzare il codice di Vernam fallì, se gli operatori avessero usato un modo genuinamente casuale di selezionare la posizione iniziale dei rotori, il punto di partenza sarabbe stato uniformemente distribuito. Questo avrebbe reso impossibile la derivazione della posizione dei rotori specialmente se Enigma avesse permesso la codifica delle lettere in se stesse la Bomba non sarebbe riuscita a decifrare i messaggi nel giro di ore ma avrebbe avuto bisogno di anni La ripetizione ridusse la dimensione dello spazio delle chiavi Forse la Seconda Guerra Mondiale si sarebbe conclusa in un altro modo