Renato Betti


LE MACCHINE CIFRANTI

Il periodo dei dispositivi per cifrare e decifrare vede dapprima sistemi meccanici, poi elettrici ed elettronici come conseguenza dell'evoluzione del concetto stesso di comunicazione. L'articolo [5] di Shannon del 1949 segna il definitivo ingresso della Crittografia nel campo della Teoria dell'informazione. È il periodo della Crittografia automatica.
Si è già detto della macchina cifrante Enigma, un complesso ideato per scopi commerciali già negli anni `20 e poi adattato, come standard delle comunicazioni riservate, dal comando tedesco nel corso della II guerra mondiale.

Claude Elwood Shannon

La macchina si componeva di un certo numero di dischi rotanti (tre nelle versioni più complesse), ciascuno dei quali realizzava una cifratura dell'alfabeto per mezzo di intricati circuiti elettrici. Inoltre questi rotori, per maggior complessità, venivano combinati e collegati fra di loro in maniera di giorno in giorno diversa, secondo una chiave anch'essa trasmessa in maniera cifrata; dopo ogni lettera trasmessa, subivano una rotazione.

Per la decrittazione risultarono utili un complesso di metodi, compresi quelli che si ottengono carpendo informazioni con lo spionaggio tradizionale ma anche statistiche, studio di strutture algebriche e combinatorie, esame delle abitudini dei trasmettitori tedeschi e delle espressioni gergali, analisi di grandi quantità di dati per mezzo di altre macchine elettromeccaniche appositamente costruite (le famose bombe, cosiddette per il loro classico ticchettio). Per maggiore comodità di operazione ed evidente economia di mezzi, Enigma usava un riflettore, grazie al quale la stessa chiave, e le medesime operazioni, venivano usate sia per cifrare che per decifrare: si batte sulla tastiera il testo in chiaro e, opportunamente disposta la macchina secondo la chiave, si legge su un visore il testo in codice; viceversa, se si batte il testo in codice, si legge direttamente il testo in chiaro. Il sistema crittografico è reversibile e questo carattere strutturale fornirà elementi fondamentali per la decrittazione.
L'affascinante storia di questa macchina, dei suoi principi costruttivi e di come un gruppo di matematici, filologi, enigmisti raccolti dal comando inglese a Bletchey Park
sia riuscita a decrittarla, almeno in alcuni dei suoi aspetti, in particolare per la guerra sul mare, sono ben raccontate nella biografia di Alan Turing scritta da Andrew Hodges t6] e nella storia della Crittografia di Singh [3].
Altre macchine ed altri sistemi fanno parte della storia della Crittografia del `900. Il sistema più noto, e che ha resistito per il maggior periodo di tempo agli assalti della decrittazione, è quello fissato in maniera ufficiale nel 1977 dall'amministrazione degli Stati Uniti, il DES (Data Encryption Standard), un cifrario monoalfabetico la cui sicurezza, che riposava su una chiave da 56 bit (di cui 8 di controllo), è stata infranta nel 1998. Questo è il primo sistema di Crittografia commerciale, che viene stabilito come standard da un ente normativo, allo scopo di evitare il proliferare di sistemi cifranti incompatibili fra di loro.



I calcolatori denominati bomba usati a Bletchley Park
Il DES esegue una serie di trasformazioni elementari ripetute più volte su pacchetti opportunamente strutturati del testo, in modo di sottoporre i bit che lo compongono ad una modifica globale, dipendente in maniera essenziale dalla chiave scelta: gli algoritmi sono resi pubblici; la chiave -nel rispetto più rigoroso del principio di Kerckhoffs- è l'unico dato fissato dall'utente.

L'aspetto importante è che la cifratura può avvenire in tempo reale con un calcolatore di media potenza. Inoltre il sistema è simmetrico nel senso che, come tutti i sistemi esemplificati fino a questo punto, la chiave viene usata direttamente per la decrittazione.
Un numero di 56 bit contiene una grande quantità di informazione: si hanno 7, 2 x 1016 chiavi diverse. Eppure, fin dal suo primo apparire, ai ricercatori apparve troppo corta per affrontare le risorse che prevedibilmente si sarebbero sviluppate nel futuro. E, come previsto, questa fu la causa principale della sua decrittazione, anche se a questo scopo fu necessaria la forza di migliaia di computers che lavoravano simultaneamente, coordinati via Internet.
in effetti, è nel contesto delle grandi macchine da calcolo dedicate ai problemi della Crittografia che nel `900 sorge la coscienza che, per avere un cifrario perfetto, vale a dire un cifrario che non possa essere infranto, la chiave deve possedere tanta informazione quanto quella dei possibili messaggi. Un apparente paradosso, che tuttavia serve solo a spostare in avanti la nozione stessa di chiave crittografica. Tale è ad esempio il cifrario di Vernam, che prende il nome dall'ingegnere delle telecomunicazioni Gilbert Vernam (1890-1960) in cui la chiave è un generatore di numeri casuali. Non sorprende che una chiave qualsiasi si possa codificare in termini numerici: è chiaro che, con questo livello di sviluppo e l'insorgenza dei metodi digitali, si può ben pensare che anche il messaggio non sia che un numero, codificato in un certo numero di bit. Il vero problema che rimane è quello della chiave: della sua generazione, della conservazione e della trasmissione.
In questo modo, generata ad ogni nuova utilizzazione, la chiave è sempre nuova; non si ripete mai da una trasmissione all'altra e, anzi, viene eliminata dopo l'uso (gli americani parlano di one-time pad, per sottolineare l'uso non ripetibile della chiave) ma il vero segreto è ormai concentrato sulla maniera con cui viene generata.



Gilbert Vernam
Il primo cifrario ideato da Vernam nel 1917 consiste in un dispositivo capace di eseguire l'or esclusivo V, termine a termine, dei segnali binari su due nastri. Su un nastro si trova il testo da cifrare, sull'altro la chiave: come risultato, in ciascuna posizione dell'output, si ottiene 1 se e solo se sono differenti le due corrispondenti posizioni sui nastri: 0 e 1 oppure 1 e 0. L'ingegnosità del metodo consiste nel fatto che la idempotenza dell'operazione "a V -", dove a è una variabile binaria:

aV(aVb)=b

garantisce la reversibilità del sistema.
Ma non occorre necessariamente un ambiente tecnologico di grande sofisticazione per mostrare il senso dell'uso di una chiave one-time pad: pensate, ad esempio, di fissare con il vostro interlocutore che la chiave per trasmettere messaggi cifrati sia data da una certa edizione della Divina Commedia. Voi eseguite la cifratura à la Vigenère usando come chiave tutte le lettere consecutive dell'opera di Dante: "nelmezzodelcammindinostravita......" con la convenzione che per il prossimo messaggio la chiave parte da dove si è arrestata nel precedente. Evidentemente, il sistema non ha alcun periodo: la cifratura non si ripete mai allo stesso modo; eppure una macchina che procedesse per tentativi sarebbe senz'altro in grado di decrittare prima o poi i vostri messaggi e magari riscrivere in bella tutti i versi della Divina Commedia!
A questo punto dello sviluppo, occorre un idea che fornisca alla nozione di chiave crittografica una enorme quantità di possibilità e allo stesso tempo la liberi dalla necessità di essere condivisa fra più soggetti, perfino fra chi trasmette e chi riceve. La gestione delle chiavi, spesso ingombranti, la loro generazione, il loro invio ai destinatari, le esigenze di sicurezza ... questo è l'autentico punto critico dei sistemi cifranti. E questo è ciò che ha ricevuto un forte miglioramento dall'idea di chiave pubblica, come opposta all'uso privato, personale, segreto della chiave. Una chiave che potete comunicare a tutti quelli che vogliono cifrare un messaggio e mandarvelo, ma che non è utile per la decifrazione che solo voi sapete eseguire.