Crittografia

Thomas Jefferson

 

 

Il dispositivo inventato da Thomas Jefferson, allora segretario di stato, divenuto in seguito terzo presidente degli Stati Uniti, non può lasciare indifferenti gli interessati ai sistemi di crittografia: si tratta del primo metodo di cifratura basato su cilindri e dischi ruotanti intorno ad un asse, che offre un'ottima sicurezza, sebbene la più celebre di tutti questi dispositivi resti comunque la famosa macchina Enigma usata dai Tedeschi nella Seconda Guerra Mondiale.

 

Il dispositivo di Jefferson era composto da un cilindro di circa 15 cm di lunghezza e 4 cm di larghezza montato su un asse. Questo cilindro era formato dall'insieme di 36 ruote di stessa misura (25 nella versione poi utilizzata dagli Americani, 20 nel cilindro di Bazeries).

Esaminando ognuna di queste ruote, si poteva notare come avessero sull'esterno, tutte le 26 lettere dell'alfabeto, ma in ordine casuale e accuratamente diverso ognuna dalle altre. Inoltre ognuna di queste ruote aveva un numero di riconoscimento.

Altra caratteristica del cilindro (in epoche più recenti), era una linea di riferimento che aiutava nell'allineamento dei caratteri che componevano il messaggio.

La crittazione veniva effettuata come segue:

Si inserivano nell'asse del cilindro tutte le 36, in un ordine prestabilito. Questa era la chiave di cifratura da comunicare al destinatario.

Si passava quindi a comporre il messaggio in chiaro, in un punto qualsiasi del rullo. Per comodità conveniva sfruttare la linea di riferimento dove allineare le lettere. La composizione avveniva ruotando singolarmente ogni disco in modo da formare il testo voluto. Terminato l'inserimento del messaggio, o perlomeno le sue prime 36 lettere, mantenendo questo allineamento, si prendeva una riga a caso delle altre 25, e la si trascriveva su carta. Si procedeva così fino al termine del messaggio. Se il messaggio finiva senza riempire completamente l'ultimo blocco di 36 caratteri si potevano mettere una serie di caratteri terminatori, tutti uguali, oppure lasciar perdere.

 

Il destinatario, bastava che montasse le ruote nel cilindro usando la sequenza chiave fornita, e che ruotasse tali ruote singolarmente in modo da formare una riga con i primi 36 caratteri del messaggio cifrato. Mantenendo ora questo allineamento, analizzava cosa era scritto sulle altre 25 righe, fino a trovarne una che contenesse una frase sensata. La trascriveva e continuava a decrittare il resto del messaggio con lo stesso sistema.

Volendo poteva anche essere convenuta la distanza dalla riga composta, rispetto a quella cifrata, in modo da non doverle osservare tutte e 25 in fase di decrittazione, ma sicuramente usando la scelta casuale della riga si aumentava la sicurezza, dato che l'alfabeto di crittazione è in questo modo diverso ogni 36 caratteri all'interno dello stesso messaggio ed un crittoanalista si trova così a dover fronteggiare un nuovo sisitema di cifratura ogni 36 caratteri, invece di avere a disposizione tutto l'intero testo del messaggio.

 

Analisi

In altre parole, il rullo altro non è che un sistema polialfabetico a sostituzione, dove:

  1.  la chiave di cifratura è composta, per ogni riga, da un alfabeto casuale (pero` solo se si usa il metodo di prelevare una riga casuale del cilindro, viceversa è fissa per tutto il messaggio).

  2. la chiave di cifratura globale è composta dalla sequenza di inserimento delle ruote nell'asse del cilindro.

Questo sistema permette di avere una discreta sicurezza. Prendiamo in esame solo le possibilità di inserimento dei vari dischi nell'apposito asse. Riportiamo le possibilità di combinazione che si hanno in base al numero di dischi usati:

 

Dischi Combinazioni
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
11 39916800
12 479001600
13 6227020800
14 8.7 * 10^10
15 1.3 * 10^12
16 2.09 * 10^13
17 3.5 * 10^14
18 6.4 * 10^15
19 1.2 * 10^17
20 2.4 * 10^18
21 5.1 * 10^19
22 1.12 * 10^21
23 2.5 * 10^22
24 6.2 * 10^23
25 1.5 * 10^25
26 4.03 * 10^26
27 1.08 * 10^28
28 3.04 * 10^29
29 8.8 * 10^30
30 2.6 * 10^32
31 8.2 * 10^33
32 2.6 * 10^35
33 8.6 * 10^36
34 2.9 * 10^38
35 1.03 * 10^40
36 3.7199332 * 10^41

 

Il dispositivo di Jefferson, anche se nelle mani del nemico, offriva comunque una protezione di rilievo, data dall'enorme quantità di combinazioni possibili per l'assemblamento del cilindro (371 seguito da 39 zeri). Non disponendo neanche del cilindro e quindi non conoscendo la composizione di ogni singola ruota, andrebbero aggiunte alle miliardi di possibilità di assemblamento, anche tutte le possibili combinazioni date dalla disposizione casuale dei caratteri su ogni singola ruota!

 

Nota per programmatori.

Mentre negli utilizzi militari sono segreti anche i dispositivi che generano un messaggio, uno sviluppatore crea un software che sarà sicuramente venduto e disponibile a tutti. E` quindi bene tenere sempre a mente il concetto esposto da Kerckoffs, secondo il quale un sistema deve mantenere la sua impenetrabilità anche se l'avversario conosce nei dettagli il modo in cui il sistema si applica, purché non sia a conoscenza della chiave usata. In altre parole non è il metodo usato a dover fare la parte del leone, quanto l'impossibilità di decrittazione senza la conoscenza della chiave.