vuoi
o PayPal
tutte le volte che vuoi
La crittografia: percorso tra l’avanti e il dopo Cristo
Spesso il termine “crittografia” viene confuso con la fantascienza! Pensando a essa è molto probabile che ci vengano in mente i soliti stereotipi dei tecnici informatici immersi in una miriade di dati, numeri e lettere, visti una volta nelle produzioni cinematografiche americane e mai più dimenticate. In realtà, se da una parte la crittografia raccoglie nozioni matematiche veramente complesse, dall’altra è un sistema di comunicazione all’ordine del giorno, e per questo è bene sapere di che cosa si occupa.
Come prima cosa possiamo dire che la crittografia, insieme alla crittoanalisi, dà vita a quella disciplina che prende il nome di crittologia, la scienza che si occupa dei messaggi nascosti e dei loro significati. La radice delle tre parole si rifà alla parola greca “kryptòs”, che significa “nascosto”. Proprio questa caratteristica, quella di un qualcosa di non visibile, oscurato, segreto, sta alla base della crittografia. Si occupa quindi di trovare dei metodi per poter rendere un determinato messaggio “kryptòs” (se così possiamo dire), quindi ignoto. È evidente come questa disciplina si trovi fortemente legata alla comunicazione e per questo motivo affonda le sue radici nel mondo delle antiche polis.
Durante il Novecento, grazie al grande sviluppo tecnico-scientifico, la crittografia ha avuto una maggiore importanza, in ambito politico-militare e privato. Ciò nonostante nelle fasce più basse di età, rimangono ancora delle tracce della crittografia delle origini. Tutti i bigliettini segreti che da bambini abbiamo mandato per comunicare con i nostri amichetti senza essere rimproverati dalle maestre sono, relativamente, delle arcaiche forme di crittografia. La cosa importante non è il modo in cui il messaggio viene nascosto, ma l’efficienza della sua codifica e la sua non-interpretabilità.
L’elemento base di un buon sistema di crittografia (che non è cambiato nel tempo) è una chiave, utilizzata sia dal mittente che dal destinatario per poter cifrare/decifrare il messaggio. Ipotizziamo di chiamare M il messaggio che un mittente X deve spedire a un destinatario Y. Per svariate ragioni che non rientrano nel nostro interesse, tale messaggio M deve rimanere segreto tra i due soggetti: ecco quindi che X necessita di una chiave K, in modo da trasformare il messaggio in chiaro M in un messaggio criptato C, che soltanto Y può decifrare, poiché è in possesso della chiave K.
Le prime tracce di crittografia risalgono circa al V secolo a. C. La loro forma è ancora strettamente legata alla stenografia: ciò che viene nascosto non è il significato del messaggio, ma il messaggio stesso. All’interno delle Storie di Erodoto ritroviamo un racconto del tiranno di Mileto, Isteo. Lasciato il trono al cugino Aristagora, il giovane sovrano greco ha la necessità di mandare a Mileto un messaggio, ma la strada è occupata dalle guardie. Decide allora di chiamare un servo, rasargli i capelli e disegnare dei segni sulla testa. Cresciuti i capelli, lo schiavo venne mandato a Mileto e poté riportare il messaggio senza creare nessuno problema e soprattutto senza destare sospetto.
Il primo sistema di crittografia che può essere definito tale invece è la Scacchiera di Polibio, risalente al II secolo a. C. Lo stesso storico, all’interno della sua opera “Le Storie”, ci fornisce una dettagliata descrizione. Si tratta di un cifrario a colpi, trasmesso attraverso due gruppi da cinque torce. Come mostra la tabella qui al lato, a ogni lettera corrisponde una coppia di coordinate. Individuate le lettere necessarie per comporre le parole il mittente si collocava in un punto preciso, con cinque torce a destra e altre cinque a sinistra. Le torce alzate a sinistra indicavano il numero della riga, mentre quelle alzate a destra in numero della colonna. A questo punto il destinatario, che riceveva le coordinate delle lettere, andava a cercarle nella tabella e componeva il messaggio. Questo sistema era stato inventato principalmente per la comunicazione a distanza, ma rappresenta comunque una forma di “comunicazione nascosta”. La riporta come in origine le lettere dell’alfabeto greco minuscole (non per corrispondenza) ma per fare un esempio possiamo criptare la parola “crittografia” utilizzando lo schema con le lettere dell’alfabeto italiano: alla “C” corrispondono le coordinate “13” e, facendo così per tutte le lettere, otteniamo come codice da segnalare: “13 42 24 44 44 34 22 42 11 21 24 11”.
Un altro sistema di crittografia che ebbe una notevole importanza storica fu il Codice di Cesare. L’algoritmo è molto semplice e altrettanto sicuro. Fissata una chiave, che per comodità chiameremo N, essa è un numero da 1 a 25. Prendendo un messaggio in chiaro M, il suo messaggio corrispondente crittografato C sarà ottenuto sostituendo ogni lettera di M con la lettera N-esima successiva. Naturalmente, una volta arrivati alla lettera Z, le lettere a disposizione iniziano nuovamente dalla A, in maniera ciclica. Questo algoritmo può essere visto come la generalizzazione dell’intero Codice, in quanto Cesare era solito usate come chiave N il numero tre. A questo punto, come mostra la tabella, si può osservare come a ogni lettera di un messaggio in chiaro corrisponda, nel messaggio crittografato, la terza lettera a essa successiva nell’alfabeto. Quindi, ipotizzando di voler crittografare sempre la nostra parola “crittografia”, otterremo i seguenti messaggi criptati.:
- (Codice di Cesare, con chiave N = 3) FUNZZRLUDIND
- (Codice di cesare generalizzato, con chiave N = 10) MBSDDYQBKPSK
La caratteristica comune di questi due antichi sistemi si ritrova nella chiave: sia il mittente che il destinatario sono a conoscenza della chiave di crittografia, altrimenti la comunicazione non sarebbe completa. Un sistema con questa specifica caratteristica, viene definito “sistema di crittografia simmetrica” (o “a chiave privata”). In termini matematici potremo dire che, dato un messaggio M, il mittente P cripta il messaggio in funzione della chiave K attraverso l’algoritmo della crittografia simmetrica S. A questo punto il destinatario D, che è a conoscenza della chiave K, è in grado di applicare la funzione inversa e quindi comprendere il messaggio.
Questo sistema venne notevolmente utilizzato per scopi militari. Affianco alla crittografia simmetrica si colloca la crittografia asimmetrica, o a “doppia chiave”. Come dice il nome stesso, all’interno di questo sistema sono presenti due chiavi, una pubblica e una privata, legate tra loro da particolari relazioni matematiche. Questo sistema è molto più sicuro, perché garantisce al mittente la certezza di spedire il messaggio solamente al destinatario. Presi un mittente P e un destinatario D, il messaggio in chiaro M verrà cifrato con la chiave pubblica di D. Il messaggio ottenuto MD verrà cifrato nuovamente nella chiave privata di P, ottenendo il messaggio crittografato C. Arrivato al destinatario C verrà prima decifrato nella chiave pubblica di P e poi, ottenuto il messaggio MD, verrà decifrato nella chiave pubblica di D, in modo tale da ottenere il messaggio in chiaro M. Questo sistema viene utilizzato ad esempio per la generazione della firma digitale. Attenzione però: attraverso la firma digitale il messaggio non viene crittografato, ma viene accertata l’attendibilità del mittente.
Grazie ai nuovi sviluppi dei sistemi di crittografia e della fisica teorica è stato introdotto un nuovo sistema, definito “crittografia quantistica”, che sfrutta nozioni di meccanica quantistica per il passaggio delle chiavi. Questo sistema si rifà al Cifrario di Verman, un cifrario polialfabetico dove la chiave di cifratura deve essere lunga quanto il testo del messaggio e può essere utilizzata solamente una volta. La sicurezza di questo sistema è garantita da una dimostrazione matematica e per tale motivo viene definito come il “cifrario perfetto”. L’importanza del Cifrario di Verman si manifestò durante la Guerra Fredda, dove attraverso la tecnica OTP (One Time Pad) venivano mandate le comunicazioni segrete sulla bomba atomica dall’Ovest all’Est. Il sistema si basava su un cifrario di numeri a quattro cifre, ognuno corrispondente a una parola. Si andava così a costruire la frase, che crittografata, diventava una serie di numeri, i quali venivano raggruppati a gruppi di cinque e sommati (senza riporto) a una serie di numeri casuali presenti sul cifrario, in possesso sia del mittente che del destinatario. Inoltre, per rendere il messaggio ancora più sicuro, i Sovietici associarono una lettera ai numeri da 0 a 9, ottenendo come forma finale del messaggio, una sequenza di gruppi di cinque lettere.
rappresenta comunque una forma di “comunicazione nascosta”. La riporta come in origine le lettere
dell’alfabeto greco minuscole (non per corrispondenza) ma per fare un esempio possiamo criptare la
parola “crittografia” utilizzando lo schema con le lettere dell’alfabeto italiano: alla “C”
corrispondono le coordinate “13” e, facendo così per tutte le lettere, otteniamo come codice da
segnalare: “13 42 24 44 44 34 22 42 11 21 24 11”.
Un altro sistema di crittografia che ebbe una notevole importanza storica fu il Codice di Cesare.
L’algoritmo è molto semplice e altrettanto sicuro. Fissata una chiave, che per comodità chiameremo
N, essa è un numero da 1 a 25. Prendendo un messaggio in chiaro M, il suo messaggio
corrispondente crittografato C sarà ottenuto sostituendo ogni lettera di M con la lettera N-esima
successiva. Naturalmente, una volta arrivati alla lettera Z, le lettere A B C D E
a disposizione iniziano nuovamente dalla A, in maniera ciclica. D E F G H
Questo algoritmo può essere visto come la generalizzazione
dell’intero Codice, in quanto Cesare era solito usate come chiave N il numero tre. A questo punto,
come mostra la tabella, si può osservare come a ogni lettera di un messaggio in chiaro corrisponda,
nel messaggio crittografato, la terza lettera a essa successiva nell’alfabeto. Quindi, ipotizzando di
voler crittografare sempre la nostra parola “crittografia”, otterremo i seguenti messaggi criptati.:
- (Codice di Cesare, con chiave N = 3) FUNZZRLUDIND
- (Codice di cesare generalizzato, con chiave N = 10) MBSDDYQBKPSK
La caratteristica comune di questi due antichi sistemi si ritrova nella chiave: sia il mittente che il
destinatario sono a conoscenza della chiave di crittografia, altrimenti la comunicazione non sarebbe
completa. Un sistema con questa specifica caratteristica, viene definito “sistema di crittografia
simmetrica” (o “a chiave privata”). In termini matematici potremo dire che, dato un messaggio M,
il mittente P cripta il messaggio in funzione della chiave K attraverso l’algoritmo della crittografia
simmetrica S. A questo punto il destinatario D, che è a conoscenza della chiave K, è in grado di
applicare la funzione inversa e quindi comprendere il messaggio.
-1K
P: S (M) canale di comunicazione D: S [S (M)]
K K
Questo sistema venne notevolmente utilizzato per scopi militari. Affianco alla crittografia
simmetrica si colloca la crittografia asimmetrica, o a “doppia chiave”. Come dice il nome stesso,
all’interno di questo sistema sono presenti due chiavi, una pubblica e una privata, legate tra loro da
particolari relazioni matematiche. Questo sistema è molto più sicuro, perché garantisce al mittente
la certezza di spedire il messaggio solamente al destinatario. Presi un mittente P e un destinatario
D, il messaggio in chiaro M verrà cifrato con la chiave pubblica di D. Il messaggio ottenuto M D
verrà cifrato nuovamente nella chiave privata di P, ottenendo il messaggio crittografato C. Arrivato
al destinatario C verrà prima decifrato nella chiave pubblica di P e poi, ottenuto il messaggio M ,
D
verrà decifrato nella chiave pubblica di D, in modo tale da ottenere il messaggio in chiaro M.
Questo sistema viene utilizzato ad esempio per la generazione della firma digitale. Attenzione
però: attraverso la firma digitale il messaggio non viene crittografato, ma viene accertata
l’attendibilità del mittente.
Grazie ai nuovi sviluppi dei sistemi di crittografia e della fisica teorica è stato introdotto un nuovo
sistema, definito “crittografia quantistica”, che sfrutta nozioni di meccanica quantistica per il
passaggio delle chiavi. Questo sistema si rifà al Cifrario di Verman, un cifrario polialfabetico dove
la chiave di cifratura deve essere lunga quanto il testo del messaggio e può essere utilizzata
solamente una volta. La sicurezza di questo sistema è garantita da una dimostrazione matematica e
per tale motivo viene definito come il “cifrario perfetto”. L’importanza del Cifrario di Verman si
manifestò durante la Guerra Fredda, dove attraverso la tecnica OTP (One Time Pad) venivano
mandate le comunicazioni segrete sulla bomba atomica dall’Ovest all’Est. Il sistema si basava su un
cifrario di numeri a quattro cifre, ognuno corrispondente a una parola. Si andava così a costruire la
frase, che crittografata, diventava una serie di numeri, i quali venivano raggruppati a gruppi di
cinque e sommati (senza riporto) a una serie di numeri casuali presenti sul cifrario, in possesso sia