“L’ingegno umano
non riuscirà mai a
concepire un
cifrario di cui
l’ingegno stesso
non possa
scoprire la
chiave”
Edgard Allan Poe
STORIA DELLA CRITTOGRAFIA
Presentata da:
Attianese Caterina
D’Incecco Paolo
Zotti Rosanna
GENESI DELLA CRITTOGRAFIA
La crittografia (dal greco Kryptòs, che significa "nascosto"
e gràphein che significa "scrittura") è la scienza che si
occupa dello studio delle scritture “segrete”.
E’ nata come branca della matematica e dell’informatica
grazie all’utilizzo di tecniche di teoria dei numeri e di teoria
dell’informazione.
E’ entrata a far parte della nostra vita quotidiana per la
protezione delle informazioni digitali, dalle smart card, ai
cellulari, alle trasmissioni via Internet, alle tv satellitari,
etc.
GENESI DELLA CRITTOGRAFIA
1900 A.C.
La storia della crittografia è antica quasi quanto la
scrittura stessa.
Nella città di Menet Khufu (Nilo), sono state rilevate
manomissioni volontarie in un testo ritrovato nella
Tomba del faraone Knumotete II datato intorno al
1900 A.C.
GENESI DELLA CRITTOGRAFIA
Anche nelle scritture cuneiformi sviluppate in
Mesopotamia sono stati ritrovati esempi di
crittografia.
Sia presso gli Assiri sia presso i Babilonesi, le due
grosse civiltà sorte sulle sponde del Tigri, è stata
rinvenuta l'usanza di sostituire le parti terminali
delle parole con elementi corti e stereotipati detti
colofoni.
In Iraq, nel periodo finale delle scritture cuneiformi,
è presente per la prima volta la sostituzione di nomi
con numeri.
CRITTOGRAFIA ANTICA:
400 a.C
SCITALA LACEDEMONICA
Plutarco descrive la scitala lacedemonica
come un codice di cifratura in uso dai
tempi di Licurgo (IX sec a.C.), circa
tremila anni fa. Si trattava di un
dispositivo di cifratura costituito da un
bastone e da un nastro di cuoio avvolto a
spirale cilindrica, su cui il messaggio veniva
scritto per colonne.
Sul nastro srotolato le lettere risultavano
trasposte in modo tale che solo l’adozione
di un bastone identico a quello
originariamente usato per la scrittura del
messaggio consentiva di ricomporre il
testo.
CRITTOGRAFIA ANTICA:
360-390 A.C.
Enea il Tattico, generale della Lega
Arcadica, scrive il primo trattato sui
cifrari. Nel XXI capitolo, che tratta
appunto di messaggi segreti, viene
descritto un disco sulla zona esterna del
quale erano contenuti 24 fori,
contrassegnati dalle lettere disposte in
ordine alfabetico. Un filo, partendo da
un foro centrale, si avvolgeva passando
per i fori delle successive lettere del
testo. Il destinatario del messaggio
svolgeva il filo dal disco segnando le
lettere da esso indicate. Il testo si
doveva poi leggere a rovescio.
CRITTOGRAFIA ANTICA:
L’ATBASH ebraico
E’ una tecnica di trasformazione
ad alfabeto capovolto:
Il primo carattere dell'alfabeto
viene sostituito con l'ultimo, il
secondo con il penultimo e così
via. Infatti la prima lettera
dell'alfabeto ebraico (Aleph)
viene cifrata con l'ultima (Taw),
la seconda (Beth) viene cifrata
con la penultima (Shin);
da queste quattro lettere è
derivato il nome di Atbash (A
con T, B con SH) per questo
codice.
CRITTOGRAFIA ANTICA:
L’ATBASH ebraico
L'Atbash viene utilizzato nella Bibbia per cifrare il nome
della città di Babilonia.
Geremia, 25:
“… il re di Sesac”; si tratta invece del re di Babel.
CRITTOGRAFIA ANTICA:
L’ATBASH ebraico
Usando l' attuale alfabeto ordinario, l' Atbash è espresso
dalla seguente tabella di cifratura:
Quindi il messaggio “Il Libro di Geremia” diviene :
Messaggio:
I l
L i b r o d i G e r e m i a
TestoCifrato
R o O r y i l
w r T v i v n
r z
CRITTOGRAFIA ANTICA:
L’ Albam ebraico
L'Albam richiede che l'alfabeto venga diviso in due
parti e che ogni lettera venga sostituita con la
corrispondente dell'altra metà.
A
B
C
D
E
F
G
H
I
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
CRITTOGRAFIA ANTICA:
L’ Atbah ebraico
L'Atbah, richiede che la sostituzione soddisfi una
relazione di tipo numerico. Le prime nove lettere
dell'alfabeto vengono sostituite in modo tale che la
somma della lettera da sostituire e della lettera
sostituente risulti uguale a dieci. Per le restanti
lettere dell'alfabeto deve valere una regola simile
con somma pari a 28 in decimale. In sintesi:
per le prime nove:
lettera da sostituire + lettera sostituente = 10
per le rimanenti:
lettera da sostituire + lettera sostituente = 28
CRITTOGRAFIA ANTICA:
200-118 A.C.
La scacchiera di Polibio
Lo storico greco Polibio nelle sue Storie (Libro
X) descrive un interessante metodo di cifratura.
L'idea è quella di cifrare una lettera con una
coppia di numeri compresi tra 1 e 5, in base ad
una matrice 5x5, contenente le lettere
dell'alfabeto. Ogni lettera viene rappresentata
da due numeri, guardando la riga e la colonna in
cui essa si trova.
CRITTOGRAFIA ANTICA:
200-118 A.C.
La scacchiera di Polibio
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 nella stessa casella,
in questo caso la k e la q. Si otterrà la seguente tabella:
CRITTOGRAFIA ANTICA:
200-118 A.C.
La scacchiera di Polibio
Ogni lettera può venire quindi rappresentata da due
numeri guardando la riga e la colonna in cui la lettera si
trova.
testo in chiaro: C A S A
testo cifrato: (1,3) (1,1) (4,3) (1,1)
CRITTOGRAFIA ANTICA:
200-118 A.C.
La scacchiera di Polibio
Polibio suggeriva di mandare tanti messaggeri quanti
erano i caratteri del messaggio. Questi portavano nella
mano sinistra un numero di torce pari all'indice di riga e
nella mano destra un numero pari all'indice di colonna.
Avremo così:
A (1,1) Ovvero una torcia accesa a sinistra ed
una a destra;
B (1,2) Una torcia a sinistra e due a destra;
Il metodo presentato non è un vero e proprio sistema di
cifratura, però può essere utilizzato come rafforzamento
di un altro sistema, specie disponendo le lettere
all’interno della scacchiera in ordine casuale.
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Cesare e Augusto
Scarse sono le notizie sulla crittografia romana.
Si sa solo che Giulio Cesare ed Augusto nelle loro
corrispondenze con i familiari usavano un alfabeto
spostato di pochi posti.
A fornircene informazioni è solo Svetonio.
È noto che altri sistemi, spesso molto originali, erano stati
usati anche in precedenza, ma questo di Cesare è forse il
primo a non essere occasionale: propone un metodo, un
sistema, che è ripetibile con chiavi diverse.
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Cesare
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.
Giulio Cesare
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Cesare
Nella tabella che segue vediamo la struttura del Cifrario
facendo riferimento all'odierno alfabeto internazionale:
Prendendo come esempio la frase
Auguri di buon compleanno
si otterrà il seguente messaggio cifrato:
Chiaro
Cifrato
auguridibuoncompleanno
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.
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Augusto
Si tratta di una notevole miglioria
rispetto al sistema inventato da
Giulio Cesare: invece di avere una
chiave di crittazione fissa,
(esempio A=D; B=E ecc.), nel
metodo di Augusto veniva usata
come chiave un testo qualsiasi.
Questo testo chiave, sommato al
testo da cifrare tramite somma
delle distanze da inizio alfabeto,
generava il testo cifrato.
Augusto
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Augusto
Supponiamo che:
Parola da cifrare sia “segreto”
Testo chiave sia “una rondine non fa primavera”
Per aiutare la comprensione dell’esempio utilizziamo
questa tabella di corrispondenza fra lettere e posizione
nell’alfabeto.
ABCDEFGHI J K L MN O P Q R S T U V WX Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Augusto
Vediamo come avviene la cifratura di “SEGRETO”
ABCDEFGHI J K L MN O P Q R S T U V WX Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Testo:
S
E
G R
E
T
O
Valore:
19
5
7 18
5 20 15
Chiave
U
N
A R
O
N
D
I
N
E
Valore
21 14
1 18 15 14
4
Somma
40 19
8 36 20 34 19
9 14
5
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Augusto
I valori eccedenti 26 non potrebbero essere utilizzati
per effettuare la corrispondenza valore/lettera. Il
sistema risolve il problema imponendo di iniziare il
conteggio di nuovo da inizio alfabeto. Questo sistema è
chiamato somma con modulo. In questo caso avremo la
trasformazione delle somma in questo modo:
Somma
40 19
8 36 20 34 19
Diventa
14 19
8 10 20
8 19
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Augusto
Il testo crittografato sarà quindi:
ABCDEFGHI J K L MN O P Q R S T U V WX Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Testo
S
E
14 19
G
R
E
T
8 10 20
O
8 19
Testo Cifrato
N
S
H J
T
H
S
CRITTOGRAFIA ANTICA:
V secolo D.C.
.
In India - Kama Sutra: nel V secolo D.C ., fra le 64 arti
che le donne dovevano conoscere, vi era la 45-esima
Mlecchita-vikalpa che consisteva nella capacità di
scrivere in maniera cifrata.
Una delle tecniche raccomandate consisteva
nell’accoppiare in modo casuale le lettere dell’alfabeto
e nel sostituire ciascuna lettera del testo con quella a
lei accoppiata
CRITTOGRAFIA MEDIOEVALE:
1363 – 1365
Pietro di Grazia
Il sistema usato dall'Arcivescovo di Napoli, Pietro di
Grazia, é quello in cui le lettere sono cifrate con
numeri o simboli speciali.
La corrispondenza tra lettere e simboli o numeri per
la sostituzione è fissata da una tabella.
Dagli inizi del XIV secolo, per depistare i tentativi di
analisi statistica delle frequenze, si iniziano ad usare
più segni per cifrare le vocali, dato che queste sono
molto ricorrenti in un testo. Successivamente tale
tecnica viene estesa anche alle consonanti più
ricorrenti.
Inoltre
alcune
parole,
utilizzate
frequentemente, (Papa, et, con, quo, etc.) sono
sostituite con un solo simbolo.
CRITTOGRAFIA MEDIOEVALE:
1363 – 1365
Pietro di Grazia
Un primo esempio di questa cifratura è la lettera di
Michele Steno scritta nel 1411.
CRITTOGRAFIA MEDIOEVALE:
1378 - Nomenclatore di Lavinde
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.
Il nomenclatore di Gabriele Lavinde, sfrutta una
lista di codici, un alfabeto di sostituzione, ed una
lista di parole nulle.
CRITTOGRAFIA MEDIOEVALE:
1378 - Nomenclatore di Lavinde
La lista dei codici è un elenco di corrispondenze tra
parole, come ad esempio:
Laboratorio = Mare
Portare = Cavallo
Progetto = Dondolo
Segreto = Vento
L'alfabeto di sostituzione è una corrispondenza tra
caratteri, come ad esempio:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCEHFADGZIPJOLNYWMXKTQURSV
CRITTOGRAFIA MEDIOEVALE:
1378 - Nomenclatore di Lavinde
La lista di parole nulle viene usata come disturbo per la
crittoanalisi ed è composta da parole che devono
semplicemente essere scartate dal destinatario che si
appresta alla decifratura.
Con le impostazioni di esempio
Laboratorio = Mare
Portare = Cavallo
Progetto = Dondolo
Segreto = Vento
un messaggio tipo: “Portare il progetto segreto al
Laboratorio”,
sarebbe trasformato come “Cavallo il dondolo vento
al mare”.
CRITTOGRAFIA MEDIOEVALE:
1378 - Nomenclatore di Lavinde
Applicando qualche parola nulla, si potrebbe trasformare
il testo in “Pasta cavallo il dondolo alto vento al mare
cubo”.
Applichiamo adesso l'alfabeto di sostituzione ottenendo
all'ultimo cifrato:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCEHFADGZIPJOLNYWMXKTQURSV
Pasta=Ybxkb
il=zj
alto=bjkn
al=bj
cubo=etcn
Cavallo=ebqbjjn
dondolo=hnlhnjn
vento=qflkn
mare=obmf
Risultato:
“Ybxkb ebqbjjn zj hnlhnjn bjkn qflkn bj obmf etcn”
CRITTOGRAFIA fino al XVIII secolo:
1466 - Leon Battista Alberti
Leon Battista produsse un manoscritto
in cui si trovava una scientifica
dissertazione di come è composto un
testo latino.
Egli notò che senza vocali non si hanno
sillabe, e che se, in un dato testo, si
hanno 300 vocali, allora le consonanti
saranno 400.
Inoltre, la vocale o, pur essendo più frequente di
ogni consonante, è comunque la meno probabile
tra le vocali.
Aggiunse l’osservazione che se una parola finisce
con una consonante, l’ultima lettera non può che
essere t, s, x oppure c.
CRITTOGRAFIA fino al XVIII secolo:
1466 - Leon Battista Alberti
Osservò inoltre, che se in un testo vi sono più di 20
simboli diversi, allora si è in presenza di un metodo di
crittografia omofono (alla stessa lettera del testo da
cifrare corrispondono più simboli).
Oppure vi sono dei null (simboli privi di significato)
inseriti a bella posta per complicare il lavoro dei
crittoanalisti, e questo perché in latino ed in italiano vi
sono solo 20 lettere.
Le sue acute osservazioni gli forniscono la base per
ideare un sistema che lo consegnerà alla storia della
crittografia.
CRITTOGRAFIA fino al XVIII secolo:
1466 - Leon Battista Alberti
Non esistendo i computers, si servì di
2 dischi di rame, uno più piccolo
dell'altro, collegati al centro e
liberi di ruotare indipendentemente.
Sul disco più esterno erano
riportate tutte le lettere
dell'alfabeto ad esclusione di H,Y e
K. Erano invece aggiunte le cifre
1, 2, 3 e 4.
Sul disco interno erano invece presenti tutte le
lettere dell'alfabeto più "et", in ordine casuale.
Mittente e destinatario avevano entrambi la stessa
macchinetta. Entrambi concordavano una lettera che
sarebbe stata la chiave di partenza.
CRITTOGRAFIA fino al XVIII secolo:
1466 - Leon Battista Alberti
Per cifrare il messaggio, il mittente iniziava ruotando il
disco interno in maniera casuale. Iniziava quindi a
scrivere il testo cifrato, riportando per prima cosa la
lettera sul disco piccolo in corrispondenza della chiave
concordata sul disco grande. Passava quindi ad eseguire
la sostituzione del testo prelevando i caratteri sul disco
più piccolo in corrispondenza dei caratteri da cifrare sul
disco più grande.
Terminata la prima parola, ruotava di nuovo in maniera
casuale il disco interno ed iniziava a scrivere la
nuova parola riportando nel cifrato la lettera sul disco
piccolo in corrispondenza della chiave concordata sul
disco grande, seguita dalla parola le cui lettere venivano
ancora sostituite dalla corrispondenza tra disco grande e
disco piccolo.
CRITTOGRAFIA fino al XVIII secolo:
1466 - Leon Battista Alberti
Mettiamo di dover cifrare la frase "Messaggio da Leon".
Iniziamo convenendo una lettera che fa da riferimento,
diciamo la C.
Ruotiamo a caso il disco interno e
passiamo da una posizione di riposo a
quest'altra situazione, con il disco
interno posizionato come in figura a
sinistra.
Dato che il riferimento è la lettera C,
iniziamo a scrivere il messaggio
indicando al destinatario come deve
ruotare il suo disco
interno. Per farlo iniziamo la parola
cifrata con Y, e ne deriva:
Messaggio = YXHTTETSSRV
CRITTOGRAFIA fino al XVIII secolo:
1466 - Leon Battista Alberti
Nuova rotazione
casuale e cifratura
della seconda parola:
Da = CETQ
Nuova rotazione e cifratura:
Leon = DGZNF
Messaggio da Leon = YXHTTETSSRV CETQ DGZNF
CRITTOGRAFIA fino al XVIII secolo:
Germania 1490 - Johannes
Trithemius Tabula Recta
Johannes Trithemius
nacque 60 dopo Leon
Battista Alberti. Dopo
anni di studi, Trithemius
realizzò un metodo di
crittografia che faceva
uso di una tabula recta,
che non era altro che
una tabella di tante
righe quanto è lungo
l'alfabeto, righe
riportanti ognuna un
alfabeto scalato di una
posizione rispetto a
quello precedente.
CRITTOGRAFIA fino al XVIII secolo:
Germania 1490 - Johannes
Trithemius Tabula Recta
La tabella si usa
così: la prima
lettera da cifrare
rimane la stessa,
la seconda si cifra
con il secondo
alfabeto, la terza
lettera userà il
terzo alfabeto e
così via fino a
ricominciare dal
primo alfabeto
dopo la
ventiseiesima
lettera.
CRITTOGRAFIA fino al XVIII secolo:
1554 - Girolamo Cardano
Matematico e fisico milanese
noto per la pubblicazione del
primo libro sulla teoria della
probabilità.
La sua idea fu quella di usare
come chiave di cifratura il
testo stesso che doveva essere
cifrato, ripartendo dall'inizio
ad ogni nuova parola.
La cifratura vera e propria
viene effettuata sommando le
lettere
CRITTOGRAFIA fino al XVIII secolo:
1554 – Girolamo Cardano
Un esempio chiarisce facilmente il concetto:
Riportiamo la tabella di corrispondenza lettera/posizione per
comodità
Chiave :
FRASE FR FRASEDA FRA FR FRASED FR FRASEDA
Testo in chiaro: FRASE DA CIFRARE CON IL METODO DI CARDANO
Testo cifrato:
LJBLJ JS IAGKFVF IGO OD SWUHIS JA ISSWFRP
CRITTOGRAFIA fino al XVIII secolo:
1553 - 1564
Giovan Battista Bellaso
Introdusse un utilizzo della tabula recta più avanzato.
Il sistema funzionava in questo modo: veniva concordata una
frase chiave. Questa frase veniva accodata a
sé stessa, tante volte quanto era lungo il testo in chiaro.
S’iniziava quindi la cifratura del testo in chiaro prelevando il
primo carattere della chiave ed utilizzandolo per stabilire
quale doveva essere la riga della tabula recta. Si utilizzava
quindi tale riga come alfabeto per il primo carattere del
testo in chiaro. Si passava quindi a prelevare il secondo
carattere della chiave per stabilire quale riga della tabula
recta dovesse fungere da alfabeto per il secondo carattere
del testo in chiaro e così via.
In altre parole, la differenza rispetto al metodo di
Trithemius consisteva nel variare alfabeto in base alla
chiave, invece che in maniera sequenziale.
CRITTOGRAFIA fino al XVIII secolo:
1553 - 1564
Giovan Battista Bellaso
Esempio: Chiave del messaggio: "chiave"
Testo da cifrare: "Tanti saluti"
abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyza
cdefghijklmnopqrstuvwxyzab
defghijklmnopqrstuvwxyzabc
efghijklmnopqrstuvwxyzabcd
fghijklmnopqrstuvwxyzabcde
ghijklmnopqrstuvwxyzabcdef
hijklmnopqrstuvwxyzabcdefg
ijklmnopqrstuvwxyzabcdefgh
...
vwxyzabcdefghijklmnopqrstu
...
zabcdefghijklmnopqrstuvwxy
Testo cifrato:
Vhvtd wcsctd
CRITTOGRAFIA fino al XVIII secolo:
1563 – Tavola di
Gianbattista Della Porta
All’età di soli 28 anni pubblicò il libro
De Furtivis Literarum Notis che lo
consegnò alla storia della
crittografia.
Organizzato in quattro parti, illustra
la crittografia secondo i metodi
antichi, quella secondo i metodi
moderni, la crittoanalisi e le
caratteristiche linguistiche che
aiutano nella crittoanalisi.
Con riferimento alla Tavola, Della
Porta utilizza la chiave come
strumento di generazione del
messaggio codificato.
CRITTOGRAFIA fino al XVIII secolo:
1563 – Tavola di
Gianbattista Della Porta
Nella tavola di
Della Porta le
lettere minuscole
scritte in testa
danno il nome
all'alfabeto di
quella riga, che è
ottenuto
dividendo
l'alfabeto in due
parti di 13
lettere.
Cosa ne facciamo della parola chiave? Ogni lettera di essa,
ad esempio a, ci dice quale alfabeto dobbiamo usare per
criptare la lettera del messaggio corrispondente.
CRITTOGRAFIA fino al XVIII secolo:
1563 – Tavola di
Gianbattista Della Porta
Se la lettera della
parola chiave che
stiamo
considerando è
una a oppure una
b, si cripta la
lettera del testo
corrispondente
con l'alfabeto di
nome ab, e così
via.
CRITTOGRAFIA fino al XVIII secolo:
1563 – Tavola di
Gianbattista Della Porta
ESEMPIO
Testo in chiaro: TERAMOEUNACITTA
Parola chiave:
PORTAPORTAPORTA
Testo cifrato:
???????????????
In primo luogo osserviamo che la parola chiave (porta) è
ripetuta un numero di volte sufficienti a raggiungere la
medesima lunghezza del testo in chiaro che, nel caso
specifico, è costituito da 15 lettere.
CRITTOGRAFIA fino al XVIII secolo:
1563 – Tavola di
Gianbattista Della Porta
Si procede ora nel seguente modo: stabiliamo in primo
luogo una corrispondenza tra il testo in chiaro e la parola
chiave.
Utilizziamo poi la Tavola di
Della Porta: poiché alla lettera
T è associata la lettera P
dobbiamo usare l'alfabeto op,
cioè a T corrisponde A;
analogamente alla lettera E è
associata la lettera O per cui
anche in questo caso dobbiamo
utilizzare l'alfabeto op, cioè a
E corrisponde X.
CRITTOGRAFIA fino al XVIII secolo:
1563 – Tavola di
Gianbattista Della Porta
Proseguendo, alla
lettera R (di Teramo)
corrisponde la lettera
R (di porta), quindi,
questa volta, dobbiamo
cambiare alfabeto,
cioè usare qr (R
corrisponde M);
continuando in questo
modo si ottiene infine:
Testo cifrato: axmrzixcjnvobcn
CRITTOGRAFIA fino al XVIII secolo:
1586 La congiura di Babington
Nel 1586 Maria Stuarda, regina di Scozia,
fu condannata a morte per aver cospirato
contro la cugina Elisabetta
La congiura, organizzata da Anthony
Babington, prevedeva:
La liberazione di Maria dalla prigionia in
Inghilterra
Maria Stuarda
L’uccisione di Elisabetta
Una ribellione alla religione protestante
Sir Francis Walsingham, segretario di stato, provò che
Maria aveva preso parte alla congiura.
CRITTOGRAFIA fino al XVIII secolo:
1586 La congiura di Babington
Maria e Babington comunicavano grazie a:
Un corriere (Gilbert Gifford)
Un birraio, che nascondeva i messaggi
dentro lo zipolo delle botti di birra
Un cifrario, costituito da 23 simboli che
sostituivano le lettere
Un nomenclatore di 35 simboli, che
sostituivano parole o frasi 4 nulle e un
simbolo per le doppie
CRITTOGRAFIA fino al XVIII secolo:
1586 La congiura di Babington
Gifford fece il doppio gioco e prima di recapitare i
messaggi li consegnava a Walsingham. Tutti i
messaggi venivano decifrati da Thomas Phelippes.
Maria Stuarda firmò la sua condanna a morte
rispondendo alla lettera di Babington
Babington e complici furono arrestati e squartati vivi
e Maria fu decapitata l’8 febbraio 1587.
CRITTOGRAFIA fino al XVIII secolo:
1608 - Blaise de Vigenère
Blaise de Vigenère propose due sistemi di
cifratura simili al metodo proposto dal
Cardano, ma più funzionali.
In ambedue i casi esiste una chiave,
formata da una sola lettera, che serve per
cifrare la prima lettera del messaggio.
Le successive vengono cifrate con il
messaggio stesso nel primo dei due metodi
proposti, e con il messaggio cifrato nel
secondo caso.
Quindi, al contrario del metodo proposto da
Cardano, la chiave non ricomincia ad ogni
parola.
CRITTOGRAFIA fino al XVIII secolo:
1608 - Blaise de Vigenère
Vediamo un esempio (realizzato utilizzando la tabula
recta standard) in cui la prima lettera chiave è la V, e
le successive sono il messaggio in chiaro.
Chiave :
Testo in chiaro:
Testo cifrato :
VDIVERS OMETOD OD ICHIAV ECONTINU
DIVERSO METODO DI CHIAVE CONTINUA
YLDZVJG AQXHRR RL KJPIVZ GQBGBVHU
Nell’esempio seguente, invece, la chiave iniziale è
sempre la lettera V, ma per le successive lettere viene
usato il testo cifrato.
Chiave :
Testo in chiaro:
Testo cifrato :
VYGBFWO COSLZC QT BDKSSN RTHUNVIC
DIVERSO METODO DI CHIAVE CONTINUA
YGBFWOC OSLZCQ TB DKSSNR THUNVICC
CRITTOGRAFIA fino al XVIII secolo:
Blaise de Vigenère
Tabula Recta modificata
Il vero contributo alla crittografia si deve però ad una
forma modificata di tabula recta.
Nella versione da lui proposta il quadrato di 26x26
lettere ha alla sua sinistra ed in cima le usuali 26
lettere, che però non sono poste in ordine alfabetico.
SJFQCOTLUVKHWGANPMXRIYBDZE
R ABCDEFGHIJKLMNOPQRSTUVWXYZ
H BCDEFGHIJKLMNOPQRSTUVWXYZA
Z CDEFGHIJKLMNOPQRSTUVWXYZAB
. ..........................
K ZABCDEFGHIJKLMNOPQRSTUVWXY
CRITTOGRAFIA fino al XVIII secolo:
1640 Antoine Rossignol
Nel 1640, il Cardinale Richelieu seguì il consiglio di
Antoine Rossignol per implementare l’uso di repertori
invertiti con gruppi cifranti variabili, uniti a due
documenti: uno per cifrare e l’altro per decifrare.
In realtà Antoine
Rossignol propose la
realizzazione di una
codifica in cui non vi
fosse più un
ordinamento tra le
parole.
Richelieu
CRITTOGRAFIA fino al XVIII secolo:
1640 Antoine Rossignol
Per rendere pratico l'utilizzo di un tale metodo è
sufficiente realizzare due elenchi, nel primo sono
elencate in ordine alfabetico le parole da codificare,
nel secondo sono elencate in ordine alfabetico le
parole codificate.
Ovviamente nella fase di codifica si possono
utilizzare dei numeri al posto di parole. Ad esempio,
far corrispondere ad Argento 100, ad Oro 150, a
Preparare 200 e così via.
CRITTOGRAFIA fino al XVIII secolo:
1700- Le Camere Nere
Il 1700 fu il periodo in cui fiorirono in tutte le
cancellerie d’Europa le cosiddette Camere Nere.
Con il nome di Cabinet Noir in Francia, Decyphering
Branch in Inghilterra e Geheime Kabinets-Kanzlei in
Austria, occupavano un certo numero di abilissimi
esperti, il cui compito consisteva nell’aprire tutta la
corrispondenza diplomatica e militare; copiare il
contenuto delle lettere; richiudere gli originali,
riapplicando i sigilli.
Ovviamente molta corrispondenza era cifrata e quindi,
oltre ai traduttori, nelle Camere Nere operavano un
certo numero di crittoanalisti.
La migliore Camera Nera era sicuramente quella
viennese, la Geheime Kabinets-Kanzlei.
CRITTOGRAFIA fino al XVIII secolo:
1700- Le Camere Nere
L’era delle Camere Nere ebbe termine solo verso la
metà del XIX secolo, quando affermatasi la democrazia
in Europa, l’opinione pubblica costrinse i governi ad
interrompere la pratica dell’intercettazione della
corrispondenza.
Nel 1844 il governo inglese chiuse il Decyphering
Branch, mentre 4 anni dopo furono smantellati il
Geheime Kabinets-Kanzlei e il Cabinet Noir.
CRITTOGRAFIA MODERNA:
1801-1804
Il Cifrario di Jefferson
Si tratta del primo metodo di
cifratura basato su cilindri e
dischi ruotanti intorno ad un
asse. 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). 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.
CRITTOGRAFIA MODERNA:
1801-1804
Il Cifrario di Jefferson
La cifratura di un messaggio avviene
nel seguente modo: il messaggio viene
prima di tutto diviso in blocchi di 36
caratteri. Per ogni blocco, i dischi
vengono ruotati in modo tale da far
comparire allineati su una riga i
caratteri del blocco da cifrare.
Una volta effettuata tale operazione, si sceglie a caso
un'altra riga, e si considera la corrispondente sequenza di
36 lettere come il messaggio cifrato. Il ricevente, che
possiede un cilindro identico a quello del trasmittente, non
deve far altro che ruotare i dischi in modo tale da far
comparire il cifrato allineato su una riga. Compiuta questa
operazione, deve analizzare le restanti righe. Una sola di
queste è una frase di senso compiuto rappresentante il
messaggio in chiaro.
CRITTOGRAFIA fino al XVIII secolo:
~1850 - I Codici Commerciali
Subito dopo l'avvento dell'uso del telegrafo,
furono stabiliti dei codici commerciali con lo
scopo di ridurre il numero di caratteri
necessari per trasmettere un messaggio, al
fine di contenere i costi.
Per gli affaristi che avevano necessità di
mantenere segrete le comunicazioni, fu
facile aggiungere una qualche forma di
crittografia che garantisse la riservatezza
del messaggio.
CRITTOGRAFIA fino al XVIII
secolo:
~1850 - I Codici Commerciali
Un metodo molto semplice consiste nello scambiare
di posto le cifre del codice, applicando quindi una
trasposizione.
Se il messaggio codificato è composto dai codici
1024 3201 2501 1413, riarrangiando le cifre secondo
la sequenza 3 2 4 1 (che costituisce la chiave
secondo cui effettuare la trasposizione), si ottiene
2041 0213 0512 1431.
CRITTOGRAFIA fino al XVIII
secolo:
~1850 - I Codici Commerciali
In alternativa, o in aggiunta, si può applicare una
chiave da sommare (senza considerare il riporto)
ai codici.
Quindi se la chiave è 3812 si ha:
1024 + 3201 + 2501 + 1413 +
3812 = 3812 = 3812 = 3812 =
4836 6013 5313 4225
CRITTOGRAFIA fino al XVIII
secolo:
~1850 - I Codici Commerciali
Altre variazioni sul tema consistono nello scrivere,
orizzontalmente, i codici in quattro file, che poi vengono
rilette verticalmente.
Quindi il messaggio
1024 3201 2501 1413 3256 1298 7854 4315 2378 6745
1598 8375 7816 6235 4579 è scritto come:
1024
3256
2378
7816
3201
1298
6745
6235
2501
7854
1598
4579
1413
4315
8375
0000
diventa
1327 0238 2571 4686 3166 2272 0943 1855 2714
5855 0597 1489 1480 4330 1170 3550.
CRITTOGRAFIA MODERNA:
1854 - Playfair Cipher
Il sistema di cifratura prende il
nome da colui che l'ha reso noto,
Lyon Playfair, sebbene l'autore reale
fosse stato Sir Charles Wheatstone
(1802-1875). Il Playfair cipher viene
riconosciuto come primo metodo di
cifratura a bigrammi (coppie di
caratteri). Il metodo consiste nel
posizionare dentro la tabella di 5x5
caselle, una parola chiave (nel nostro
caso MONARCHY) seguendo l'ordine
sinistra-destra ed alto basso,
completando la matrice con le
lettere dell'alfabeto nel loro ordine
naturale, previa fusione di i e j e
stando attenti a non ripetere le
lettere già usate nella parola chiave
inserita.
CRITTOGRAFIA MODERNA:
1854 - Playfair Cipher
Il testo in chiaro deve essere diviso in bigrammi di
due lettere consecutive; le due lettere si cercano sul
quadrato e si sostituiscono secondo queste regole:
1. se le due lettere del testo in chiaro si trovano su
una stessa riga, si prendono le due lettere che le
seguono a destra; se una delle due lettere del testo in
chiaro si trova sulla quinta colonna a destra, si
prenderà la prima lettera a sinistra della stessa linea;
2. se le due lettere del testo in chiaro 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;
CRITTOGRAFIA MODERNA:
1854 - Playfair Cipher
3. 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 del
testo da cifrare;
4. qualora il bigramma del testo da cifrare
presenti due lettere uguali si cercherà di eliminare
questo raddoppio, oppure di romperlo inserendo una
lettera rara (k, w, x, y).
ESEMPIO:
testo in chiaro: AT TA CX CO
testo cifrato: RS SR BU HM
CRITTOGRAFIA MODERNA:
XIX secolo - Il Cifrario bifido di
Delastelle
Il metodo fu inventato da Félix-Marie
Delastelle uno tra i massimi crittologi
francesi del XIX secolo. Trattasi di un
cifrario facente uso di una scacchiera simile
a quella di Polibio, con il quale un testo in
chiaro viene crittato in 5 passi.
CRITTOGRAFIA MODERNA:
XIX secolo - Il Cifrario bifido di
Delastelle
1. Innanzitutto viene trascritta la chiave dentro la
tabella, eliminando le lettere doppie. Le restanti celle
contengono i caratteri dell'alfabeto nel loro ordine
naturale. Non viene introdotta la W per mancanza di
spazio. La W sarà sostituita cifrando due V
consecutive.
Esempio:
Chiave: Riksoft
Testo: La cifratura Playfair
(Passo 1)
CRITTOGRAFIA MODERNA:
XIX secolo - Il Cifrario bifido
di Delastelle
2. Il testo da cifrare viene spezzato in parole di 5
caratteri l'una. Qualora non vi siano lettere
sufficienti per formare l'ultimo blocco, i posti
mancanti saranno riempiti con delle X
Testo: La cifratura Playfair
LACIF RATUR APLAY FAIRX
(Passo 2)
CRITTOGRAFIA MODERNA:
XIX secolo - Il Cifrario bifido
di Delastelle
3. Ogni carattere del testo in chiaro viene cifrato
usando la scacchiera, ovvero, si prendono in
corrispondenza del carattere da cifrare, il numero di
riga e colonna e si riportano in verticale sotto il testo
in chiaro.
LACIF RATUR APLAY FAIRx
42212 12251 24425 22215
13521 13211 34134 13213
(Passo 3)
CRITTOGRAFIA MODERNA:
XIX secolo - Il Cifrario bifido
di Delastelle
4. I blocchi di numeri, vengono ora trascritti in
orizzontale, leggendoli da sinistra a destra e dall'alto
in basso, per ogni singolo blocco. Durante questa
trascrizione i numeri vengono scritte a coppie.
LACIF RATUR APLAY FAIRx
42212 12251 24425 22215
13521 13211 34134 13213
42 21 21 35 21 12 25 11 32 11 24 42 53 41
34 22 21 51 32 13
(Passo 4)
CRITTOGRAFIA MODERNA:
XIX secolo - Il Cifrario bifido
di Delastelle
5. Si passa quindi a ritrasformare
in lettere la riga di coppie di
numeri appena formata,
sfruttando di nuovo la scacchiera.
LACIF RATUR APLAY FAIRx
42212 12251 24425 22215
13521 13211 34134 13213
42 21 21 35 21 12 25 11 32 11 24 42 53 41 34
22 21 51 32 13
(Passo 5)
MFFJFICRERBMXRHTRUEK
Il testo cifrato è cosi trasformato in
"MFFJFICRERBMXRHTRUEK"
CRITTOGRAFIA MODERNA:
1918 - La cifratura ADFGVX
Metodo adottato in Germania nel 1918.
Qualunque messaggio viene tradotto in una sequenza
delle lettere ADFGVX poi trasmessa per telegrafo.
Le 6 lettere scelte sono quelle che meno facilmente si
possono confondere tra loro con il codice Morse.
A . –
G – – .
D – . .
V . . . –
F . . – .
X – . . –
CRITTOGRAFIA MODERNA:
1918 - La cifratura ADFGVX
La codifica comincia disegnando una tabella 6x6 e
riempiendo le 36 caselle in modo casuale con i caratteri
dell’alfabeto completo di 26 lettere, più la serie delle
10 cifre. Ogni riga e colonna della tabella è identificata
da una delle sei lettere ADFGVX.
A D F G V X
A 8 P 3 D 1 N
D L T 4 O A H
F 7 K B C 5 Z
G J U 6 W G M
V X S V I R 2
X 9 E Y 0 F Q
La disposizione delle lettere e dei numeri nella tabella è
parte della chiave; in altre parole il destinatario deve
conoscerla per poter effettuare la decifrazione.
CRITTOGRAFIA MODERNA:
1918 - La cifratura ADFGVX
A D F G V X
A 8 P 3 D 1 N
D L T 4 O A H
F 7 K B C 5 Z
G J U 6 W G M
V X S V I
R 2
X 9 E Y 0 F Q
Per crittare, si deve innanzitutto
stabilire la posizione di ogni
lettera del messaggio nella
tabella e rimpiazzarla con le
lettere che designano la sua riga
e la sua colonna.
Messaggio:
attacco h 10 sera
Testo chiaro: a t t a c c o h 1 0 s e
r a
Crittogramma: DV DD DD DV FG FG DG DX AV XG VD XD VV DV
Il secondo stadio è una trasposizione che dipende da
una parola d’ordine.
Parola d’ordine:
MARK
CRITTOGRAFIA MODERNA:
1918 - La cifratura ADFGVX
M A R K
D V D D
D D D V
F G F G
D G D X
A V X G
V D X D
V V D V
Il processo traspositivo è il
seguente:
Le lettere della chiave sono
collocate in cima a una nuova
tabella. Poi il crittogramma
generato dalla prima cifratura è
trascritto sotto la chiave.
Le colonne della tabella sono quindi
ricollocate in modo che le lettere della
chiave siano in ordine alfabetico.
Il crittogramma definitivo è:
VDDDDVDDGGFFGXDDVGAXDDVXVVVD
A K M R
V D D D
D V D D
G G F F
G X D D
V G A X
D D V X
Il crittogramma definitivo era trasmesso in
V
codice Morse e per ripristinare il testo originale
il destinatario doveva invertire il procedimento di
codifica.
V V D
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Cesare e Augusto
(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 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.
CRITTOGRAFIA ROMANA:
100 – 44 A.C.
Cifrario di Cesare e Augusto
(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 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.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Nel 1918, l'ingegnere elettrico tedesco
Arthur Scherbius brevettò una macchina
cifratrice
basata
sull'evoluzione
elettromeccanica del “disco cifrante”
dell'Alberti , che battezzò "Enigma".
Arthur
Scherbius
La macchina consentiva miliardi di
combinazioni cifranti che rendevano
praticamente impossibile, anche a chi
avesse avuto la stessa macchina, di
interpretarne i relativi radiomessaggi.
Convinto dell'inviolabilità dei crittogrammi
generati da Enigma, Scherbius propose la
sua invenzione a industriali e militari
tedeschi.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
All'inizio della
Seconda Guerra
Mondiale l'esercito
tedesco faceva uso
delle comunicazioni
crittografate
ritenute più sicure
del mondo.
foto tratte dal Museo della guerra
di Rovereto
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Era composta da:
Una Tastiera
Dove veniva digitato il testo un
carattere alla volta.
Un pannello di collegamento
per l’inserimento di ponticelli
elettrici. Il pannello di controllo
veniva utilizzato per impostare la
chiave di cifratura. Era composto
da
26
connettori
che
rappresentano ognuno una lettera.
Inserendo un cavetto elettrico (ponticello) tra un connettore e
l’altro si operava una sostituzione di tale lettera con quella
uscente dal sistema cifrante. Se una lettera non aveva alcun
ponticello non veniva effettuata nessuna trasposizione.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Era composta da:
Tre ruote mobili (rotori) e due
ruote fisse (statori).
Gli statori erano sul lato destro
e sinistro dei 3 rotori.
Ogni rotore aveva una serie di 26
contatti elettrici su entrambe le
facce, equidistanti dal centro e
con stessa spaziatura fra loro. I
contatti su un lato erano
collegati a quelli dell'altro lato in
maniera disordinata. In ogni caso
ad un contatto del lato sinistro
corrispondeva un contatto del
lato destro. In particolare,
premendo un tasto sulla tastiera,
si lasciava passare corrente
verso lo statore di destra.
I tre rotori
Da tale statore la corrente
passava al primo rotore, al
secondo, al terzo, quindi
arrivava allo statore di
sinistra
(detto "Ruota di riflessione").
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Era composta da:
26 lampadine che indicavano
l’output
carattere per carattere mentre si
digitava sulla tastiera.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Il suo funzionamento era il seguente:
Sulla tastiera veniva digitato il testo un carattere alla volta
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Il suo funzionamento era il seguente:
Il pannello di controllo veniva utilizzato per impostare la
chiave di cifratura. Era composto da 26 connettori che
rappresentavano ognuno una lettera. Inserendo un cavetto
elettrico (ponticello) tra un connettore e l’altro si operava una
sostituzione di tale lettera con quella uscente dal sistema
cifrante. Se una lettera non aveva alcun ponticello non veniva
effettuata nessuna trasposizione.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Il suo funzionamento era il seguente:
Il meccanismo interno era composto da un asse che attraversava
2 ruote fisse (statori) e tre ruote mobili (rotori).
 Gli statori erano sul lato destro e sinistro dei 3 rotori.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Il suo funzionamento era il seguente:
Ogni rotore aveva una serie di 26 contatti elettrici su entrambe le facce,
equidistanti dal centro e con stessa spaziatura fra loro. I contatti su un
lato erano collegati a quelli dell'altro lato in maniera disordinata. In ogni
caso ad un contatto del lato sinistro corrispondeva un contatto dal lato
destro. In particolare, premendo un tasto sulla tastiera, si lasciava passare
corrente verso lo statore di destra.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Il suo funzionamento era il seguente:
Da tale statore la corrente passava al primo rotore, al secondo, al terzo,
quindi arrivava allo statore di sinistra (detto "Ruota di riflessione").
Da questo punto la corrente tornava indietro verso
il pannello con i ponticelli, dal quale veniva
rimandata alle lampadine.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Il suo funzionamento era il seguente:
Queste lampadine illuminavano la lettera da visualizzare, in un
alfabeto posto proprio sopra la tastiera.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Il suo funzionamento era il seguente:
Il movimento dei rotori all'interno della macchina era fondamentale:
ad ogni pressione di tasto, il rotore di destra scattava di una posizione.
Questo significava che premendo di nuovo la stessa lettera, la cifratura
non era più la stessa. Il primo rotore fungeva quindi da chiave di cifratura
con lunghezza pari a 26 caratteri, che si ripeteva continuamente per tutto
il messaggio. Al completamento del primo giro del rotore di destra,
scattava di una posizione il rotore di centro e dopo un giro completo del
rotore di centro, seguiva uno scatto del rotore di sinistra, dando così
luogo ad una chiave di cifratura lunga 263= 17.576 caratteri, sufficienti
per rendere la cifratura simile all'utilizzo del metodo one-time pad.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Ricordiamo inoltre che i tre rotori erano intercambiabili e
venivano in genere scelti da un gruppo di cinque.
Ogni rotore, avendo connessioni diverse tra i contatti del lato
destro e quello sinistro, introduceva un nuovo elemento di
variazione dell'output, a parità di testo e posizionamento dei
ponticelli dal pannello di collegamento.
Questo introduceva 50 possibili altre configurazioni.
Tenendo anche conto che generalmente venivano usati 10
ponticelli nel pannello di collegamento che introducevano altre
150 miliardi di combinazioni, si ottiene che Enigma forniva 159
x 1021 combinazioni.
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
La chiave giornaliera (Tagschluessel) comprendeva:
1. Disposizione degli scambiatori.
I numeri dei rotori che dovevano essere sistemati nella macchina da
sinistra a destra.
2. Ringstellung
Assetto delle ruote per ciascun rotore, da sinistra a destra. Notare
che la disposizione degli scambiatori e il Ringstellung cambiavano ogni
due giorni, mentre l’assetto del pannello a prese multiple e il
Grundstellung cambiavano ogni giorno.
3. Assetto del pannello a prese multiple.
Di solito si scambiavano dieci paia di lettere.
4. Grundstellung(Grund).
Era costituito dalle tre (o quattro) lettere che mostravano la posizione
dei rotori da usare per cifrare la chiave di messaggio.
Riroduione esemplificativa di un singolo Grund za dest
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
Esempio
Il sistema crittografico
Enigma usato dai tedeschi
permetteva il
coordinamento delle azioni
dei propri sottomarini
chiamati U-boat nei
confronti delle navi
mercantili e militari
Americane.
Mappa tedesca a griglia dell’Atlantico del Nord
Un esempio di messaggio crittografato
Inviato tramite telescrivente
CRITTOGRAFIA MODERNA:
1918-Enigma (cifrari a rotore)
I crittografi tedeschi erano così convinti della sicurezza del loro
sistema che commisero diverse ingenuità, tra le più gravi quella di
usare troppo a lungo la stessa "chiave" di cifratura.
La tenacia dei crittografi
britannici e del gruppo di
lavoro
del
grande
matematico inglese
Alan
Turing, con la collaborazione
del matematico polacco
Marin Rejewsky e l'aiuto di
Marian Rejwsky
Alan Touring
calcolatori elettromeccanici detti
"bombes", permise all'intelligence
inglese di decifrare una buona parte
di importanti messaggi in codice
dell'esercito del Reich.
Bomba di Turing
CRITTOGRAFIA MODERNA:
1926-Vernam (cifrario simmetrico)
Questo sistema è in assoluto il più sicuro che esista, tanto che è
stato utilizzato per cifrare le comunicazioni tra i presidenti
USA-URSS durante la guerra fredda (il famoso telefono rosso).
Il
padre
della
Teoria
dell'Informazione,
Claude
Shannon, ha dimostrato nel 1949
che:
OGNI CIFRARIO
TEORICAMENTE SICURO
E’ UN CIFRARIO DI
VERNAM
Claude Shannon
CRITTOGRAFIA MODERNA:
1926-Vernam (cifrario simmetrico)
 Il suo funzionamento è simile a quello realizzato
dall'imperatore Augusto (cifrario monoalfabetico), con
la differenza che la chiave di cifratura deve essere
una sequenza casuale di caratteri ed avere una
lunghezza pari o superiore al testo in chiaro da cifrare
infatti la chiave generata è lunga come il testo (chiave
a lunghezza infinita) ed è del tutto casuale e dunque
imprevedibile;

Il testo in chiaro e la chiave vengono sommati proprio
come nel cifrario di Vigenere, l’unica differenza sta
nel fatto che si sommano non tanto gli ordinali delle
lettere da cifrare ma i singoli bit che codificano la
lettera nei codici usati nelle telecomunicazioni (allora
codice Baudot oggi codice ASCII).
CRITTOGRAFIA MODERNA:
1926-Vernam (cifrario simmetrico)
Addizione di caratteri con il codice Baudot
Testo in 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 v
00001
01101
11001
11101
10000
1111
00101
11101
00001
00100
T
P
W
Q
E
Q
H
Q
T
{SP}
L’addizione XOR ha il vantaggio di essere reversibile
quindi verrà usata anche per decifrare.
CRITTOGRAFIA MODERNA:
1926-Vernam (cifrario simmetrico)
 Il sistema si chiama one-time pad (o a chiave non
riutilizzabile), perché la chiave non può essere
utilizzata più di una volta.
 Ad ogni nuovo testo cifrato, deve corrispondere una
differente chiave. Se così non fosse, verrebbe
eliminata la casualità della chiave.
L'algoritmo in questione è di scomodissimo utilizzo in
quanto la chiave di cifratura è generalmente sempre
molto lunga (quanto il testo da cifrare), e dovendo
essere casuale, è anche impossibile da ricordare a
mente. Inoltre la chiave deve essere trasmessa a chi
dovrà decrittare il messaggio, e come sappiamo non
esiste mai un canale davvero sicuro sul quale effettuare
questa trasmissione. Tra l’altro se così non fosse non
avrebbe senso la stessa crittografia.
CRITTOGRAFIA MODERNA:
1926-Vernam (cifrario simmetrico)
In queste condizioni, decifrare il testo cifrato è
matematicamente impossibile senza conoscerne la
chiave in quanto tutti i testi in chiaro sarebbero
equiprobabili, come l'equivalente loro testo
cifrato.
su 26 lettere dell’alfabeto ci sono
26!=  410
chiavi (combinazioni) da provare.
26
Un computer che generi una soluzione ogni sec
potrebbe impiegare fino a 1013 anni per provare
tutte le chiavi.
CRITTOGRAFIA MODERNA:
1926/39-Lorenz (cifrari a rotore)
È ben noto che durante la II guerra mondiale i tedeschi si
affidarono per lo più alla macchina Enigma, meno noto è che i
tedeschi usarono anche altri cifrari; in particolare gli alti
comandi tedeschi usarono una macchina telescrivente realizzata
dalla ditta Lorenz che a differenza dell'Enigma usava 32
caratteri codificati con il codice Baudot. La cifratura Lorenz si
ispirava direttamente al cifrario di Vernam secondo cui la
chiave dovrebbe essere indefinitamente lunga e del tutto
casuale, in più decrittare la cifratura Lorenz richiedeva
indagini, confronti, analisi statistiche e capacità deduttiva
molto più di quanto le Bombe di Turing potessero garantire.
I progettisti della Lorenz pensarono di sostituire la chiave
casuale con una chiave pseudo-casuale generata da un
dispositivo meccanico detta macchina di Lorenz simile a
Enigma nei principi di funzionamento, ma
molto più complicata.
Macchina di lorenz
SZ40
CRITTOGRAFIA MODERNA:
1926/39-Lorenz (cifrari a rotore)
Fu proprio la componente non casuale a far si che la macchina
Lorenz fosse forzata dai crittoanalisti inglesi del progetto
Ultra, (grazie anche a una grossa ingenuità di un cifratore
tedesco).
Per decrittare più velocemente i cifrati Lorenz, nel 1943
nacquero i Colossi ricordati non tanto perchè possedevano
un’elevata velocità, ma perché erano macchine programmabili.
Colossi
CRITTOGRAFIA MODERNA:
1973-Feistel (cifrari a blocchi)
Il cifrario proposto da Feistel nel 1973 è il primo cifrario
a blocchi, ossia il testo in chiaro è diviso in blocchi di lunghezza
fissa che vengono codificati uno alla volta mediante lo stesso
procedimento.
Le operazioni utilizzate sono essenzialmente due:
Permutazioni e sostituzioni
mentre i principi utilizzati sono essenzialmente quelli proposti
da Shannon nel 1949 per complicare l’analisi statistica:
Diffusione: ogni cifra del testo cifrato è prodotta da più
cifre del testo in chiaro;
Confusione: le relazioni statistiche tra testo cifrato e valore
della chiave sono complicate.
CRITTOGRAFIA MODERNA:
1973-Feistel (cifrari a blocchi)
STRUTTURA dei cifrari di Feistel




Il testo è convertito in una stringa di bit.
La stringa è convertita in blocchi di lunghezza fissa
da cifrare separatamente.
Piu i blocchi sono grandi e più aumenta la sicurezza
ma si riduce la velocità.
Ogni blocco subisce una trasformazione che
prevede un certo numero di iterazioni:
1. Permutazione iniziale della stringa;
2. n cicli identici ove in ciclo si applica una
funzione basata su una chiave formata da un
certo numero di bit;
3. Permutazione finale.

viene applicato un algoritmo di schedulazione della
chiave producendo tante sottochiavi per
quanti sono i raund.
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
Nel 1976, gli americani Whitfield Diffie e Martin
Hellman danno vita ad una nuova generazione di sistemi
crittografici: sistemi asimmetrici detti a chiave pubblica
e chiave privata.
Il meccanismo ideato da Diffie ed Helmann superava
d'un tratto l'intero problema di distribuzione delle
chiavi: non era più necessario comunicare nella massima
segretezza la chiave prima di poter effettuare una
comunicazione sicura. Con questo metodo la chiave per
cifrare non è la stessa di quella per decifrare; la prima
può allora essere resa pubblica mentre solo la seconda
resta segreta.
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
La sicurezza di questi sistemi si fonda quasi
sempre su funzioni relativamente facili da
calcolare ma molto difficili da invertire
(problemi ardui).
facile
f
f-1
difficile
Ad esempio il prodotto di due numeri primi, è
relativamente facile da calcolare, ma la
fattorizzazione di un numero intero è molto più
difficile.
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
L'algoritmo di cifratura DH nasce con lo scopo di
generare una chiave segreta tra due
corrispondenti che comunicano attraverso un
canale non sicuro (pubblico) sfruttando la
complessità computazionale del calcolo del
logaritmo discreto.
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
Il dato matematico su cui si basa l’algoritmo di Diffie
ed Hellman fa si che impiegando 1024 bits, per
ottenere la (unica) chiave segreta da quella pubblica
occorrerebbe una potenza di calcolo pari a una rete di
milioni di computer al lavoro per 1000 anni!
L'idea era geniale, ma rimaneva un problema:
non c’era la certezza che le funzioni matematiche
necessarie per implementare praticamente questo
splendido schema concettuale esistessero veramente.
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
L’idea cioè sta nel fatto che la potenza di un numero in
un’ aritmetica finita si definisce semplicemente così:
ab = x mod n
Come nell'aritmetica ordinaria, è possibile definire
un'operazione inversa rispetto a all'esponente:
il logaritmo
Per definizione il logaritmo è l'esponente che si deve
dare alla base a per ottenere il valore x:
b = loga x mod n
Tale logaritmo si dice logaritmo discreto.
.
Se il calcolo della potenza è relativamente semplice, il
calcolo del logaritmo è computazionalmente molto
complesso e può avere più soluzioni o anche nessuna.
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
ESEMPIO:
in un'aritmetica di ordine 7 = {0,1,2,3,4,5,6}
dalla seguente formula ab = x mod n si ha:
20 = 1
21 = 2
22 = 4
23 = 1
24 = 2
25 = 4
26 = 1
e quindi la funzione inversa è loga x mod n
Da cui log24
Invece
log23
2
5
log25
log26
Non Esistono
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
Supponiamo di avere Alice e Bob che vogliono scambiarsi
una chiave segreta in modo sicuro.
Alice genera un numero casuale a < N e calcola
A = ga mod N.
Il numero A viene comunicato pubblicamente a Bob.
In modo del tutto analogo Bob genera due numeri b e
B =gb mod N e invia B ad Alice.
Alice calcola il numero k = Ba mod N.
Bob calcola k = Ab mod N.
Inutile aggiungere che le due chiavi k sono uguali!
Infatti entrambe valgono gab mod N.
CRITTOGRAFIA MODERNA:
1976-DH (cifrario asimmetrico)
Confusi? Ne avete tutto il diritto!
La crittografia a chiave pubblica non è certo intuitiva
come quella simmetrica.
CRITTOGRAFIA MODERNA:
1977-RSA (cifrario asimmetrico)
Nel 1977, R. Rivest, A. Shamir, L. Adleman, pubblicarono
l’articolo "A Method for Obtaining Digital Signatures and
Public-key Cryptosystems", nel quale davano certezza che
le funzioni matematiche atte ad implementare lo schema
concettuale di Diffie ed Hellman esistessero davvero.
L'algoritmo battezzato con le iniziali dei loro cognomi,
RSA, è ancora oggi l’algoritmo a chiave pubblica più
diffuso.
CRITTOGRAFIA MODERNA:
1977-RSA (cifrario asimmetrico)
L'idea alla base del RSA è quella di sfruttare la
complessità computazionale
del calcolo della
fattorizzazione un numero.
Cioè trovare il prodotto di due numeri primi molto
grandi è facilissimo, ma dato il prodotto sarà
estremamente difficoltoso trovarne i 2 fattori primi.
CRITTOGRAFIA MODERNA:
1977-RSA (cifrario asimmetrico)
La scelta delle chiavi
1. Scegli due numeri primi grandi p, q.
2. Calcola n = pq, z = (p-1)(q-1)
3. Scegli e
minore di n,
dispari
e primo con (p-1)(q-1).
4. scegli d tale che (ed-1) sia esattamente divisibile per z.
5. La Chiave Pubblica è (n,e), quella Privata è (n,d).
CRITTOGRAFIA MODERNA:
1977-RSA (cifrario asimmetrico)
Illustriamo un esempio per evidenziare come la funzione
diretta, ossia il prodotto di due numeri primi, sia banale
mentre quella inversa, ossia il calcolo della chiave pubblica e
privata, sia estremamente difficoltosa.
Documento
Chiave RSA privata
= m
Chiave RSA pubblica
Documento
crittografato
Documento
crittografato
Documento
CRITTOGRAFIA MODERNA:
1977-RSA (cifrario asimmetrico)
ESEMPIO
1) Prendiamo due numeri primi p(=3) e q(=11) e sia n(=33) il loro
prodotto.
2) Prendiamo e(=3) che deve essere:
MINORE di n
DISPARI e
PRIMO con (p-1)*(q-1).
quindi [ (p-1)*(q-1)=(3-1)*(11-1)=2*10=20 ]
3) Calcolare d(=7) in modo che e*d = 1 mod (p-1)*(q-1).
Significa che e*d diviso (p-1)*(q-1)
(divisione intera) dà come risultato 1.
Infatti e*d = 3*7 =21/20 =1.
La chiave pubblica=(n,e)=(33,3)
La chiave privata=(n,d)=(33,7)
CRITTOGRAFIA MODERNA:
1977-RSA (cifrario asimmetrico)
ESEMPIO(cont.)
4) Sia t, intero positivo, il testo in chiaro,
cifriamo il testo con c=(t^e) mod p*q
il risultato ci darà il testo cifrato.
Se t sono i numeri da 0 ad 8, li cifreremo elevandoli alla terza e
facendo il risultato modulo 33.
text
0
1
2
3
4
5
6
7
8
cipher-text
_____________ 0
_____________ 1
_____________ 8
_____________ 27
_____________ 31 4*4*4=64 MODULO 33 = 31
_____________ 26 5*5*5=125 MODULO 33 = 125-(33*3)=26
_____________ 18 6^3=216-(33*6)=18
_____________ 13 7^3=343-(33*10)=13
_____________ 17 8^3=512-(33*15)=17
La chiave per l'RSA è mod n.
Più è grande la chiave, più sarà sicura (ma lenta) la cifratura.
CRITTOGRAFIA MODERNA:
1977-RSA (cifrario asimmetrico)
Anche se RSA è rimasto per qualche anno nel limbo delle belle
idee, poi con la sempre maggiore diffusione di Internet ha
conosciuto un successo enorme, ed è ancor oggi il cifrario a
chiave pubblica più usato. Quasi tutte le operazioni sicure sul
web (protocollo http) usano oggi certificati basati su questo
metodo, ma quanto questo metodo è sicuro?
. . . con numeri primi a 1024 bits si è abbastanza sicuri, infatti
per craccare un RSA con una chiave a:
256 bits basta un potente home computer;
384 bits servirebbe un'organizzazione universitaria
o una grande azienda;
512 bits può essere superata da agenzie statali.
Solo chiavi a 2048 bits possono ritenersi sicure per qualche
anno a ogni livello (e chissà...).
CRITTOGRAFIA MODERNA:
1977-DES (simmetrico a blocchi)
5 maggio 1973: 15 Maggio 1973, il National Bureau of Standards
(NBS) pubblicò un invito, nel Registro Federale,
per l’emissione di un crittosistema standard
 nasce DES  Data Encryption Standard, che
è divenuto il crittosistema più usato nel mondo
1975:
DES fu sviluppato alla IBM come evoluzione di un
crittosistema più antico, LUCIFER, e fu pubblicato sul
Registro Federale il 17 Marzo 1975
15 gennaio 1977: La definizione di DES è riportata nel Federal
Information Processing Standards Publication
46 del 15 Gennaio 1977
1983, 1987, 1992: Riaffermato per successivi 5 anni
giugno 1997, luglio 1998, gennaio 1999 DES challanges
2000 Advanced Encryption Standard (AES)
CRITTOGRAFIA MODERNA:
1977-DES (simmetrico a blocchi)
DES codifica una stringa di plaintext x di 64 bit utilizzando
una chiave k di 56 bit ed ottenendo un testo cifrato
rappresentato da una stringa di 64 bit.
CRITTOGRAFIA MODERNA:
1977-DES (simmetrico a blocchi)
L’algoritmo si compone di tre passi:
1. Dato il plaintext x si costruisce la stringa x0 permutando i
bit di x secondo una permutazione iniziale (fissata) IP. In
particolare, x0=IP(x)=L0R0, dove L0 comprende i primi 32 bit
di x0 e R0 gli ultimi 32
…ciò significa, ad esempio, che il 58-esimo
bit di x è il primo bit di IP(x), il 50-esimo
bit di x è il secondo di IP(x), etc.
CRITTOGRAFIA MODERNA:
1977-DES (simmetrico a blocchi)
2.
LiRi, per 1i16, viene calcolato come
Li=Ri-1
Ri=Li-1  (Ri-1,ki)
dove  è l’operatore di XOR,  è una funzione
deformante che verrà descritta nel seguito, e k1,k2,…,k16
sono stringhe di 48 bit calcolate in funzione di k.
k1,k2,…,k16 formano il key schedule
CRITTOGRAFIA MODERNA:
1977-DES (simmetrico a blocchi)
3.
Si applica la permutazione inversa IP-1 alla stringa di
bit R16L16, ottenendo il testo cifrato y, cioè
y=IP-1(R16L16)
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
La funzione deformante
La funzione  ha come primo argomento la stringa A di 32
bit, come secondo argomento la stringa J di 48 bit, e
produce in output una stringa di bit di lunghezza 32.
A viene “espanso” in una stringa di 48 bit in base ad una
funzione di espansione E(A) fissata. E(A) consiste dei 32 bit
di A permutati, 16 dei quali compaiono due volte
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
Si calcola E(A)  J e si scrive il risultato come la concatenazione
di otto stringhe di 6 bit B=B1B2B3B4B5B6B7B8
Si utillizzano gli Si, 1i8, che sono array 416 i cui elementi
sono interi compresi fra 0 e 15.
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
Data una stringa di 6 bit Bj=b1b2b3b4b5b6, Sj(Bj) viene calcolata
come segue: i due bit b1 e b6 determinano la rappresentazione
binaria di una riga r di Sj (0r3), ed i quattro bit b2b3b4b5
determinano la rappresentazione binaria di una colonna c di Sj
(0c15). Pertanto Sj(Bj) è l’elemento Sj(r,c), scritto in binario
sotto forma di stringa di 4 bit  Cj=Sj(Bj), 1j8.
La stringa di 32 bit C= C1C2C3C4C5C6C7C8 viene permutata in
accordo ad una permutazione P fissata.
La stringa risultante P(C) è (A,J )
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
Infine, occorre descrivere il calcolo della successione
di chiavi, a partire dalla chiave k.
k è una stringa di 64 bit, di cui 56 costituiscono la
chiave vera e propria mentre i rimanenti 8 sono bit di
parità (per il rilevamento di errori).
I bit di parità occupano le posizioni 8,16,…,64 ed
assumono valore tale che ogni byte abbia un numero
dispari di bit a 1. Il bit di parità può servire a rilevare
errori su un singolo bit del byte relativo.
I bit di parità non vengono utilizzati nel calcolo del
key schedule.
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
Calcolo della successione di chiavi ki, 1i16
1.
Data la chiave k a 64 bit, si tralasciano i bit di parità,
mentre si permutano i rimanenti 56 bit in base alla
permutazione PC1 fissata a priori. Sia PC1(k)=C0D0, dove C0
comprende i primi 28 bit di PC1(k) e D0 gli ultimi 28
2. Per i compreso fra 1 e 16 si calcolano
Ci=LSi(Ci-1)
Di=LSi(Di-1)
e ki=PC2(CiDi). LSi è uno shift ciclico a sinistra di una o due
posizioni in funzione del valore di i: si scorre di una
posizione per i=1,2,9,16, di due in tutti gli altri casi. PC2 è
una permutazione fissata
57
1
10
19
63
7
14
21
49
58
2
11
55
62
6
13
41
50
59
3
47
54
61
5
33
42
51
60
39
46
53
28
25
34
43
52
31
38
45
20
17
26
35
44
23
30
37
12
9
18
27
36
15
22
29
4
PC1
PC2
14
3
23
16
41
30
44
46
17
28
19
7
52
40
49
42
11
15
12
27
31
51
39
50
24
6
4
20
37
45
56
36
1
21
26
13
47
33
34
29
5
10
8
2
55
48
53
32
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
Calcolo della successione di chiavi ki, 1i16
Il calcolo della successione di chiavi viene effettuato secondo
il seguente schema:
k
PC1
C0
D0
LS1
LS1
C1
D1
LS2
LS2
LS16
LS16
C16
D16
PC2
PC2
k1
k2
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
La critica più pertinente al DES riguarda la relativa
“ristrettezza” dello spazio delle chiavi, |K |=256 per garantirne
la sicurezza.
Sono state proposte una serie di apparecchiature specialpurpose in grado di sferrare a DES un attacco Known plaintext,
per mezzo di una ricerca esaustiva nello spazio delle chiavi.
Data una stringa di 64 bit, il plaintext x ed il corrispondente
testo cifrato y dovrebbero essere testate tutte le possibili
chiavi fino a quando non viene rilevata una chiave k tale che
ek(x)=y (ce ne potrebbero essere più di una).
Nel 1977, Diffie ed Helman progettarono un chip in VLSI che
poteva testare 106 chiavi al secondo
Una macchina dotata di 106 chip poteva sondare l’intero spazio
delle chiavi in un giorno circa (ma sarebbe costata 20 milioni di
dollari!)
CRITTOGRAFIA MODERNA:
1977-DES (cifrario simmetrico a blocchi)
Anche se descrivere DES a parole può risultare lungo e
noioso, DES può essere implementato in maniera molto
efficiente sia a livello hardware che software:
La sola operazione aritmetica necessaria è lo XOR fra
stringhe di bit.
La funzione di espansione E, le S-box, le permutazioni IP e P
ed il calcolo delle chiavi k1, k2,…,k16 possono essere tutte
effettuate in tempo costante attraverso look-up table in
software o “bruciate” in un circuito in hardware.
DES ha trovato applicazioni significative nelle transazioni
bancarie: veniva utilizzato per codificare i PIN (Personal
Identification Number ) e le transazioni su conto corrente
per operazioni da ATM (Automated Teller Machine )
DES è stato inoltre largamente impiegato da organizzazioni
governative americane, quali il Department of Energy, il
Justice Department ed il Federal Reserve System.
CRITTOGRAFIA MODERNA:
1989-RC2 (simmetrico blocchi)
Di derivazione DES, si differenzia da questo per la
particolarità di poter variare la lunghezza della chiave.
Si è diffuso essenzialmente grazie al fatto che il governo
USA ne ha permesso l'esportazione sebbene limitando la
lunghezza massima della chiave a soli 40 bit. Questa
limitazione lo rende praticamente inefficace per la
protezione di informazioni importanti: i tentativi di
brute-force per la ricerca della possibile chiave scendono
dal massimo di 72 milioni di miliardi del DES ad un
massimo di soli 1000 miliardi rendendo possibile la
decrittazione, con una modica spesa in hardware, a poche
ore di attesa (parliamo sempre di hardware noti!).
Questo algoritmo si differenzia dal DES anche per il
fatto che non è pubblico, bensì di proprietà della RSA
Data Security Inc.
CRITTOGRAFIA MODERNA:
1991-IDEA (simmetrico a blocchi)
IDEA è stato proposto quando si è intuito che il sistema DES
non avrebbe resistito per molto agli attacchi degli analisti.
IDEA (International Data Encryption Algorithm) è nato nel
1991 sotto il nome di IPES (Improved Proposed Encryption
Standard), ed è stato progettato da due famosi ricercatori in
Svizzera: Xuejja Lai e James L. Massey. Come il DES è un
codice cifrato a blocchi di 64 bit, la differenza sta nel fatto
che questa volta però la chiave è di 128 bit e questo dovrebbe
impedire di trovare la chiave procedendo per tentativi poiché le
chiavi possibili sono infatti 2128.
La cifratura con IDEA comporta una divisione del blocco di 64
bit del testo normale in 4 sottoblocchi di 16 bit. Ogni
sottoblocco subisce 8 passi in cui sono coinvolte 52 sottochiavi
diverse a 16 bit ottenute dalla chiave a 128 bit.
CRITTOGRAFIA MODERNA:
1991-IDEA (simmetrico a blocchi)
4 blocchi di input a 16 bit

+
Addizione a 16 bit
X
Moltiplicazione a
16 bit modulo 216
# OR esclusivo a 16 bit
4 blocchi di output a 16 bit
CRITTOGRAFIA MODERNA:
1991-IDEA (simmetrico a blocchi)
Le sottochiavi sono generate in questo modo:
1.
2.
3.
La chiave a 128 bit è divisa in 8 blocchi di 16 che
costituiscono le prime 8 sottochiavi;
Le cifre della chiave a 128 sono spostate di 25 bit a
sinistra in modo da generare una nuova combinazione il
cui raggruppamento ad 8 bit fornisce le prossime 8
sottochiavi;
Il secondo passo è ripetuto finché le 52 sottochiavi
sono generate.
Ogni passo comporta calcoli abbastanza semplici come
XOR (operazioni di OR esclusivo), addizione e
moltiplicazioni in modulo 16 (significa che i risultati non
possono superare i 16 bit, quindi quelli eccedenti
vengono scartati).
CRITTOGRAFIA MODERNA:
1991-IDEA (simmetrico a blocchi)
Durante gli 8 passi il secondo e il terzo blocco si
scambiano di posto mentre all'ultimo passo i 4
sottoblocchi vengono concatenati per produrre un
blocco di testo cifrato a 64 bit.
La decodifica è identica eccetto il fatto che le
sottochiavi sono ottenute in maniera diversa dalla
chiave principale a 128.
IDEA è al momento il cifrario a chiave segreta più
utilizzato per quanto riguarda i software commerciali di
crittografia, vista la sua velocità di codifica e
decodifica e la sua elevata sicurezza.
CRITTOGRAFIA MODERNA:
1993-BlowFish (cifrario simmetrico)
Blowfish è un cifrario a blocchi
sviluppato da Bruce Schneier,
autore del famoso libro “Applied
Cryptography”.
Bruce Schneier
Questo algoritmo utilizza varie tecniche tra le quali la rete
Feistel, le S-box dipendenti da chiavi e funzioni F non invertibili
che lo rendono, forse, l’algoritmo più sicuro attualmente
disponibile.
Le chiavi utilizzate sono di dimensioni variabili fino ad un max. di
448 bit e i blocchi utilizzati per la cifratura sono di 64 bit.
Non si conoscono al momento tecniche di attacco valide nei suoi
confronti. E' considerato uno degli algoritmi di cifratura a
blocchi più veloce (risulta più veloce del DES e dell'IDEA).
Blowfish non è brevettato ed è di dominio pubblico.
CRITTOGRAFIA MODERNA:
1994-RC5 (simmetrico a blocchi)
Proprietà della RSA Data Security Inc., basato su DES ed
evoluzione di RC2.
Si differenzia dall'RS2 per la notevole flessibilità operativa:
i blocchi possono essere di 32, 64 o 128 bit, e la chiave può
arrivare sino a 2048 bits. La sovracifratura sequenziale arriva
fino a 255 permutazioni.
CRITTOGRAFIA MODERNA:
1997-CAST (simmetrico a blocchi)
L’algoritmo CAST, progettato da Carlisle Adams e
Stafford Taveres, è ottimo e molto stabile. E’ molto
simile al Blowfish come struttura poiché utilizza più o
meno le stesse tecniche crittografiche (con l’eccezione
della rete Feistel rimpiazzata da un sistema chiamato di
"permutazioni- sostituzioni").
David Wagner, John Kelsey e Bruce Schneier hanno
scoperto un attacco sulle chiavi a 64 bit del CAST
mediante 217 testi cifrati, con 248 computazioni
dell’algoritmo. Naturalmente l’attacco non è efficace al
100 per cento. L’algoritmo CAST è registrato dalla
Entrust Technologies, che lo ha rilasciato per un uso
libero e gratuito.
CRITTOGRAFIA MODERNA:
19xx-3DES (simmetrico a blocchi)
Triple DES è una variazione del DES standard. Prende in
input una chiave a 192 bit (24 caratteri) e la separa in
tre chiavi. Triple DES è utilizzato per crittografare un
file con la prima chiave. Poi il file è decrittato con la
seconda chiave. L'ultima fase è quella di crittografarlo
con la terza chiave. Se le tre chiavi a 64 bit sono le
stesse, Triple DES è uguale al DES normale. Comunque
se utilizzato correttamente è molto più sicuro del DES
regolare.
CRITTOGRAFIA MODERNA:
2000-AES (simmetrico a blocchi)
Il 2 ottobre del 2000 il NIST (National Institute of
Standard and Technology - Istituto Nazionale degli
Standard e delle Tecnologie) ha annuciato la scelta di
adottare un nuovo standard di cifratura tra 15 possibili
candidati. Questo nuovo standard nasce con lo scopo di
sostituire il desueto DES la cui dimensione delle chiavi di
cifratura inizia ad essere troppo piccola.
Rijndael - lo strano nome nasce dall'unione dei nomi dei
suoi inventori, ovvero Rijmen e Daemen - è stato scelto
come il fututo AES ed è diventato lo standard per la
cifratura del XXI secolo.
Fino al Novembre 2002 non sono stati riscontrati punti
deboli.
CRITTOGRAFIA MODERNA:
2000-AES (simmetrico a blocchi)
In questo sistema di crittazione a "blocchi" il messaggio viene
suddiviso in blocchi di 128 bit. Esistono varianti che
propongono l'uso di chiavi di cifratura di 128, 192 o 256 bit.
Le modalità operative del sistema AES sono le seguenti:
1. Il messaggio viene sottoposto all'operazione logica XOR per
mezzo della chiave privata K0.
2. Per ogni blocco da 128 bit, la funzione F viene iterata per
mezzo di chiavi figlie, generate da un processo di
espansione attivato dalla chiave master.
La funzione F viene iterata 10 volte.
CRITTOGRAFIA MODERNA:
2000-AES (simmetrico a blocchi)
Ogni blocco da 128 bit è suddiviso in 16 byte ed ogni byte subisce
la prima permutazione S. Poi alla sequenza generata viene
applicata una seconda permutazione P e a questa viene aggiunta
per mezzo di un AND logico la chiave figlia a 128 bit generata
dalla funzione di espansione,
CRITTOGRAFIA MODERNA:
2000-AES (simmetrico a blocchi)
La chiave Ki si ottiene dalla funzione di espansione utilizzando
come sottochiave K(i-1) e utlizzando K0 come chiave segreta.
La funzione di espansione è descritta dalla seguente figura e i 16
byte della chiave K(i-1) sono processati di 4 in 4 (byte).
La costante i ha la funzione di modificare il campo iesimo
elevandolo alla i. Questo rende l'implementazione di AES molto
efficiente.
CRITTOGRAFIA MODERNA:
1991 PGP (Sistemi ibridi)
Nel giugno 1991 lo statunitense Philip Zimmermann
realizza e distribuisce gratuitamente il programma
PRETTY GOOD PRIVACY (PGP) un programma di
crittografia diventato ormai uno standard (tanto che
l'insegnamento del suo utilizzo è previsto nel master per
la security dell'università di Milano).
= m
CRITTOGRAFIA MODERNA:
1991 PGP (Sistemi ibridi)
PGP usa un sistema misto di crittografia, infatti usa sia il
sistema simmetrico che quello asimmetrico perche':
•Quando si usa un sistema simmetrico (con una chiave segreta)
è necessario preoccuparsi di come scambiare la
chiave segreta con il destinatario del messaggio
percio' si potrebbe preferire un sistema asimmetrico
•Il sistema asimmetrico però impiega parecchio tempo per
cifrare l'intero messaggio (e' circa 4000 volte piu‘
lento del sistema simmetrico)
= m
CRITTOGRAFIA MODERNA:
1991 PGP (Sistemi ibridi)
Le prime versioni di PGP (fino alla 5.0) usavano l' algoritmo RSA
(sistema asimmetrico), e l' algoritmo IDEA (sistema
simmetrico).
L' ultima versione usa 2 diversi algoritmi:
DSS/Diffie-Hellman e CAST
(ma se si sta usando la versione internazionale si può scegliere
di usare l' algoritmo RSA o DSS/Diffie-Hellman come sistema
asimmetrico e l' algoritmo CAST, Triple-DES o IDEA come
sistema simmetrico).
= m
CRITTOGRAFIA MODERNA:
2003 QUANTISTICA
Verso la fine del 2003 sono comparsi sul mercato i primi due
prototipi commerciali da parte di "MagiQ Technologies" (New
York) e "id Quantique" (Ginevra). Inoltre altre aziende, quali
NEC, Toshiba e Hewlett-Packard, stanno sviluppando dei propri
sistemi di Crittografia Quantistica che presto appariranno sul
mercato.
L'Unione Europea ha finanziato il progetto SECOQC, iniziato il
1 Aprile 2004 e da alcuni indicato come il progetto "antiechelon" europeo per lo sviluppo sia della ricerca che della
implementazione tecnologica e commerciale della Crittografia
Quantistica (la Press Release è disponibile sul sito
quantenkryptographie.at e la descrizione del progetto sul sito
www.arcs.ac.at/quanteninfo).
Il progetto ha un budget di 11,4 Milioni di euro in 4 anni, vi
partecipano 41 partner in 12 paesi europei, e per l'Italia vi sono
m il CNR, la Scuola Normale Superiore di
l'Università di =
Pavia,
Pisa ed il Politecnico di Milano.
CRITTOGRAFIA MODERNA:
2003 QUANTISTICA
Uno dei primi risultati teorici è stata l'invenzione dei
Computer Quantistici.
Questi sono elaboratori che funzionano seguendo la logica delle
leggi
della
Meccanica
Quantistica
e
quindi
sono
(potenzialmente) in grado di fare i conti in modo molto diverso
da quello noto a tutti noi. In particolare gli elaboratori
quantistici saranno in grado di risolvere alcuni difficili problemi
matematici istantaneamente. Tra questi problemi vi sono quelli
su cui si basano molti degli algoritmi crittografici moderni,
quali ad esempio il famoso RSA.
In altre parole, se fosse possibile costruire oggi un elaboratore
quantistico, questo sarebbe in grado quasi istantaneamente di
ottenere da una chiave pubblica di qualunque lunghezza, la
corrispondente chiave privata utilizzata dagli algoritmi
Asimmetrici quali RSA. Questi algoritmi sono utilizzati oggi per
l'identificazione delle parti e la creazione e scambio delle
chiavi per cifrare le connessioni. Poterli "rompere" vorrebbe
dire rendere del
= tutto
m insicuri smart-card, firme e certificati
digitali, navigazione in internet, email cifrate ecc...
CRITTOGRAFIA MODERNA:
2003 QUANTISTICA
Al momento comunque non siamo ancora in grado di costruire un
elaboratore quantistico, e le stime più ottimistiche indicano
che ci vorranno ancora 20 anni.
La Crittografia Quantistica, nata un paio di anni prima degli
elaboratori quantistici, offre però una, per il momento parziale,
soluzione ai possibili problemi che avverranno all'arrivo degli
elaboratori quantistici.
La Crittografia Quantistica permette di creare e scambiare
chiavi segrete da utilizzare poi per cifrare le comunicazioni
pertanto un nome più appropriato è
"Quantum Key Distribution".
I sistemi attuali di Crittografia Quantistica si basano sul
codificare un bit informatico in una proprietà di un singolo
m
fotone, che è il= costituente
fondamentale della luce e delle
radiazioni elettromagnetiche.
CRITTOGRAFIA MODERNA:
2003 QUANTISTICA
Come abbiamo già detto, la Meccanica Quantistica garantisce
che se un fotone è intercettato da un attaccante nel suo
tragitto tra le due parti che stanno generando la chiave
segreta, alcune delle sue proprietà vengono modificate e
l'attacco può essere perciò rilevato. In altre parole la
Meccanica Quantistica garantisce l'individuazione di qualunque
tentativo di attacco al processo di generazione e scambio della
chiave.
Il primo e principale protocollo della Crittografia
Quantistica è il "BB84" dai nomi di Bennett e Brassard che lo
proposero nel 1984.
= m
CRITTOGRAFIA MODERNA:
CONCLUSIONI
Una domanda che possiamo porci è:
Quanto deve essere potente un metodo crittografico per
stare tranquilli?
A questa domanda si può rispondere in due modi:
1. "Più si va sul sicuro meglio è".
2. "Il fine della crittografia, non è sempre quello di
rendere assolutamente impossibile la decifrazione,
quanto quello di proteggere nella misura in cui la
decifrazione richiede più tempo e risorse economiche del
vantaggio che può portare la conoscenza delle
informazioni protette.
Se qualche secolo fa, un qualsiasi polialfabetico con chiave
di 4 cifre sarebbe stato considerato impossibile da
forzare, oggi c'è invece da preoccuparsi anche dei
semplici attacchi a forza bruta possibili solo grazie ai
computers.
CRITTOGRAFIA MODERNA:
CONCLUSIONI
In altre parole, la sicurezza di un sistema crittografico deve
aumentare col passare del tempo.
Se oggi utilizzassimo ancora un sistema come il cifrario di
Cesare, anche un ragazzino sarebbe in grado di decifrare un
messaggio ed il più lento dei computers (anche uno dei primi
8086 o un 286) potrebbe trovare la soluzione in qualche
frazione di millesimo di secondo.
Fra una decina di anni programmi ed algoritmi famosi come
l’RSA, 3DES, IDEA etc.. potranno essere forzati col semplice
Brute-Force grazie ai miliardi di operazioni al secondo che già
adesso alcuni PC sono in grado di compiere.
CRITTOGRAFIA MODERNA:
CONCLUSIONI
Il futuro quasi certamente è la Crittografia Quantistica.
La differenza principale tra i protocolli a Chiave Pubblica
e la Crittografia Quantistica è che quest'ultima non
teme attacchi basati sulla potenza di calcolo degli
elaboratori o sugli sviluppi di tecniche matematiche che
permettono già oggi di rompere sistemi a Chiave Pubblica
che adottano chiavi pubbliche/private troppo corte.
D'altra parte, la Crittografia Quantistica richiede oggi
l'uso di singoli fotoni, e non è facile creare e rilevare
singoli fotoni con le tecnologie odierne anche se lo
sviluppo in questo campo è molto rapido.
Storia della crittografia:
LINK
http://www.vialattea.net/esperti/mat/critt/
http://www.sikurezza.cc
http://www.rcvr.org/varie/pgp/storia.htm
http://www.matematicamente.it/storia/crittografia.htm
http://www.123point.net/001topzine/scienze/artscie3.htm
http://digilander.libero.it/thyguild/
http://digilander.libero.it/tuttisiti/crittografia.htm
Storia della crittografia:
LINK
http://www.liceofoscarini.it/studenti/crittografia/index
.html
http://www.dia.unisa.it/~ads/corsosecurity/www/CORSO-9900/crittografiaclassica/
www.riksoft.com
http://telemat.det.unifi.it/book/1997/cryptography/
http://www.liceofoscarini.it/studenti/crittografia/critt
o/
www.sancese.com
Scarica

La storia della crittografia