Storia dei codici
Collegamenti utili gratuiti
-
LA STORIA DEI CODICI
Le più antiche notizie sicure sono probabilmente quelle sulla scitala lacedemonica , data da Plutarco come 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 libro di Geremia nella Bibbia usa un semplicissimo codice monoalfabetico per cifrare la parola Babele; la prima lettera dell'alfabeto ebraico (Aleph) viene cifrata con l'ultima (Taw), la seconda (Beth) viene cifrata con la penultima (Shin) e così via; da queste quattro lettere è derivato il nome di Atbash (A con T, B con SH) per questo codice.
Usando il moderno alfabeto internazionale, l'Atbash può essere riassunto con la seguente tabella di cifratura:
CHIAROÂ Â Â Â Â a b c d e f g h i j k l m
CIFRATOÂ Â Â Â Z Y X W V U T S R Q P O N
CHIAROÂ Â Â Â Â n o p q r s t u v w x y z
CIFRATOÂ Â Â Â 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 Atbash è quindi simile ma meno complesso di quello di Cesare, poichè al contrario di quest'ultimo prevede solo una possibile sostituzione. Lo storico greco Polibio (~200-118AC), nelle sue Storie (Libro X) descrive il più antico esempio di codice poligrafico, che attribuisce ai suoi contemporanei Cleoxeno e Democleito; l'idea è quella di cifrare una lettera con una coppia di numeri compresi tra 1 e 5, in base ad una scacchiera 5x5. In tal modo il messaggio può essere trasmesso con due gruppi di cinque torce (p.es. 1,5 = una torcia accesa a destra, cinque a sinistra). In effetti più che di un codice segreto, si tratta di un sistema di telecomunicazione, di fatto un telegrafo ottico. Telegrafi a torce esistevano da molti secoli ed erano stati destritti da Enea il tattico intorno al 350AC, ma erano basati su un limitato elenco di messaggi possibili; quello di Polibio si basa invece sulla scomposizione del messaggio nelle singole lettere ed è quindi in grado di trasmettere qualsiasi messaggio.
#
1
2
3
4
5
1
a
b
c
d
e
2
f
g
h
i
j
3
kq
l
m
n
o
4
p
r
s
t
u
5
v
w
x
y
z
Nell'alfabeto greco ci sono 24 lettere ed avanza quindi un carattere che Polibio proponeva di usare come segnale di sincronizzazione (inizio e fine trasmissione).
Nell'esempio seguente si utilizzerà , al posto di quello greco, l'alfabeto internazionale il quale ha viceversa il difetto di essere formato da 26 caratteri; così per poter costruire il quadrato necessario per la cifratura bisognerà "fondere" due lettere rare ma non foneticamente differenti nella stessa casella, in questo caso la k e la q. In questo modo si otterrà la tabella a lato.
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
La scacchiera di Polibio ha alcune importanti caratteristiche, e cioé la riduzione nel numero di caratteri utilizzati, la conversione in numeri e la riduzione di un simbolo in due parti che sono utilizzabili separatamente. La sua importanza nella storia della crittografia sta nell'essere alla base di altri codici di cifratura come il Playfair Cipher o il cifrario campale germanico usato nella prima guerra mondiale. 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.
(Svetonio-Vita di Cesare §56)
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.
Restano quelle [le lettere] 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.
(Svetonio-Vita di Ottaviano Augusto §88)
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.
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 poi 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.
Svetonio nella Vita dei dodici Cesari racconta che Giulio Cesare usava per le sue corrispondenze riservate un codice di sostituzione molto semplice, nel quale la lettera chiara veniva sostituita dalla lettera che la segue di tre posti nell'alfabeto: la lettera A è sostituita dalla D, la B dalla E e così via fino alle ultime lettere che sono cifrate con le prime come nella tabella che segue (che fa riferimento all'odierno alfabeto internazionale).
Chiaro      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
Cifrato     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
Prendendo come esempio la frase Auguri di buon compleanno si otterrà il seguente messaggio cifrato:
Chiaro            auguridibuoncompleanno
Cifrato           dxjxulglexrqfrpsohdqqr
Più in generale si dice codice di Cesare un codice nel quale la lettera del messaggio chiaro viene spostata di un numero fisso di posti, non necessariamente tre; un esempio è il codice che sempre secondo Svetonio era usato da Augusto, dove la A era sostituita dalla B, la B dalla C e così via. Poiché l'alfabeto internazionale è composto da 26 caratteri sono possibili 26 codici di Cesare diversi dei quali uno (quello che comporta uno spostamento di zero posizioni) darà un cifrato uguale al messaggio chiaro iniziale. In questo periodo la crittografia viene usata solo per celare i nomi propri, con la sostituzione di una lettera con quella successiva dell'alfabeto regolare (A con B, B con C ecc.), ma 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, di cui abbiamo la chiave ed una decrittazione non fedele.

Abbiamo altri esempi di cifre da Roma e da Firenze. 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 sempr e 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 è probabile che a distinguere le funzioni del gruppo venissero collocati 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..Leon Battista Alberti, nel suo Trattato della cifra, ha proposto un disco composto di due cerchi cifranti concentrici: uno esterno fisso con 24 caselle contenenti 20 lettere latine maiuscole (inclusa la Z, con U=V ed escluse H J K W Y) ed i numeri 1 2 3 4 per il testo chiaro; ed uno interno mobile, con le 24 lettere latine minuscole 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 minuscola (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). 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 é peraltro 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. Il bresciano G.B.Bellaso pubblicò tra il 1553 e il 1564 tre opere di crittologia contenenti alcuni cifrari polialfabetici di notevole interesse.Riportiamo a titolo di esempio il seguente: l'idea è quella di ricavare diversi alfabeti disordinati da una parola convenuta, versetto o motto (l'antenato diretto delle odierne password). Le lettere della parola segreta vengono scritte all'inizio a sinistra intercalate su due righe; le rimanenti lettere dell'alfabeto vengono scritte di seguito.
I O A B C D F G H L
V E M N P Q R S T XUn esempio dell'autore: data la parola chiave IOVE, il primo alfabeto derivato (alfabeto latino di 20 lettere posta V=U) è:
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, come nella tabella a lato. A questo punto si deve convenire un altro motto segreto, 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
I D V Q
I O A B C D F G H L
V E M N P Q R S T XO F E R
I O A B C D F G H L
X V E M N P Q R S TA G M S
I O A B C D F G H L
T X V E M N P Q R SB H N T
I O A B C D F G H L
S T X V E M N P Q RC L P X
I O A B C D F G H L
R S T X V E M N P QLe cifre del Bellaso sono più deboli di quella dell'Alberti perchè usano alfabeti invertiti e non del tutto arbitrari, mentre il cambio di lista non è segreto. Il Bellaso sembra comunque essere stato il primo crittologo moderno a proporre l'uso di parole chiave o versetti come chiavi di cifratura, un uso poi divenuto popolarissimo in crittografia, a partire dal cifrario di Vigenere. Blaise de Vigenere pubblicò nel 1586 un trattato di cifre nel quale proponeva tra gli altri un codice che ebbe grande fortuna e che è ricordato con il suo nome. Si tratta del più semplice codice di sostituzione polialfabetica, e proprio per la sua semplicità ha goduto per secoli di una fama immeritata, essendo molto più debole di altri codici polialfabetici precedenti come il disco dell'Alberti, o le cifre del Bellaso. Tale fortuna è durata fino a molti decenni dopo che era stato pubblicato un primo metodo di decrittazione: quello del Kasiski; e altri metodi di crittanalisi sono possibili. Dal cifrario di Vigenere deriva peraltro il cifrario di Vernam, considerato il cifrario teoricamente perfetto. Il metodo si può considerare una generalizzazione del codice di Cesare; invece di spostare sempre dello stesso numero di posti la lettera da cifrare, questa viene spostata di un numero di posti variabile, determinato in base ad una parola chiave, da concordarsi tra mittente e destinatario, e da scriversi sotto il messaggio, carattere per carattere; la parola è detta verme, per il motivo che, essendo in genere molto più corta del messaggio, deve essere ripetuta molte volte sotto questo, come nel seguente esempio:
Testo chiaro - ARRIVANOIRINFORZI
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
Verme        - VERMEVERMEVERMEVE
Testo cifrato - VVIUZVRFUVDRWAVUM
Il testo cifrato si ottiene spostando la lettera chiara di un numero fisso di caratteri, pari al numero ordinale della lettera corrispondente del verme. Di fatto si esegue una somma aritmetica tra l'ordinale del chiaro (A = 0, B = 1, C = 2 ...) e quello del verme; se si supera l'ultima lettera, la Z, si ricomincia dalla A, secondo la logica delle aritmetiche finite. Per semplificare questa operazione il Vigénère propose l'uso della seguente tavola quadrata, composta da alfabeti ordinati spostati. Volendo ad esempio cifrare la prima R di ARRIVANO si individuerà la colonna della R, quindi si scenderà lungo la colonna fino alla riga corrispondente della corrispondente lettera del verme (qui E); la lettera trovata all'incrocio è la lettera cifrata (qui V); la seconda R invece sarà cifrata con la lettera trovata sulla riga della R di VERME, e cioé con la I
Il vantaggio rispetto ai codici mono-alfabetici è evidente: la stessa lettera del testo chiaro non è sempre cifrata con la stessa lettera; e questo rende più difficile l'analisi statistica del testo cifrato e la decrittazione. Chi riceve il messaggio per decifrarlo deve semplicemente usare il metodo inverso (sottrarre invece che sommare); riferendosi all'esempio di sopra si avrà :
Testo cifrato - VVIUZVRFUVDRWAVUM
Verme        - VERMEVERMEVERMEVE
Testo chiaro - ARRIVANOIRINFORZI
si potrà decifrare la seconda V ricercandola nella riga della corrispondente lettera del verme, la E; la colonna dove si trova la V ha al primo posto in alto la lettera chiara, la R.
Il cifrario di Jefferson prende il nome dal suo inventore Thomas Jefferson (1743-1826), uno degli autori della Dichiarazione d'Indipendenza e Presidente degli USA nel 1801-1804. Il codice è di facile utilizzo e può ancor oggi essere considerato abbastanza sicuro. Stranamente però Jefferson non lo mise mai in uso e il suo cifrario fu dimenticato fino al 1922, quando fu riscoperto e utilizzato, fino agli anni '50, dall'esercito statunitense. E nel 1890 Etienne Bazeries un crittologo francese propose l'Indecifrabile, un cifrario del tutto equivalente a quello di Jefferson.
Il codice di Jefferson è un metodo di cifratura meccanico basato su 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, 20 nel cilindro di Bazeries). Sull'esterno 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 testo chiaro sia La missione in Polinesia è fallita e la chiave sia il numero 5, in una certa riga, non importa quale, si comporrà il messaggio in chiaro (omettendo naturalmente gli spazi); il crittogramma corrispondente andrà letto sulla quinta riga sopra quella che contiene il blocco in chiaro.
cifrato ->5Â GKRPXAFYEQYFUUAXYYEPSQYFTAELCIXVFCKZ
         4 HJQOWBHXDPXETRZYAZDORPXESZDMBHWUEBHX
         3 IBPNVCQWBOWDSQYZPACNQPWDRYCNZGVTDAGW
         2 JNOMUDLTHNVCRPXAIBBMPNVCQWBOYFUSAZFU
         1 KONLTHNVCABVNTHNVCALNVCLHXDPXETRZYDP
chiaro ->Â Â Â LAMISSIONEINPOLINESIAEFALLITAXXXXXXX
La decifratura avviene con il procedimento inverso; si compone il messaggio e si legge il testo chiaro nella quinta riga sotto.
In pratica la chiave di questo metodo è duplice: 1) un numero segreto compreso tra 1 e 25 e 2) la struttura del cilindro. Considerato che ogni ruota ha una permutazione di 26 caratteri e le permutazioni sono 26! (circa 4x1026) il numero di chiavi possibili è dell'ordine di 10 26xN, dove N è il numero di ruote, che è un numero enorme. Il livello di sicurezza è quindi molto elevato, ma con un grosso rischio: se il cilindro cade nelle mani del nemico, restano solo 25 chiavi possibili e il crittogramma può essere facilmente forzato come un cifrario di Cesare. Questo metodo di cifratura è il primo di una serie di macchine cifranti basate su cilindri e dischi ruotanti intorno ad un asse, la più celebre di tutte essendo la cosiddetta Macchina Enigma usata dai Tedeschi nella Seconda Guerra Mondiale. Il Playfair cipher fu inventato dal noto fisico Sir Charles Wheatstone(1802-1875), ma il nome di Playfair deriva da colui che ha divulgato nelle alte sfere governative questo metodo di cifratura.
Lyon Playfair barone di St.Andrews, mostrò per la prima volta questo sistema nel 1854 durante una cena organizzata da Lord Granville alla presenza di Lord Palmerston (1784-1865) allora ministro degli Esteri. La speranza di Playfair era quella di far utilizzare il Cipher durante la guerra di Crimea ma il sistema fu effettivamente utilizzato dall'esercito britannico solamente a partire dalla guerra Boera. Il Playfair Cipher è una forma di cifrario poligrafico composto da bigrammi. Il Cipher è ritenuto essere il primo metodo di cifratura a bigrammi. Si usa una matrice di 25 lettere che viene riempita nelle prime caselle con la parola chiave, abolendo le eventuali lettere ripetute, ed è completata con le rimanenti lettere nel loro ordine alfabetico. Si omette la W che, se necessario, potrà essere cifrata come una doppia V. Così, con la chiave computer, si otterrà la tabella a lato.
C
O
M
P
U
T
E
R
A
B
D
F
G
H
I
J
K
L
N
Q
S
V
X
Y
Z
Combinato così il quadrato alfabetico di 25 caselle, La cifratura si farà tenendo conto delle seguenti regole:
- Il testo chiaro deve essere diviso in bigrammi di due lettere consecutive.
- Le due lettere si cercano sul quadrato e si sostituiscono con le altre secondo queste altre regole:
- se le due lettere chiare si trovano su una stessa riga, si prendono le due lettere che le seguono a destra; se una delle due lettere chiare si trova sulla quinta colonna a destra, si prenderà la prima lettera a sinistra della stessa linea
- se le due lettere chiare sono sulla stessa colonna, si prendono le due lettere sottostanti; se una lettera è nell'ultima linea, si prenderà la lettera che sta nella prima linea della stessa colonna;
- se le due lettere sono in colonne e linee diverse, si prendono le due che costituiscono un rettangolo con esse, cominciando da quella che si trova in linea con la prima lettera del bigramma chiaro;
- qualora il bigramma chiaro presenti due lettere uguali si cercherà di eliminare questo raddoppio, oppure di romperlo inserendo una lettera rara (k, w, x, y).
Prendendo la frase Inviare subito nuove truppe si otterrà la seguente successione di bigrammi (si noti che il raddoppio della lettera -p- è stato spezzato inserendo fra le due lettere la -y-):
IN VI AR ES UB IT ON UO VE TR UP YP E
Quindi, seguendo le regole succitate, il messaggio cifrato risultante sarà il seguente:
HQ ZF AB TK BI DB PK CM OF EA CU AY E
Questa cifra è abbastanza buona e comoda, presenta però un difetto: dato il modo di formazione del quadrato alfabetico, le lettere più frequenti della lingua si trovano sulle prime due linee, mentre quelle rare si trovano normalmente nell'ultima linea. Questo consente, in molti casi, di risalire al quadrato molto velocemente e quindi rende il messaggio facilmente decrittabile. Il cifrario bifido di Delastelle è un cifrario poligrafico basato sulla matrice 5x5 usata per la prima volta nella scacchiera di Polibio e utilizzata anche dal Playfair Cipher e dalla cifra campale germanica.
Il metodo è dovuto a Félix-Marie Delastelle uno tra i massimi crittologi francesi del XIX secolo.
Il metodo si articola in tre passi:
- Il messaggio chiaro viene spezzato in blocchi di cinque caratteri ciascuno; se l'ultimo blocco non è esattamente di cinque, gli ultimi posti sono riempiti di X.
- Ogni lettera del blocco viene cifrata con due cifre e cioè con l'indice di riga e l'indice di colonna, che vengono scritte in verticale sotto la lettera chiara.
- Le cifre vengono ora riscritte in orizzontale riga dopo riga ottenendo un messaggio con un numero di cifre doppio dell'originale.
- A questo punto ogni coppia di numeri viene ritrasformata in lettera sempre secondo la matrice. Ne risulta il messaggio cifrato da trasmettere.
La matrice può essere quella semplice con le lettere dell'alfabeto ordinate (senza la W che può cifrarsi con una doppia V), oppure può essere ottenuta con una parola chiave come nel cifrario di Playfair. Il Delastelle propose anche un cifrario trifido, che fa uso di una matrice tridimensionale 3x3x3, con 27 celle (ne avanza dunque una che può servire per lo spazio o per un carattere di controllo).
Come esempio si prenda la matrice ottenuta con la parola chiave COMPUTER, e si voglia cifrare il messaggio
URGE INVIO RINFORZI
che viene così scomposto e cifrato
URGEI-NVIOR-INFOR-ZIXXX
12323 45312 34312 53555
53325 42523 54223 55333
1
2
3
4
5
1
C
O
M
P
U
2
T
E
R
A
B
3
D
F
G
H
I
4
J
K
L
N
Q
5
S
V
X
Y
Z
Il messaggio in cifre viene ora raggruppato a due a due e riconvertito in lettere, ottenendo così il messaggio cifrato:
12 32 35 33 25 45 31 24 25 23 34 31 25 42 23 53 55 55 53 33
OÂ FÂ IÂ GÂ BÂ QÂ DÂ AÂ BÂ RÂ HÂ DÂ BÂ KÂ RÂ XÂ ZÂ ZÂ XÂ G
ScriviCoda('../', 'C', 'L.Sacco - Manuale di crittografia
A.Sgarro - Codici segreti')
La cifra Pollux fa uso del codice Morse che, come è noto, prevede solo tre simboli: punto, linea e spazio. Ognuno di questi simboli viene cifrato con un sistema di sostituzione con omofoni. Usando le dieci cifre come omofoni la cifra si riduce a una lista cifrante e a una lista decifrante come per esempio quelle riportate a lato.Per esempio usando la lista a lato la frase "Inviare provviste" si cifra:
chiaro   I N  V I A  R E  P   R  O  V   V   I S T E
Morse   ..+-.+...-+..+.-+.-.+.+.--.+.-.+---+...-+...-+..+...+-+.
cifrato 23619038845895946942035277162480171593346882709962325103
Lista decifrante
A
.
N
.
B
-
O
-
C
+
P
-
D
+
Q
.
E
-
R
+
F
.
S
.
G
.
T
-
H
-
U
+
I
+
V
+
J
+
W
.
K
-
X
-
L
-
Y
.
M
.
Z
+
Lista cifrante
Punto
.
A,F,G,M,N,Q,S,W,Y
Linea
-
B,E,H,K,L,O,P,T,X
Spazio
+
C,D,I,J,R,U,V,Z
Usando le dieci cifre il numero di omofoni è limitato e la sicurezza del sistema è modesta. Una sicurezza maggiore si ha usando le lettere dell'alfabeto come omofoni.
Anche qui occorrono due liste una cifrante e una decifrante come nell'esempio a sinistra.
Volendo cifrare il medesimo messaggio di prima si avrebbe:
chiaro   I N  V I A  R E  P  R  O  V   V   I S T E
Morse   ..+-.+...-+..+.-+.-.+.+.--.+.-.+---+...-+...-+..+...+-+.
cifrato YNZOSJQWGBCQSUYPCAKMDADWEBTRFOYIHELJGFSHRAMNXUWGKFNMVLIQ
Un evidente difetto della cifra Pollux è che il messaggio cifrato viene ad essere tre quattro volte più lungo dell'originale; per la sicurezza della cifra è inoltre importante che al momento della cifratura gli omofoni siano distribuiti in modo il più possibile casuale.
Un incremento della sicurezza si può avere applicando una trasposizione al messaggio così cifrato.
ScriviCoda('../', 'C', 'L.Sacco - Manuale di crittografia')
Dalla metà del XIX secolo l'uso della crittografia assume un ruolo determinante nella trasmissione di messaggi di carattere logistico e strategico. Con l'invenzione della radio i messaggi sono trasmessi anche via etere e quindi esposti molto più di prima all'intercettazione da parte del nemico; il ricorso alla crittografia diventa inevitabile, come la necessità di cifrari sempre più sofisticati. Una necessità che è ignorata in Italia dove si dovrà attendere l'entrata in Guerra nel 1915 per rendersi conto del ritardo accumulato in campo crittografico, e porvi rimedio.Tra i metodi usati nella Grande Guerra si possono ricordare:
- Playfair cipher (1854)
- Cifra campale germanica (1918)
- Il cifrario bifido di Delastelle
ScriviCoda('../', 'DB,MS,LP', '')

Ricostruzione dell'originale esposta al
Museo crittologico di Washington.La I guerra mondiale è la prima grande guerra dopo l'invenzione del telefono e della radio; questi mezzi di comunicazione se da una parte consentono una velocità di trasmissione dei messaggi praticamente istantanea, dall'altra sono irrimediabilmente esposti all'intercettazione da parte del nemico, e questo vale soprattutto per le comunicazioni radio. Catturare il corriere che recava un messaggio importante era impresa difficile e occasionale, intercettare una trasmissione radio, una volta installata una stazione di intercettazione è un gioco da ragazzi.
I primi a rendersi conto di questa nuova situazione furono i Francesi che allo scoppio della guerra disponevano già di un ben organizzato ed efficiente ufficio cifra presso il gran quartier generale dell'esercito. E sin dall'ottobre 1914 i crittanalisti francesi guidati dal Col. Cartier e dal Cap.Olivari erano in grado di decrittare i messaggi radio tedeschi. Ma il migliore crittanalista francese era un professore di paleontologia Georges Painvin che riuscì a decrittare la cifra campale germanica nel 1918.
Altrettanto ben preparati gli Austriaci: già nell'agosto 1914 i crittanalisti asburgici riuscivano a decrittare i radiomessaggi russi che per la verità erano solo in parte cifrati; anche quando i russi cominciarono a cifrare i loro messaggi radio il cap. Pokorny riuscì nel giro di pochi giorni a decrittarli nuovamente.
Negli altri paesi veri e propri uffici cifra furono organizzati solo dopo l'entrata in guerra.
Assolutamente impreparati erano soprattutto i Russi che all'inizio della guerra non si preoccupavano neanche di cifrare i loro messaggi radio, come avvenne durante la battaglia di Tannenberg nell'agosto 1914 quando persino gli ordini operativi venivano trasmessi in chiaro; un formidabile regalo ai Tedeschi che intercettavano tutto.
I Tedeschi comunque riuscirono a decrittare i messaggi russi anche dopo che questi ultimi iniziarono a cifrare le loro comunicazioni radio; qualche successo lo ottennero anche nei confronti dei Francesi; il principale crittanalista tedesco fu il prof. Deubner.
Capo dell'ufficio crittologico della Marina Britannica era Sir Alfred Ewing che organizzò la cosiddetta Room 40 (dal numero della sua stanza negli uffici dell'ammiragliato) dove si decrittavano migliaia di radiomessaggi della marina tedesca. Il più noto di questi messaggi fu il "telegramma Zimmermann" con il quale i Tedeschi offrivano un'alleanza ai Messicani in chiave anti-USA. Letto al Congresso degli Stati Uniti questo messaggio fu uno dei fattori che spinsero gli USA a entrare in guerra nel 1917.
Negli USA non esistendo un Ufficio Cifra federale fu promosso a tale rango il reparto crittologico dei laboratori Riverbanks di Chicago una fondazione privata di ricerca nella quale lavorava anche William Friedmann destinato a divenire il massimo crittologo e crittanalista USA.
Del tutto impreparati in campo crittologico erano gli Italiani che dovettero in un primo tempo appoggiarsi all'ufficio cifra francese; solo in un secondo tempo fu costituito un ufficio cifra autonomo sotto la guida di Luigi Sacco. [si veda in proposito la pagina La crittografia italiana nella Grande Guerra]
In definitiva fu proprio la Grande Guerra a far scoprire a molti Stati l'importanza della Crittografia, il cui ruolo diventerà assolutamente fondamentale nella II guerra mondiale.
ScriviCoda('../', 'C', 'L.Sacco - Manuale di Crittografia 1947, pag. 306')
Addizione di caratteri con il codice Baudot
chiaro
c A    T    T    E    N    Z    I    O    N    E
11000 00001 00001 10000 00110 10001 01100 00011 00110 10000
verme
v W    I    A    P    F    I    L    K    M    S
11001 01100 11000 01101 10110 01100 01001 11110 00111 10100
cifrato
c XOR v00001 01101 11001 11101 10000 11101 00101 11101 00001 00100
 T    P    W    Q    E    Q    H    Q    T  {sp}Il cifrario di Vigenere ha il suo tallone d'Achille nel fatto di essere un insieme di cifrari di Cesare intercalati a distanza fissa, cosa che ne rende possibile e anzi molto facile la crittanalisi, tanto più se la chiave è breve.
Ben diversa sarebbe però la situazione se la chiave avesse lunghezza infinita o, che in fondo è lo stesso, fosse lunga come il testo chiaro (o meglio come la somma di tutti i testi chiari).
È questa l'idea proposta da G.S.Vernam nel 1926 per il cifrario che porta il suo nome; viene generata una chiave del tutto casuale, e dunque imprevedibile, lunga come il testo; a questo punto il chiaro e la chiave vengono "sommati" proprio come nel cifrario di Vigenere. L'unica differenza è che nel Vernam si sommano non tanto gli ordinali delle lettere da cifrare ma i singoli bit che codificano la lettera nei codici usati nelle telecomunicazioni (allora il codice Baudot, oggi il codice ASCII) con l'operazione logica XOR. Questa è simile all'addizione, ma ha il vantaggio di essere reversibile, e quindi verrà usata anche per decifrare.
In tal modo la debolezza del Vigenere è superata e anzi Claude Shannon, il padre della Teoria dell'Informazione, ha dimostrato nel 1949 che ogni cifrario "teoricamente sicuro" è un cifrario di Vernam (e viceversa). Infatti se la chiave è totalmente casuale e lunga come il testo allora il testo cifrato non contiene alcuna informazione sul testo chiaro, ed è del tutto al sicuro dagli attacchi della crittanalisi statistica.
Macchina enigma


Per avere una sicurezza assoluta non si dovrebbe mai riutilizzare la stessa chiave; se si utilizza più volte la stessa chiave infatti questa torna ad essere più breve del messaggio, o meglio della somma di tutti i messaggi e il cifrario non è più perfetto. Per questo motivo questo tipo di cifrario viene detto a chiave non riutilizzabile.
Perché allora non usiamo tutti questo cifrario? Il problema è che la chiave lunga come il testo deve essere preventivamente comunicata al destinatario in modo sicuro e ... qui il gatto si morde la coda, visto che non sempre è disponibile un canale sicuro di comunicazione.
I due corrispondenti dovrebbero incontrarsi periodicamente in luogo sicuro e generare una sequenza casuale lunghissima, sufficiente per un gran numero di messaggi, da utilizzare un po' alla volta. Una volta esaurita la chiave dovranno incontrarsi di nuovo, rigenerare la chiave etc.etc.
Per semplificare le cose si potrebbe pensare di generare la chiave in modo pseudo-casuale, secondo una qualche regola nota e riproducibile dal destinatario; questa idea diede luogo nel periodo tra le due guerre mondiali a una generazione di macchine cifranti, tra le quali la macchina Lorenz usata dai tedeschi nella II guerra mondiale. Ma così il cifrario non è più assolutamente sicuro, perché la chiave non è più realmente lunga come il testo, la vera chiave è la regola generatrice!. Tanto è vero che la macchina Lorenz fu forzata dagli inglesi sin dal 1941.
Nonostanti queste difficoltà il cifrario di Vernam sembra sia stato usato effettivamente negli anni della guerra fredda dai servizi segreti dell'Est e per il telefono rosso tra Washington e Mosca. Un cifrario di Vernam era anche quello trovato addosso al Che Guevara dopo la sua uccisione nel 1967. Nella prima metà del XX secolo cominciarono a diffondersi macchine cifranti a rotori, sul modello del cilindro di Jefferson reinventato da Beziers.
La più celebre di queste macchine è l'Enigma inventata nel 1918 dal tedesco Arthur Scherbius e adottata dall'esercito e dalla marina tedesca fino alla seconda guerra mondiale.
L'Enigma è una macchina simmetrica, nel senso che se la lettera A è cifrata con la G in una certa posizione del testo allora nella stessa posizione la G sarà cifrata con la A. La stessa macchina serve quindi per cifrare e decifrare; una grossa comodità operativa che è però anche una debolezza crittografica.
La macchina ha al suo interno un certo numero di rotori (nella prima versione erano 3) collegati elettricamente e liberi di ruotare (vedi la struttura matematica dell'Enigma); quando l'operatore preme un tasto p.es. la A un segnale elettrico passa da rotore a rotore fino al rotore finale detto il riflettore e quindi torna indietro fino a mostrare una lettera illuminata che è il carattere cifrato. Non esiste possibilità di stampa, dunque l'operatore deve copiare a mano, carattere per carattere il messaggio cifrato da trasmettere.
La chiave dell'Enigma è la disposizione iniziale dei rotori; questa chiave veniva cambiata ogni 24 ore secondo una regola prefissata; in definitiva la vera chiave segreta era questa regola. Anche i collegamenti interni dei rotori sono segreti.
Inoltre i tre (o più) rotori possono essere scambiati tra di loro, e quindi vi sono n! (3! = 6 nella Enigma originale) disposizioni possibili, cosa che aumenta il numero di posizioni iniziali possibili. Era anche consigliato di tenere una scorta di rotori con cablaggi diversi, in modo da poter aumentare ancora il numero di combinazioni possibili.
Il funzionamento della Enigma originale (tre rotori) può essere simulato usando la nostra macchina Enigma virtuale realizzata in Javascript.
I tedeschi erano convinti che l'Enigma fosse inattaccabile, ma questa fiducia era assai mal riposta. Già nei primi anni '30 un gruppo di matematici polacchi guidato da Marian Rejewski era riuscito a ricostruire la struttura dei rotori e a decrittarne i messaggi. E il servizio crittografico inglese al quale partecipava anche il famoso matematico Alan Turing riuscì a sua volta a forzare l'Enigma sin dall'inizio della guerra, sfruttando le debolezze intrinseche di questa macchina e alcune ingenuità dei cifratori tedeschi.
Forse in nessun altra guerra come nella II guerra mondiale la Crittografia ha svolto un ruolo di primo piano.
Gli storici potranno discutere a lungo su quanto sia stata importante per la vittora finale la superiorità alleata in questo campo; non c'è comunque dubbio che questa superiorità sia stata schiacciante fin dai primi anni di guerra.
l'Ammiraglio Isoroku Yamamoto

Foto tratta dal Naval Historical Center
Il caso più noto è certo quello della macchina Enigma, usata dai tedeschi e considerata a torto inattaccabile; solo molti anni dopo la fine della guerra si seppe che in effetti già nel 1932, prima ancora che Hitler arrivasse al potere, l'ufficio cifra polacco aveva trovato il modo di forzare l'Enigma. E durante la guerra gli inglesi del progetto ULTRA continuarono a forzare sistematicamente i messaggi cifrati con l'Enigma e dal 1941 anche quelli cifrati con la più sofisticata macchina Lorenz. Quante vittorie alleate avevano alla base questa superiorità crittografica? Difficile dare una risposta precisa, più semplice citare un paio di casi ben noti:
- Battaglia di capo Matapan: la disfatta della flotta italiana (marzo 1941) pare abbia avuto origine dal fatto che gli inglesi avevano decrittato alcuni messaggi cifrati della marina tedesca che fornivano l'esatta posizione della flotta italiana.
- Sbarco in Normandia: Eisenhower e Montgomery erano in grado di leggere tutti i messaggi degli alti comandi tedeschi, che usavano la macchina Lorenz; ebbero così conferma che Hitler aveva creduto alla falsa notizia di un imminente sbarco alleato nei pressi di Calais, e aveva concentrato le sue migliori truppe in quella zona. Poterono quindi ordinare lo sbarco in Normandia sicuri che avrebbe incontrato ben poca resistenza.
Anche sul fronte del Pacifico gli Americani sin dal 1940, un anno prima di Pearl Harbour, avevano realizzato Magic una macchina in grado di decrittare i messaggi giapponesi cifrati con la macchina Purple. Ricordiamo due episodi certi e uno dubbio:
- Battaglia delle Midway: l'ammiraglio Isoroku Yamamoto, comandante supremo della flotta giapponese, nel maggio 1942 aveva preparato un piano per attaccare a sorpresa le isole Midway a est delle Haway, determinato com'era a infliggere una serie di duri colpi iniziali agli USA prima che la superiorità economica-industriale americana avesse il sopravvento. Ma grazie a Magic gli Americani intercettarono i piani di Yamamoto e l'Ammiraglio Nimitz, comandante della flotta USA, fu in grado di preparare la battaglia conoscendo già fin nei dettagli i piani del nemico; fece inoltre trasmettere falsi piani americani usando un cifrario che sapeva essere stato forzato dai giapponesi. L'effetto sorpresa si trasformò in un boomerang e la vittoria USA alle Midway fu quindi in buona parte dovuta alla superiorità crittologica.
- Morte dell'Amm. Yamamoto: il 14 Apr 1943 fu decrittato un messaggio che diceva che l'ammiraglio Yamamoto avrebbe visitato l'isola di Bougainville il 18 e specificava persino le ore di partenza e di arrivo e il tipo di aerei usati. L'ammiraglio Nimitz subito informato, dopo aver sentito il Presidente Roosevelt, organizzò una squadra di aerei P-38 che il 18 puntualmente intercettò e abbattè l'aereo di Yamamoto; i giapponesi persero così il loro uomo più prezioso. La morte di Yamamoto fu peraltro presentata come dovuta a un incidente e solo dopo molti anni furono rivelati i dettagli dell'episodio.
- Pearl Harbour: Gore Vidal, il noto scrittore americano, sostiene, e con lui diversi storici, che gli Americani, grazie a Magic, sapevano in anticipo anche dell'attacco di Pearl Harbour e decisero di non impedirlo; avevano infatti bisogno di un motivo forte per convincere la riluttante opinione pubblica americana della necessità di entrare in guerra e quell'attacco a tradimento dei Giapponesi fu ideale per questo scopo. Una teoria più prudente sostiene che gli Americani sapevano che il Giappone stava per attaccare, ma non sapevano dove. Certo è che al momento dell'attacco nella baia di Pearl Harbour non c'era nemmeno una portaerei e in definitiva furono affondate solo alcune navi vecchie e di importanza non fondamentale per la guerra.
E alla fine della guerra il gen. Marshall ammise che in molti casi di importanza "non vitale" gli alleati dovettero fingere di non conoscere i messaggi cifrati nemici, anche al costo di perdite umane, tale era il timore che tedeschi e giapponesi si accorgessero che i loro cifrari venivano sistematicamente decrittati.
Anche l'attacco di Pearl Harbour va dunque annoverato tra questi casi? Se è così, è però ben difficile che la cosa possa mai essere confermata ufficialmente, considerato che in quell'occasione morirono circa 3000 cittadini americani.
Per quanto riguarda l'Italia non si ripeterono i successi della Grande Guerra; il gen.Sacco protagonista di quei successi, aveva per la verità progettato una macchina cifrante piuttosto complessa, un prototipo di questa era stato costruito dalle officine Nistri, ma per motivi non ben chiariti la macchina andò distrutta e non venne quindi mai usata; un episodio che ben si inserisce nell'andamento disastroso della guerra per l'Italia.
Un successo sia pur temporaneo e di natura più spionistica che crittanalitica, lo si ebbe nel 1941 quando il servizio segreto italiano riuscì a trafugare dall'ambasciata americana a Roma il cifrario "Black". Grazie a questa impresa italiani e tedeschi riuscirono per qualche tempo a decrittare i messaggi americani nel Nord Africa; e sembra che molti dei successi di Rommel fossero dovuti a queste intercettazioni; quando nel 1942 gli alleati scoprirono che i loro messaggi venivano forzati, il cifrario "Black" fu abbandonato e sostituito con la ben più sicura macchina M-138. E, che sia stato un caso o no, finirono anche i successi di Rommel in Africa.
Il D.E.S. (Data Encryption Standard) è un cifrario composto che prevede 16 cifrature successive (trasposizioni e sostituzioni di bit). Presentato nel 1975 dall'IBM allora leader incontrastato del mondo dell'Informatica è tuttora il cifrario a chiave segreta più usato negli ambienti informatici. Certificato per la sua affidabilità da NIST ogni 5 anni, fino al 1993, il D.E.S. è divenuto il sistema ufficiale di cifratura del Governo degli Stati Uniti già dal 1977. 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 trasposizione inversa di quella iniziale. Viene definito un sistema simmetrico perchè sia l'emittente del messaggio, sia il ricevente devono conoscere la stessa chiave segreta. In un ambiente di poliutenza, si era parlato di una diffusione della chiave, fino a renderla di pubblico dominio; ma poi ci si è chiesti se ne valesse davvero la pena. Se usato singolarmente, il D.E.S. può essere un ottimo sistema per inserire files in un disco fisso, nella forma cifrata.
La sicurezza del DES
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 non più fuori della portata dei moderni supercomputer. E' stata avanzata perfino l'ipotesi che un nemico sufficientemente ricco e potente potrebbe far costruire un computer capace di forzare il D.E.S. con una brutale ricerca esaustiva dello spazio chiave (che richiederebbe 3,5 ore). Tale computer è stato estimato per 1 milione di dollari; sono stati fatti tanti progetti ed altrettante polemiche, ma il computer non è ancora stato realizzato.
Gli studiosi Biham e Shamir idearono una nuova tecnica di forzatura detta crittanalisi differenziale Tale tecnica richiederebbe la cifratura di 247 testi in chiaro scelti in base a specifici criteri, ed il confronto dei risultati.
Più recentemente Matsui ha sviluppato un'altro tipo di attacco, conosciuto come crittanalisi lineare. Secondo Matsui la chiave del D.E.S. può essere riconosciuta tramite l'analisi di 243 testi in chiaro noti. Il suo primo esperimento ebbe successo, ma fu archiviato perchè richiese 9735 stazioni di lavoro operanti per 50 giorni e 12 ore, un tempo troppo lungo, considerando che la chiave del D.E.S. può essere prequentemente cambiata proprio per impedire forzature. Il DES, quindi è da ritenersi ancora sicuro, ed ha il vantaggio della velocità di cifratura che è molto superiore a quella del suo principale rivale il codice RSA.
Inoltre, in risposta ai numerosi tentativi di forzatura è stato elaborato il D.E.S. Triplo, uno speciale tipo di D.E.S. a tre livelli di cifratura. ScriviCoda('../', 'AC', '')
RSA è un cifrario a chiave pubblica che permette di cifrare un messaggio attraverso un procedimento che sfrutta le proprietà dei numeri primi- Si determini la prima chiave n, prodotto di p e q, due numeri primi molto elevati, tali che la fattorizzazione di n sia difficile o perlomeno n risulti una funzione unidirezionale rispetto al tempo d'uso del codice. N viene infatti resa pubblica.
- Esempio: n=pq=5*7=35
- Si calcoli dunque il valore della funzione di Eulero di n: b=f(n)=(p-1)*(q-1) il cui valore rimane segreto; si scelga ancora un intero d tale che d e f(n) siano primi tra loro, infine il suo inverso h (nell'aritmetica finita di ordine f(n)), che è il più piccolo x per cui (dx-1)/f(n) é un intero, il numero h é la seconda chiave, e viene reso pubblico, mentre d resta segreto e sarà la chiave per decifrare.
- Esempio:
b = f(35)=35(1-1/5)*(1-1/7)=24
d = 7 (primo con 24)
k = (7x - 1)/24
7x - 1 = k*24
7x = k*24 + 1
x = (k*24 + 1)/7
sostituisco a k 2 per far risultare x un numero intero ed ottengo x=7, dunque h=x=7
- o anche calcolando l'inverso con una seconda funzione di Eulero: (metodo impraticabile per numeri elevati)
b = f(35)=24
d = 7
k = f(24) = 24(1-1/2)(1-1/3) = 8
h = 7k-1 MOD 24 = 77 MOD 24 = 7
- Per trasmettere il messaggio lo si traduce inizialmente in un vettore di numeri (in precedenza ci si è accordati riguardo alla modalità di "traduzione"). Stabilita dunque la sequenza numerica m1, m2....mr si trasmettono gli m uno alla volta. Il crittogramma c corrispondente a m è allora:
c=mh mod n.
- Esempio:
prendiamo m=3
c=mh mod n=37 mod 35=2187 mod 35=17
- La chiave di decifrazione è costituita dall'intero d, segreto, che permette di recuperare m grazie alla formula m = cd mod n; infatti, in modulo f(n), d e h sono inversi, e quindi, in modulo n, c = mh, cd = m hd = m kf(n)+1 = (m f(n))km e, per il teorema di Fermat-Eulero, = 1km = m.
- Esempio:
- m = cd mod n=177mod 35=3 (provare per credere!)
In sintesi: per cifrare un messaggio 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.
Utente
Parte pubblica
Parte segreta
Ricevente
n
h
p, q [n = p*q]
b=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 nei suoi fattori primi 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.
Storia dei codici
Collegamenti utili gratuiti
Disclaimer : gli obiettivi di questo sito sono il progresso delle scienze e delle arti utili in quanto pensiamo che siano molto importanti per il nostro paese i benefici sociali e culturali della libera diffusione di informazioni utili. Tutte le informazioni e le immagini contenute in questo sito vengono qui utilizzate esclusivamente a scopi didattici, conoscitivi e divulgativi. Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione). In questo sito abbiamo fatto ogni sforzo per garantire l'accuratezza dei tools, calcolatori e delle informazioni, non possiamo dare una garanzia o essere ritenuti responsabili per eventuali errori che sono stati fatti, i testi contenuti nel sito sono di proprietà dei rispettivi autori. Se trovate un errore su questo sito o se trovate un testo o tool che possa violare le leggi vigenti in materia di diritti di autore, comunicatecelo via e-mail e noi provvederemo tempestivamente a rimuoverlo.