CAPITOLO 1. INTRODUZIONE ALLA CRITTOGRAFIA 3
ne codificato, attraverso l’uso di un algoritmo e di una chiave, detta
chiave di cifratura;
• la seconda, detta di decifratura (decrypt), in cui il testo cifrato vie-
ne riportato in chiaro, anche in questo caso mediante l’utilizzo di un
algoritmo e di una chiave, detta chiave di decifratura.
Quindi, nell’ambito della crittografia, l’algoritmo è l’insieme delle operazioni
che consentono di trasformare un testo in chiaro nel corrispondente testo
cifrato, e viceversa. La chiave è, invece, la particolare parola, o frase, “che
consente, tramite l’applicazione dell’algoritmo di cifratura, di trasformare un
testo in chiaro in un testo cifrato”. In altre parole, la chiave è il codice che
consente di attivare l’algoritmo.
Il vantaggio della crittografia è che anche se il nemico intercetta il messaggio,
esso risulta incomprensibile e quindi inutilizzabile. Infatti il nemico, non
conoscendo il procedimento di alterazione, dovrebbe trovare difficile, se non
impossibile, ricostruire il significato. Un cifrario, detto anche sistema di
cifratura, o sistema di crittografia, è un sistema formato “da un insieme di
testi in chiaro, dai corrispondenti testi cifrati, dall’algoritmo e dalle chiavi”.
Le nozioni di algoritmo e di chiave sono molto importanti per capire
il principio su cui si basa la filosofia della moderna crittanalisi, e che sarà
fondamentale nel prosieguo del discorso per valutare la sicurezza dei vari
cifrari che analizzeremo.
Il principio di Kerckhoffs, afferma:
“ la sicurezza di un crittosistema (cifrario) non deve dipendere dalla segretezza
dell’algoritmo usato, ma solo dalla segretezza della chiave”.
Assieme alla crittografia, cioè al desiderio di nascondere informazioni,
esiste anche la crittoanalisi, cioè il desiderio di scoprire le informazioni
nascoste. La parola crittoanalisi deriva dalle parola greche“kriptòs” e “na-
lyein” (risolvere) definisce l’insieme di tecniche usate per decifrare messaggi
crifrati.
Fra decifrare e decrittare vi è infatti una differenza sostanziale: chi decifra
è infatti colui il quale è legittimamente in possesso della chiave del cifrario,
e la applica secondo le corrette regole per mettere in chiaro un testo cifrato
a lui regolarmente destinato; chi decritta, invece, è un estraneo che non è
affatto in possesso della chiave, ma tenta fraudolentemente di venire a co-
noscenza del contenuto di un testo cifrato a lui non destinato utilizzando
sistemi indiretti.
Questi due termini, Crittografia e Crittoanalisi, anche se contrappo-
sti, appartengono ad una stessa scienza: la Crittologia.
CAPITOLO 1. INTRODUZIONE ALLA CRITTOGRAFIA 4
Tipi di Attacco
E’ opportuno accennare ai principali strumenti con i quali il nemico può
cercare di violare ciò che la crittografia rende, almeno tendenzialmente, impe-
netrabile. Relativamente alle finalità dell’attacco di un “nemico”, è opportuno
distinguere tra:
• attacco passivo;
• attacco attivo.
Nell’attacco passivo il desiderio dell’intruso è solo quello di leggere il messag-
gio; nell’attacco attivo invece esso vuole anche cambiarlo, allo scopo di cau-
sare danni o per avere vantaggi personali. Per quanto riguarda le principali
ipotesi dell’attacco, in genere si distingue tra:
1. Known ciphertext attack (Attacco ad un testo cifrato noto), in cui il
nemico non conosce nulla del contenuto dei messaggi scambiati; assiste
esclusivamente al passaggio dei dati in forma cifrata. In tal caso l’at-
tacco è assai complicato perché costituito dal solo brute force attack,
che consiste nel provare ogni possibile combinazione della chiave fino
ad individuare quella giusta.;
2. Known plaintext attack (Attacco ad un testo in chiaro noto), in cui
il nemico s’impossessa di una coppia di messaggi, in chiaro e della
corrispondente versione cifrata; dal loro esame e dal loro confronto
cerca di risalire all’algoritmo di cifratura ed alla chiave usata, in modo
da essere in grado di decrittare tutti i successivi messaggi intercettati;
3. Chosen plaintext attack(Attacco ad un testo in chiaro scelto) in cui il
nemico subdolamente suggerisce il testo in chiaro per ottenere da que-
sto il testo cifrato. Il chosen plaintext attack vanta precedenti storici
nella seconda guerra mondiale, quando gli americani inviavano delle co-
municazioni di fantasia per indurre i giapponesi a trasmetterle cifrate al
proprio comando: ciò consentiva agli americani di carpire informazioni
decisive sul tipo di codice usato dal nemico.
Capitolo 2
La Crittografia Classica
La crittografia è stata usata per nascondere informazioni fin dall’antichi-
tà, ha avuto una notevole importanza in alcuni eventi storici (in particolar
modo durante la Seconda Guerra Mondiale), usata tuttora soprattutto in
ambito informatico. In questo paragrafo esamineremo i principali cifrari del
passato, anche perché molti dei principi da essi adottati sono validi ancora
oggi, e conoscerli è il modo migliore per capire la crittografia moderna.
Tutte le tecniche di cifratura della Crittografia Classica si possono raggrupare
in “Famiglie di Cifrari”. Vediamo le più famose.
2.1 Cifrari a Trasposizione
Con “trasposizione” si intende il fatto che le lettere costituenti il testo
da cifrare vengono semplicemente “rimescolate” in modo talmente complesso
da risultare in apparenza caotico; solo chi è a conoscenza della regola con
cui è stato effettuato tale rimescolamento è in grado di riportare le lettere
nelle posizioni originarie e dunque di leggere il messaggio. In pratica il testo
cifrato con un meccanismo a trasposizione non è altro che un gigantesco
anagramma del testo chiaro, e la chiave consiste nella conoscenza dei passi
con cui ripristinare la successione originaria delle lettere.
Nel cifrato prodotto da un sistema a trasposizione non compaiono dunque
lettere diverse da quelle presenti nel testo chiaro: solo il loro ordine relativo è
mutato. Di questa categoria fà parte la tecnica della Scitala Lacedemonica
2.1.1 La Scitala Lacedemonica
Uno dei più antichi sistemi crittografici di cui ci sia giunta una attendibile
descrizione storica, ossia la famosa scytala usata abitualmente in Grecia ed
in particolare a Sparta sin da prima dell’ottavo secolo avanti Cristo, altro non
era che un cifrario a trasposizione realizzato mediante un espediente mecca-
nico tanto semplice quanto astuto. Del suo utilizzo ci parlano diversi autori
5
CAPITOLO 2. LA CRITTOGRAFIA CLASSICA 6
dell’antichità: i primi riferimenti al suo uso ci vengono dal poeta Archiloco
(VII secolo a. C.), che la menziona nei suoi lavori pur senza descriverla in
dettaglio; Apollonio da Rodi (III sec. A. C.) la cita esplicitamente come
dispositivo crittografico; e Plutarco (I sec. D. C.) , nelle sue famose Vite, ce
ne fornisce una descrizione piuttosto precisa.
La scytala (dal termine greco che significa “bastone”, “testimone”) è costi-
tuita da una coppia di cilindri di legno lunghi e relativamente sottili, caratte-
rizzati dall’avere diametri e lunghezza identici: ciascuno dei due corrispon-
denti ne tiene uno per sé. Per utilizzarla occorre per prima cosa disporre
di una strisciolina lunga e sottile di materiale sul quale si possa scrivere,
quale pelle, papiro, carta, cuoio. Questa strisciolina va avvolta strettamente
a spirale sul bastone in modo che i suoi bordi non si sovrappongano bensì
rimangano adiacenti, affiancando tra loro le varie spire con regolarità sino a
ricoprire il bastone per la sua intera lunghezza. A questo punto si può scri-
vere il messaggio direttamente sulla strisciolina, procedendo tuttavia non nel
verso della lunghezza della striscia ma in quello della lunghezza del bastone,
ossia trasversalmente alla disposizione della striscia stessa ed in modo che
ad ogni spira corrisponda una lettera.
Al termine della scrittura basta sciogliere la striscia dal bastone ed in-
viarla al proprio corrispondente. Le lettere sulla strisciolina saranno infatti
tutte disordinate, in modo strettamente dipendente dal diametro del bastone
utilizzato per arrotolarla. Solo chi dispone di un bastone identico potrà age-
volmente ricostruire il messaggio: a lui basterà infatti riarrotolare la striscia
sulla propria scytala per poter ricreare la disposizione iniziale e leggere così
semplicemente il testo che si verrà a formare, automaticamente riordinato,
sotto ai suoi occhi.
Fig. 2.1: La Scitale Lacedomica
Non era certamente ciò che noi oggi definiremmo un “algoritmo” sicuro,
ma in base a quanto ci tramandano storici greci quali Plutarco, esso fu usato
con successo per molti secoli.
CAPITOLO 2. LA CRITTOGRAFIA CLASSICA 7
2.2 Cifrari a Sostituzione
Il cifrario “Cifrario a Sostituzione”, è quello in cui ogni lettera dell’alfa-
beto in chiaro è sostituita con una lettera (o simbolo) dell’alfabeto segreto
(la regola usata è detta sostituzione). I cifrari a sostituzione si distinguono
in:
• monoalfabetici;
• polialfabetici.
I cifrari monoalfabetici sono quelli che usano un unico alfabeto segreto per
cifrare un testo in chiaro; quindi: “ogni lettera dell’alfabeto in chiaro è cifrata
sempre con la stessa lettera dell’alfabeto segreto”. I cifrari polialfabetici,
invece, sono quelli che usano più alfabeti segreti per cifrare lo stesso testo;
quindi: “una stessa lettera del testo in chiaro non sarà cifrata sempre con
una stessa lettera”.
2.2.1 Cifrario di Cesare
Uno dei primi esempi di Cifrario Monoalfabetico è sicuramente il “Cifrario
di Cesare”.
Il suo nome è dato dal fatto che questo era il metodo utilizzato da Giulio
Cesare per le comunicazioni riservate, soprattutto per quelle militari.
Questo cifrario consiste nel creare un’alfabeto di cifratura in cui la posizione
delle lettere, rispetto alla normale collocazione, veniva spostata di 3 posti
verso sinistra (la chiave era dunque 3).
Testo in chiaro ABCD E FG H I L MNOPQR S TUV Z
Testo Cifrato D E F GH I L MNO P QR S TUV Z ABC
Tabella 2.1: Cifrario di Cesare
Il messaggio in chiaro Cifrario di Cesare veniva quindi tradotto in questo
modo:
Testo in chiaro C I FRAR I OD I C E S AR E
Testo Cifrato F N I UDUNRGN F HVDUH
Tabella 2.2: Messaggio Cifrato
In quel tempo questa tecnica dava una buona sicurezza perchè i nemici
non riuscivano a leggere facilmente nemmeno i messaggi in chiaro; al giorno
CAPITOLO 2. LA CRITTOGRAFIA CLASSICA 8
d’oggi, però, questo metodo è facilmente attaccabile dalle tecniche di Crit-
tanalisi che analizzano la frequenza delle lettere di ogni lingua.
Fig. 2.2: Distribuzione di frequenza delle varie lettere nella lingua italiana
Infatti per forzare un testo cifrato monoalfabetico, si esegue una statisti-
ca della frequenza delle lettere presenti nel messaggio cifrato e si costruisce
un grafico disponendo i caratteri in ordine decrescente. I caratteri più fre-
quenti nel crittogramma, saranno le lettere più frequenti nella lingua e questo
permette di ricostruire il messaggio originale.
Per depistare i tentativi di analisi statistica delle frequenze, si iniziarono
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.
2.2.2 Il Disco di Leon Battista Alberti
Il Disco Cifrannte di Leon Battista Alberti è il primo sistema di ci-
fratura polialfabetica. Leon Battista Alberti, nel suo Trattato, ha proposto
un disco composto di due cerchi concentrici di rame. Uno esterno fisso di
diametro maggiore sul quale sono riportate le lettere dell’alfabeto in chiaro
e uno interno mobile per le lettere dell’alfabeto cifrante. Il disco esterno è
composto di 24 caselle contenenti 20 lettere maiuscole e in ordine lessico-
grafico, (escluse le lettere H, K, W e Y, con U=V I=J) e 4 cifre (da 1 a 4)
Il disco interno riporta le 24 lettere minuscole in maniera disordinata (con
U=V e I=J) ed un simbolo speciale &.
CAPITOLO 2. LA CRITTOGRAFIA CLASSICA 9
Fig. 2.3: Disco Cifrante di Leon Battista Alberti
Per cifrare un messaggio il metodo usato è semplice ma ingegnoso, ve-
diamo un esempio:
per mandare il messaggio MESSAGGIO TOP SECRET a B, A dovrà
eseguire queste operazioni:
1. Togliere tutti gli spazi dal messaggio e inserire a random cifre com-
prese tra 1 e 4: in questo caso il messaggio potrebbe risultare questo:
MESS1AGG4IOTO2PS2CR1ET;
2. Scegliere un lettera minuscola di partenza e girare il disco interno in
modo tale che la lettera scelta venga a trovarsi sotto la A del disco
esterno, dovrà quindi cominciare il messaggio cifrato con la lettera
scelta;
3. Ora dovrà cifrare il testo usando la corrispondenza venutasi a creare
tra le lettere esterne e quelle interne, se si trova una doppia, la lettera
dovrà essere cifrata una sola volta. Quando trova una cifra la crit-
ta normalmente e usa come chiave la lettera con cui la cifra è stata
criptata. Ritorna quindi al punto 2.
Il testo cifrato ottenuto usando il disco in figura sarà questo:
Disco Fisso A B C D E F G I LMNO P QRSTVXZ 1 2 3 4
Disco Mobile c & b m d g p f z n x y v t o s k e r l h a i q
Testo in Chiaro M E S S 1 AGG 4 I O TO 2 P S 2 CR 1 ET
Testo Cifrato c n d s h
Arrivato a questo punto la chiave viene cambiata con la lettera h