La genesi della crittografia:
Le prime scritture criptate

Le più antiche notizie sicure sono probabilmente quelle sulla scitala lacedemonica , data da Plutarcocome in uso dai tempi di Licurgo (IX sec a.C.) ma più sicuramente usata ai tempi di Lisandro(verso il 400 a.C.) . Consisteva in un bastone su cui si avvolgeva ad elica un nastro di cuoio; sul nastro si scriveva per colonne parallele all'asse del bastone, e lettera per lettera, il testo segreto. Tolto il nastro dal bastone il testo vi risultava trasposto in modo regolare ma sufficiente per evitare la lettura senza un secondo bastone uguale al primo.
Tra il 360 e il 390 venne compilato da Enea il tattico, generale della lega arcadica, il primo trattato di cifre il cui XXI capitolo tratta appunto di messaggi segreti. In questo viene descritto un disco sulla zona esterna del quale erano contenuti 24 fori,ciascuno corrispondente ad una lettera dell'alfabeto. Un filo, partendo da un foro centrale, si avvolgeva passando per i fori delle successive lettere del testo: all'arrivo, riportate le lettere sul disco, si svolgeva il filo segnando le lettere da esso indicate: il testo si doveva poi leggere a rovescio. Le vocali spesso erano sostituite da gruppi di puntini.
In questo stesso periodo vennero ideati codici cifrati indiani ed ebraici utilizzati in particolar modo per celare nomi propri, innominabili o sacrileghi.
Numerosi testi e documenti greci antichi contengono tratti cifrati, specialmente nomi propri, ma si trovano anche interi scritti cifrati con sostituzione semplice e con alfabeti generalmente a numero.

Il codice di Atbash

Il codice di Atbash consiste in una semplice sostituzione, molto simile a quella di Cesare . La sostituzione di Cesare era basata sull'alfabeto romano, mentre il codice di Atbash si basava su quello ebraico, composto da 22 lettere.

Nel codice di Atbash, la prima lettera dell'alfabeto ebraico (aleph) viene sostituita con l'ultima (taw), la seconda (beth) con la penultima (sin o shin), e così via.
Usando per comodità l'alfabeto inglese come base per l'Atbash si otterrà una tabella di cifratura simile a quella riportata qui sotto:

TESTO NON CRITTOGRAFATO   a b c d e f g h i j k l m
TESTO CRITTOGRAFATO       Z Y X W V U T S R Q P O N
TESTO NON CRITTOGRAFATO   n o p q r s t u v w x y z
TESTO CRITTOGRAFATO       M L K J I H G F E D C B A
Utilizzando la frase Il sole brilla come frase chiara da cifrare il risultato sarà:
Rohlovyirooz

Il codice di Atbash è quindi meno complesso di quello di Cesare, poichè al contrario di quest'ultimo prevede solo un tipo di sostituzione

Dal codice di Cesare a quello di Augusto

Scarse sono le notizie sulla crittografia romana. Si sa solo che Giulio Cesare ed Augusto nelle loro corrispondenze con i famigliari usavano un alfabeto regolare, spostato di pochi posti. A fornircene informazioni è solo Svetonio.


Extant et ad Ciceronem, item ad familiares domesticis de rebus, in quibus, si qua occultius perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum verbum effici posset: quae si qui investigare et persequi velit, quartam elementorum litteram, id est D pro A et perinde reliquas commutet.
(Svetonio-Vita di Cesare §56)

Restano quelle a Cicerone,così come quelle ai familiari sugli affari domestici, nelle quali, se doveva fare delle comunicazioni segrete, le scriveva in codice, cioè con l'ordine delle lettere così disposto che nessuna parola potesse essere ricostruita: se qualcuno avesse voluto capire il senso e decifrare, avrebbe dovuto cambiare la quarta lettera degli elementi, cioè D per A e così via per le rimanenti.


Orthographiam, id est formulam rationemque scribendi a grammaticis institutam, non adeo custodit ac videtur eorum potius sequi opinionem, qui perinde scribendum ac loquamur existiment. Nam quod saepe non litteras modo sed syllabas aut permutat aut praeterit, communis hominum error est. Nec ego id notarem, nisi mihi mirum videtur tradidisse aliquos, legato eum consulari successorem dedisse ut rudi et indocto, cuius manu "ixi" pro ipsi scriptum animadverterit. Quotiens autem per notas scribit, B pro A, C pro B ac deinceps eadem ratione sequentis litteras ponit ; pro X autem duplex A.
(Svetonio-Vita di Ottaviano Augusto §88)

Non rispetta l'ortografia, cioè l'arte di scrivere le parole correttamente seguendo le regole dei grammatici , e sembra piuttosto seguire l'opinione di coloro che pensano che si debba scrivere come parliamo. infatti si può dire che spesso cambia o salta non solo lettere, ma anche sillabe intere, che sono errori comuni degli uomini. Ed io non riporterei ciò se non mi sembrasse incredibile che alcuni abbiano tramandato che lui abbia costretto alle dimissioni il legato consolare perchè si era accorto che aveva scritto "ixi" al posto di "ipsi" Tutte le volte infatti che scrisse attraverso un codice, rimpiazzò la A con la B, la B con la C e così via per le altre lettere; per quanto riguarda la X la rappresentava con una doppia A.


Scacchiera di Polibio

Polibio fu uno scrittore greco che inventò un sistema per convertire caratteri alfabetici in caratteri numerici. Questo sistema può essere facilmente utilizzato per segnalazioni con l'uso di torce.

Per comodità negli esempi seguenti si utilizzerà ,al posto di quello greco, l'alfabeto inglese il quale però ha il difetto di essere formato da 26 caratteri; così per poter costruire il quadrato necessario per la cifratura bisognerà, come in questo caso per la k e la q, "fondere" due lettere rare ma non foneticamente differenti nella stessa casella. In questo modo si otterrà la seguente tabella:
#12345
1abcde
2fghij
3kqlmno
4prstu
5vwxyz

Ogni lettera può viene quindi rappresentata da due numeri, guardando la riga e la colonna in cui la lettera si trova. Per esempio, a=11 e r=42. Quindi la frase Attenzione agli scogli dopo la cifratura risulterà:

1144441534552435341511223224431335223224

L'idea era che un messaggio potesse essere trasmesso tenendo diverse combinazioni di torce in ogni mano. La scacchiera ha altre importanti caratteristiche, e cioé la riduzione nel numero di caratteri diversi, la conversione in numeri e la riduzione di un simbolo in due parti che sono utilizzabili separatamente. Indipendentemente dalla tecnica, queste scacchiere formano la base per molti altri codici di cifratura come il Playfair Cipher.


Alto Medioevo


In questo periodo la crittografia viene usata principalmente per celare nomi propri, spesso sostituendo una lettera con la successiva, come facevano già i Romani con il Codice di Cesare; altre volte si sostituivano alle varie lettere segni greci, cabalistici, runici, spesso limitando tale sistema alle vocali, cifrate a volte con gruppi di punti,secondo il sistema di Enea il tattico .
Verso l'anno mille compaiono i primi alfabeti cifranti o monografici. Essi sono usati successivamente soprattutto nelle missioni diplomatiche tra i vari staterelli europei, particolarmente da parte delle repubbliche marinare e dalla corte papale di Roma e a partire dal XIV° secolo .
Si usano le cosiddette nomenclature, ossia liste di parole chiave del gergo diplomatico abbreviate con un solo segno; ne troviamo molti esempi tra i secoli XIV° e XVIII°.
Un altro sistema è quello usato dall'Arcivescovo di Napoli, Pietro di Grazia, tra il 1363 e il 1365 in cui le vocali sono sostituite da semplici segni e le vocali scritte in chiaro funzionano da nulle; nelle ultime lettere il procedimento è applicato anche alle consonanti più frequenti (l,r,s,m,n), che a volte erano cifrate anche con altre lettere alfabetiche.

Nel 1378, dopo lo scisma di Avignone, l'antipapa Clemente VII° decise di unificare i sistemi di cifrature dell'Italia Settentrionale ed affidò tale compito a Gabriele Lavinde; in Vaticano è conservato un suo manuale del 1379. In esso ogni lettera è cifrata con un segno di fantasia, in alcuni casi vi sono delle nulle, in altri vi sono delle nomenclature; le vocali sono trattate come le altre lettere, come in una cifra del 1395 di Mantova.
Dagli inizi del XIV° secolo, per depistare i tentativi di analisi statistica delle frequenze, si iniziano ad usare più segni per cifrare una stessa vocale come possiamo leggere in una cifra con più di tre segni diversi per ogni vocale, ma senza nulle e senza omofoni conservata sempre a Mantova del 1401.
Tuttavia la prima cifra completa cioè dotata di segni arbitrari per ciascuna lettera, omofoni per le vocali , molte nulle e un nomenclatore, fu la lettera di Michele Steno tra Roma e Venezia scritta nel 1411.
In seguito viene ampliato il nomenclatore e, a parte la diversità dei segni cifranti, tutte le cifre italiane dei tre secoli successivi seguirono questo modello. Ne abbiamo esempi anche alla corte Francese del XVII° secolo e perfino da parte dei nobili francesi in esilio nel 1793. Tale sistema fu in uso anche nella telegrafia segreta attorno alla seconda metà dell' '800

Eccezioni a questo canone si debbono al Cardinale Richelieu attorno al 1640 per consiglio di Antonio Rossignol; si tratta di repertori invertiti con gruppi cifranti variabili, con due documenti per cifrare e decifrare con omofoni per le singole lettere. Possiamo trovarne altri esempi nelle corrispondenze tra Luigi XIV° e il suo maresciallo alla fine del '600 . La loro corrispondenza, con 11.125 gruppi cifranti diversi, veniva considerata "sicura", ed infatti fu sempre cifrata con lo stesso repertorio, mentre era già stata violata nel 1689 da Wallis.
Dopo Luigi XIV° la crittografia francese declinò tanto che sotto Napoleone si usava un repertorio di soli 200 gruppi quasi privo di omofoni ed applicato solo a parti dei dispacci. Sembra che anche questa inferiorità nella cifratura contribuì al disastro russo del 1812-13 .

Altre cifre papali del XVI° secolo utilizzano un sistema assai diverso, ossia la cifratura con polifoni. La prima di queste cifre appare attorno al 1540; l'ultima nel 1585. Il nomenclatore di tali cifre è costituito da circa 300 voci, tutte cifrate con gruppi di tre cifre.
Un altro esempio di polifonia si trova nel sistema usato dal langravio d'Assia nei primissimi anni del '600, nella quale spesso un gruppo di due numeri indica o una lettera ed una parola vuota oppure una sillaba. Tuttavia è probabilmente a distinguere le funzioni del gruppo era la collocazione di segni ausiliari, che poi il tempo ha cancellato.
Secondo il Meister, uno studioso di crittografia, il sistema polifonico era usato spesso per ridurre la lunghezza del testo cifrato. Egli riporta anche istruzioni per la composizione di simili cifre che sono all'avanguardia per i suoi tempi.


Il disco cifrante di L.B.Alberti

L.B.Alberti, nel suo Trattato della cifra, ha proposto una coppia di cerchi cifranti concentrici: uno esterno fisso con 24 caselle contenenti 20 lettere maiuscole (escluse le rare J K Y W Q H) ed i numeri 1 2 3 4 per il testo chiaro; ed uno interno mobile, con le 24 lettere latine minuscole (con U=V) per il testo cifrato: le 20 lettere maiuscole messe in ordine alfabetico: le 24 maiuscole in disordine. (questa è una norma fondamentale, trascurata da molti successori dell'Alberti, senza la quale si ha una semplice generalizzazione del codice di Cesare).

Fissata una lettera maiuscola come indice (ad es. B) si deve spostare il disco mobile interno e scrivere, come prima lettera del crittogramma, la lettera maiuscola (nel nostro caso j) che corrisponde alla B; quindi cifrare alcune parole con la lista risultante. I numeri 1 2 3 4 servono da nulle. Quando si decide di cambiare la lista cifrante si scriverà la nuova lettera chiave in maiuscolo in modo da indicare chiaramente al corrispondente il cambio di lista. Ciò fatto, si porterà quella lettera ad affacciare l'indice B ed in questa nuova posizione si cifreranno altre parole secondo la nuova lista. Per aumentare la segretezza (le lettere maiuscole costituiscono un aiuto non solo per il corrispondente ma anche per il "nemico") l'Alberti suggerisce di usare uno dei quattro numeri per segnalare il cambio di alfabeto; la lettera minuscola corrispondente al numero sarà la nuova chiave; non vi sono quindi più lettere maiuscole e la cifra risulta così molto più sicura, e decisamente superiore a quelle che la seguirono nel tempo, e in particolare alla fin troppo famosa Tavola di Vigénère.

Si tratta in definitiva di una delle cifre polialfabetiche più sicure, che non ottenne il successo meritato anche per la decisione dell'Alberti di tenerla segreta. (il suo trattato fu pubblicato solo un secolo più tardi a Venezia insieme ad altri suoi "opuscoli morali" e passò quasi inosservato).


La crittografia di G.B. Porta

G.B.Porta (o Della Porta), nel 1563 pubblicò a Napoli un trattato di crittografia (De Furtivis literarum notis - vulgo de ziferis) molto vasto e di ottimo livello.
Tra le cifre proposte dal Porta è nota soprattutto la tavola, che non è certo la migliore tra quelle presenti nel trattato e che é perlopiù più debole di quelle del Bellaso e dell'Alberti.
La tavola del Porta è molto simile a quella di Bellaso, ma usa 11 alfabeti invece di 5 e introduce il cosiddetto verme letterale, poi generalmente adottato, e che ha il grave inconveniente di produrre un periodo di ciframento relativamente corto, perchè comprendente solo tante lettere quante ne ha il verme nel quale le liste cifranti si susseguono tutte nello stesso ordine: particolarità su cui si basa la decrittazione del sistema, facilitata, in questo caso, dalla conoscenza degli alfabeti usati.
In realtà il Porta consiglia di usare 11 alfabeti involuttori arbitrarii, ma dà, come esempio la tavola con l'alfabeto base regolare: sotto questa sola forma la sua cifra è stata poi da tutti divulgata. Seguendo le indicazioni del Porta si scriverà la parola, o verme, lettera per lettera sotto ciascuna lettera del testo chiaro, ripetendola quante volte occorre: la cifratura si farà usando per ciascuna lettera del testo chiaro la lista individuata dalla corrispondente lettera chiave, come nella tavola del Bellaso.

Le cifre di G.B.Bellaso

G.B.Bellaso pubblicò nel 1553 un opuscolo, "Il vero modo di scrivere in cifra" contenente alcuni suoi cifrari polialfabetici.
L'idea è quella di ricavare diversi alfabeti (tutti disordinati) da una parola convenuta, versetto o motto.
Un esempio dell'autore: data la parola chiave sia IOVE, il primo alfabeto derivato(con V=U) è:
I O A B C D F G H L
V E M N P Q R S T X
Il secondo si ottiene spostando circolarmente la seconda riga:
I O A B C D F G H L
X V E M N P Q R S T
e così via fino ad ottenere cinque alfabeti; ognuno di questi sarà identificato da un gruppo di quattro lettere; p.es.:
I D V Q  | I O A B C D F G H L
         | V E M N P Q R S T X

O F E R  | I O A B C D F G H L
         | X V E M N P Q R S T

A G M S  | I O A B C D F G H L
         | T X V E M N P Q R S

B H N T  | I O A B C D F G H L
         | S T X V E M N P Q R

C L P X  | I O A B C D F G H L
         | R S T X V E M N P Q
A questo punto si deve convenire un altro motto, p.es OPTARE MELIORA; le lettere di quest'ultimo servono a selezionare l'alfabeto da usare.
Volendo allora cifrare la frase "Inviare truppe domani" si ha:
Verme          O               P             T 
Chiaro    I N V I A R E  T R U P P E    D O M A N I
Cifrato   X C O X E G A  A I C H H D    M T D X F S

Le cifre del Bellaso sono più deboli di quella dell'Alberti perchè usano pochi alfabeti ed il cambio di lista non è segreto.


Il Codice di Vigenere


Il codice di Vigenere è una sostituzione polialfabetica. Blaise de Vigenere creò anche un codice più sofisticato, ma il suo nome rimase associato a questo codice più debole.

Si può dire che il codice di Vigenere è più sicuro di una semplice sostituzione monoalfabetica.

Il Vigénère propose l'uso della tavola quadrata, composta da alfabeti ordinati spostati. Introdusse poi nel suo uso il verme letterale proposto dal Della Porta, ottenendo una cifra in verità più debole e più scomoda delle precedenti. Il metodo Vigénère ebbe una fortuna immediata e fu molto usato nell'ambito militare anche dopo che ne fu scoperto il metodo di decrittazione.
La tavola è composta dalla lista decifrante scritta orizzontalmente in testa; le liste cifranti sono solo le 26 sottostanti, individuate ciascuna dalla loro prima lettera. Per cifrare si dovrà prima di tutto scrivere le lettere del verme sotto a quelle del testo chiaro; basterà quindi cercare, per ogni lettera del chiaro, la corrispondente cifrata nell'incrocio tra la colonna individuata dalla lettura chiara e la linea individuata dalla lettera chiave.
Il cifrario di Vigénère è quindi un classico esempio di cifrario polialfabetico.

Il codice di Vigénère richiede la seguente tavola:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R S T U V W X Y Z A B C D E F G H I J K L M N O P S

S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Il codice richiede anche una chiave (detta anche verme): il testo crittato è formato scrivendo la chiave sotto il testo non crittato.
Nel seguente esempio, si userà il testo non crittato "arrivano i rinforzi" e la chiave "verme".

Per crittare il testo, bisogna usare la tabella di Vigénère: ogni lettera sarà crittografata usando la corrispondente della tabella.

Per usare la tabella, basta cercare la riga della lettera del testo chiaro, p.es. la "A", e quindi la colonna della corrispondente lettera della chiave, p.es. la "V"; all'incrocio tra riga e colonna si trova la lettera del testo crittato, in questo caso "V".

Poi, si continua così per le altre lettere, così da ottenere il testo crittografato completo.

Testo chiaro  - ARRIVANOIRINFORZI
Verme         - VERMEVERMEVERMEVE
Testo cifrato - VVIUEVRFDMIJFDDDM

Una data lettera del testo chiaro non è sempre cifrata con la stessa lettera; per esempio la prima R è cifrata con V, la seconda con I.
Questa è del resto una caratteristica di tutti i codici polialfabetici.

La decodificazione è semplice quando si conosce la chiave. Basta semplicemente trovare la lettera della chiave dal lato della tabella, leggendo lungo la riga per trovare la lettera del testo crittato e muovendosi poi dall'alto della colonna per trovare la lettera originale del testo non crittato.

Testo cifrato - VVIUEVRFDMIJFDDDM
Verme         - VERMEVERMEVERMEVE
Testo chiaro  - ARRIVANOIRINFORZI


Il codice di Jefferson

Macchina a Rotore di Jefferson

Il codice di Jefferson prende il nome dal suo inventore Thomas Jefferson (1743-1826), autore della Dichiarazione d'Indipendenza e presidente degli USA nel mandato del 1801. Il codice è di facile utilizzo e tuttora rimane abbastanza sicuro, secondo gli standard di oggi. Non venne però adottato dagli Stati Uniti anche se, in teoria, avrebbe potuto sopportare qualsiasi attacco crittoanalitico contemporaneo. Jefferson lo archiviò e il suo codice rimase nel "dimenticatoio" fino al 1922, quando fu riscoperto e utilizzato, fino agli anni '50, dall'esercito statunitense. Fino a questo momento il codice di Jefferson era stato talmente ignorato che nel 1890 Etienne Bazeries, l'Indecifrabile, reinventò indipendentemente lo stesso metodo di cifratura.

Il codice di Jefferson era un metodo di cifratura meccanico e cioè basato su di una macchina; questa macchina consiste in un cilindro di circa 15 cm di lunghezza e 4 cm di larghezza montato su un asse e sezionato in 36 dischi uguali (25 nella versione poi utilizzata dagli Americani). Sul bordo di ciascuna ruota sono scritte le 26 lettere dell'alfabeto, equidistanti l'una dall'altra. L'ordine in cui sono disposte le varie lettere non corrisponde a quello naturale e varia da ruota a ruota.

Il messaggio in chiaro deve essere cifrato a blocchi di 36 lettere ciascuno (qualora l'ultimo blocco presenti meno di 36 lettere, esso deve essere completato con lettere nulle); la chiave di cifra è un numero che va da 1 a 25. Supponendo che il primo blocco in chiaro sia La missione in Polinesia è fallita e la chiave sia il numero 6, in una certa riga, non importa quale, si comporrà il messaggio in chiaro (omettendo naturalmente gli spazi); il crittogramma corrispondente andrà letto sulla sesta riga dopo quella che contiene il blocco in chiaro. Questo metodo di cifratura verrà in parte riutilizzato dai Tedeschi nella Seconda Guerra Mondiale nella cosiddetta Macchina Enigma.

Come quasi tutti i metodi di cifratura anche il cilindro di Jefferson ha un grave difetto che ricorda quello che "minava" il codice di Cesare: poichè le chiavi sono solo venticinque se il cilindro cade nelle mani del nemico il crittogramma può essere facilmente risolto.


La Crittografia italiana nella Grande Guerra

Dalla metà del XIX secolo l'uso della crittografia assume un ruolo determinante nella trasmissione di messaggi di carattere logistico e strategico. Questi, trasmessi anche via etere (a partire dal XX secolo) richiedevano alcuni espedienti atti a precludere il contenuto dei medesimi al nemico.
All'inizio del XX secolo la crittografia in Italia, che pure vantava tradizioni di tutto rispetto, aveva toccato uno dei suoi livelli più bassi; basti pensare che era ancora in uso il cifrario militare tascabile, una variante della tavola di Vigenere di cui da tempo era noto un metodo di decrittazione (quello del Kasiski).
All'inizio della Grande Guerra la stazione radiotelegrafica di Codroipo era in grado di intercettare i messaggi austriaci ma non di decrittarli, poichè l'Esercito Italiano non disponeva di un Ufficio Cifra! Per rimediare il Comando Supremo inviò il cap. Sacco, comandante della stazione di Codroipo, in Francia presso il quartier generale. Qui i Francesi furono in grado di decrittare i messaggi austriaci, ma rifiutarono di istruire gli italiani sui loro metodi di decrittazione.
Irritato da questa situazione il Sacco propose ai suoi superiori di istituire un Ufficio Cifra italiano (" Se i Francesi sono riusciti in questa impresa, non vedo perchè non dovremmo riuscirci anche noi"); fu preso in parola, e, nella primavera del 1916, incaricato di organizzare un Ufficio Crittografico.
Sotto la guida del Sacco e dei suoi collaboratori Tullio Cristofolini, Mario Franzotti, e Remo Fedi, l'ufficio riuscì a decrittare il cifrario campale austriaco, quello diplomatico, e quello navale. Notevoli risultati furono ottenuti anche contro i cifrari tedeschi in uso nei Balcani.
La possibilità di intercettare e decrittare i messaggi austriaci ebbe un'importanza non trascurabile nel 1918, per fronteggiare l'offensiva austriaca del Piave.

Un caso particolare: il codice "Navajos"

[Exhibit Picture]

In un epoca di supercomputer e macchine potentissime il codice Navajo è un monumento alla più potente e sofisticata macchina che esista al mondo: la mente umana. Nel tentativo di ottenere delle comunicazioni vocali "sicure" l'esercito USA, prima della seconda guerra mondiale ha sperimentato l'uso della lingua degli indiani Choctaws per criptare le comunicazioni vocali, lingua che era già di per se "criptata". Dopo l'entrata in guerra degli USA, nel 1941, lo studio di questo tipo di "crittografia" venne esteso e si sperimentarono i linguaggi di Commanches, Choctaws, Kiowas, Winnebagos, Seminoles, Navajos, Hopis e Cherokees. Successivamente la Marina USA ha proseguito il lavoro dell'esercito codificando, espandendo e perfezionando il metodo, usando esclusivamente il linguaggio Navajos. Usati con successo su molti fronti i "NAC" (Native American Codetalkers) non hanno mai visto "infranto" il loro "codice".

La Macchina Enigma

Dopo che la Gran Bretagna dichiarò guerra alla Germania il 3 settembre 1939, le operazioni di decrittazione Britanniche furono spostate da Londra a Bletchley Park. Questa cittadina di campagna era vicina alla, allora piccola, stazione ferroviaria di Bletchley, a metà strada tra Oxford e Cambridge.

Tra il 4 settembre 1939 e l'estate del 1944,Alan Turing (1912-1954) (uno dei più famosi matematici di questo secolo, fra i fondatori dell'informatica teorica: forse anche a causa delle circostanze misteriose in cui morì, il suo nome è ormai entrato nella leggenda) allogiò al Crown Inn, a Shenley Brook End, un villaggio vicino Bletchley.

Codici

La Crittografia, la scienza del fare e interpretare informazioni cifrate, fu fino al 1979 un campo così gelosamente custodito dai governi, che le pubblicazioni su di esso furono molto rare. Da allora i codici crittografici sono stati analizzati e pubblicati e la crittografia è divenuta un importante ramo della matematica. Così, il lavoro eseguito da Alan Turing e i suoi colleghi a Bletchley Park può essere completamente apprezzato solo ora.

L'opera di Turing

Quasi tutte le comunicazioni tedesche venivano criptate con una macchina di cifra chiamata Enigma.
Questa macchina è una rappresentante niente affatto indegna di una classe di cifrari a rotore, utilizzati fino all'introduzione di cifrari elettronici e microelettronici che hanno sconvolto e trasformato il mondo della crittografia.
Per forzare l'Enigma (alcuni dettagli della soluzione sono tenuti segreti fino ad oggi) Turing, per conto del governo inglese, si servì di gigantesche macchine chiamate appunto Colossi, che possono considerarsi i precursori dei moderni calcolatori elettronici.
Alcuni sostengono che il 1943, l'anno in cui entrarono in funzione i Colossi, sia l'anno di nascita dell'informatica, ma forse anche questa data va anticipata di qualche anno a favore delle ingegnose macchine elettroniche progettate dal tedesco Konrad Zuse fin dal 1963. Turing è autore di ricerche estremamente raffinate e molto profonde sul concetto logico-matematico di calcolabilità: la strumento che egli ha proposto per affrontare il problema è noto oggi col nome di macchina di Turing.
Le macchine di Touring non hanno niente da spartire coi Colossi, non possiedono né valvole, né transistor, né circuiti integrati (come i calcolatori della prima, della seconda o della terza generazione), esse sono macchine "astratte" e meramente "ideali" che esistono solo mente di Turing e in quelle dei logici che proseguono le sue ricerche.
Una delle prime macchine di cifra a rotori è stata costruita dal californiano Edward Hebern, che la brevettò nel 1921. Autentici gioielli della crittografia meccanica sono le macchine costruite da Boris Hangelin; nel 1927 egli aveva rilevato una ditta che produceva materiale crittografico e che ancora oggi è prospera e fiorente, anche se ormai i rotori sono entrati nei musei della scienza. Per rendersi conto di quanto i tempi siano cambiati basterà ricordare che l'Enigma aveva un grande inconveniente: era sprovvisto di stampante. I risultati apparivano illuminati su una tastiera apposita, lettera dopo lettera, e una persona doveva provvedere a trascriverli a mano su un foglio di carta. Una stampante elettro-meccanica avrebbe appesantito troppo il congegno e lo avrebbe reso poco maneggevole: un problema che la tecnica odierna consente di superare senza difficoltà.


Il DES (Data Encryption Standard)

L'IBM, che per molti anni ha dominato incontrastata il mondo dei computer, introdusse nel 1975 un suo cifrario espressamente progettato per l'uso informatico: il Data Encryption Standard o DES.
Si tratta di un cifrario misto che prevede 16 trasformazioni successive (trasposizioni e sostituzioni). In pratica il testo chiaro viene suddiviso in blocchi da 64 bit (equivalenti a 8 caratteri); ogni blocco è sottoposto a una trasposizione data in base ad una chiave di 64 bit; si applica quindi per 16 volte una funzione cifrante e alla fine la trasposzione inversa di quella iniziale.
La chiave deve naturalmente essere concordata tra mittente e destinatario; si tratta quindi ancora di un cifrario a chiave segreta.
Il DES è stato presentato come un cifrario assolutamente sicuro, ma su questa presunta inattaccabilità si sono accese molte polemiche e certo anche molte leggende. La critica più fondata è quella di Hellman della Stanford University, che sostiene che la chiave è troppo corta e che il codice potrebbe essere forzato con una crittoanalisi di tipo esaustivo.
In effetti le chiavi possibili sono 256 (8 dei 64 bit sono usati come bit di controllo e ne restano quindi solo 56 per la chiave), un numero molto elevato ma forse non più fuori della portata dei moderni supercomputer.
Il DES ha comunque il vantaggio della velocità di cifratura che è molto superiore a quella del suo principale rivale: il codice RSA.


Il codice RSA


Il codice RSA permette di cifrare un messaggio attraverso un procedimento che richiede l'utilizzo dei numeri primi

In sintesi:per cifrare un messaggio dunque il trasmettitore deve prendere le diverse cifre pubbliche del ricevente e costruire un messaggio cifrato, quest'ultimo a sua volta utilizza la parte segreta del suo codice per decifrarlo.
UtenteParte pubblicaParte segreta
Riceventenhn=p*qb=f(n)d

Il codice RSA viene considerato sicuro perchè, essendo la formula di decifrazione basata su f(n) calcolabile solo se a conoscenza di p e q, non esiste un algoritmo efficiente per scomporre n in p e q, perlomeno in tempi accettabili.
Potrebbe sorgere il dubbio che esista un modo di calcolare f(n) senza passare per p e q: questa ipotesi in effetti è verificabile ma ha lo stesso grado di complessità di fattorizzare n.

Torna indietro