
C’erano una volta due nerd innamorati, Alice e Bob. E c’era una volta anche il temibile Opponente, Charlie. Alice e Bob vivevano lontani, e tutto quello che volevano era poter comunicare in santa pace senza che Charlie rubasse i loro segreti. Il canale di comunicazione non era sicuro, e i due dovevano dare per scontato che, qualsiasi cosa trasmettessero, potesse essere intercettato da Charlie. L’unica loro speranza era nella crittografia. Ad Alice e Bob serviva un modo per nascondere i propri messaggi, e un modo sicuro per scambiarsi le chiavi usate per cifrare, e la certezza che, dall’altro lato del canale, ci fosse sempre Alice o Bob, e mai Charlie in brilliant disguise. Oggi vi raccontiamo di come trovarono la soluzione nella crittografia asimmetrica a curve ellittiche.
Vi presento Alice e Bob
Dopo un poi che sei all’università inizi a sviluppare un certo orecchio, per i corsi. Passi davanti ad un’aula e senti parlare di Fresnel, e a quel punto sai già che si tratta o di un corso di ottica, o di quegli integrali orribili che hanno cercato di farti risolvere sul piano complesso. Passi davanti ad un’altra aula e senti parlare di specchi, ma sai che non è di Alice nel paese delle meraviglie che si discute, bensì di elettronica analogica. Passi davanti ad un’altra aula ancora e senti Nyquist, e sai che potrebbe essere un qualche corso di telecomunicazioni o di controlli automatici. Poi ti capita di sentir parlare di Alice e Bob. Talvolta anche di Charlie. Se sei un telecomunicazionista sai già di che si tratta, e capisci subito che non è bene indugiare davanti a quella porta. Se sei un ingenuo elettronico, invece, nell’abisso della tua disperazione pensi che si possa trattare di qualche corso divertente, magari uno di quelli organizzati dalle associazioni studentesche, e in quanto tali pieni di ragazze. Così entri, ma quello che ti trovi davanti è la solita platea con la quale ti sei sempre mescolato fin dall’inizio di ingegneria: tanti maschi, qualcuno con la testa rovesciata sul banco, molti che tentano di prendere appunti, tutti con l’aria afflitta. Sulla cattedra c’è invece un gasatissimo insegnante, giovane o vecchio non fa differenza, che mescola senza soluzione di continuità le disavventure di Alice e Bob che tentano disperatamente di avere una discussione privata, i campi di Galois, i numeri primi e grosse matrici piene di “alfa elevato a”. Dopo un po’, quando diventi assuefatto alla faccenda e riesci a non pensare che Alice, Bob e Charlie sono un modo molto triste per non dire A, B e C, ti rendi conto che il tutto sembra proprio la versione nerd di Romeo e Giulietta, e inizi ad appassionarti alla cosa. In effetti il problema è intrigante. Come si fa a nascondere un messaggio, a chiunque tranne che a chi vogliamo che lo legga? Be’, un modo ovvio consiste nel prendere il messaggio e trasformarlo in modo tale che solo chi conosca la trasformazione possa interpretarlo. Ad una cosa del genere aveva già pensato, ai suoi tempi, addirittura Giulio Cesare, tant’è che tutti i corsi di crittografia cominciano con il famoso e famigerato “cifrario di Cesare”. Cesare cifrava i suoi messaggi semplicemente sostituendo, a ciascuna lettera, la lettera tre posizioni più in giù nell’alfabeto (Figura 1).
Come algoritmo di cifratura non è niente di che, ma per l’epoca funzionava. Solo chi sapeva come era stato alterato il testo poteva decifrarlo. Tutti i sistemi di cifratura si basano sullo stesso principio: ci vuole un algoritmo che renda “oscuro” il messaggio, e un segreto condiviso tra mittente e destinatario (la famosa “chiave”) che permetta al destinatario di recuperare il messaggio. Il cifrario di Cesare aveva un algoritmo (“sposta a destra”) e una chiave (“di tre posizioni”) abbastanza banali, ma sufficienti per le popolazioni barbariche dell’epoca (che era già tanto se sapevano leggere). I tempi cambiano, e non solo perché abbiamo Alice e Bob invece di Cesare e Quinto Tullio Cicerone. Un cifrario di Cesare è facilmente violabile da chiunque abbia un buon PC e qualche conoscenza di disposizione statistiche delle lettere in un testo. Al giorno d’oggi Alice e Bob devono spremersi le meningi un po’ di più e creare un algoritmo sufficientemente “tosto” che non sia violabile semplicemente provando tutte le chiavi possibili. Un esempio di algoritmo “tosto” che diede parecchi problemi al Charlie dell’epoca, ossia gli Alleati, è la macchina Enigma (Figura 2).
Simile ad una macchina da scrivere e interamente meccanica, alla pressione di un tasto la macchina Enigma produceva un carattere in funzione della posizione di una serie di rotori (posizionati in un certo modo) e contatti elettrici (cablati in un certo modo). Le possibili posizioni dei rotori e dei cablaggi rappresentavano la chiave, ed erano talmente tante che le chiavi possibili erano più di dieci milioni di miliardi (ossia un bel po’). Immaginate di decifrare un testo criptato con un algoritmo del genere provando una chiave per volta. In linea di principio è possibile, avendo tempo a sufficienza. Peccato che la Germania cambiasse la chiave ogni giorno. Quindi immaginate di decifrare un testo cifrato con un algoritmo del genere, provando dieci milioni di miliardi di chiavi possibili, in un solo giorno. A mano è [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3273 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Argomento , quello della cifratura, che mi ha sempre affascinato , anche se lo ho trovato sempre piuttosto ostico . ( sarà forse per le mie conoscenze di matematica non proprio……….).
Comunque grazie per il taglio dell’articolo che rende un po’ più comprensibile un argomento che semplice non è.
L’argomento non è semplice ma il taglio dell’articolo è decisamente molto affascinante, mette in luce l’argomento sotto forma di un “romanzo”. Molto bello 🙂
Se non sbaglio le curve ellittiche erano argomento di uno dei problemi del millennio, si capisce il perché ? , nell’articolo!
Bell*
se non sbaglio la crittografia è collegata a uno dei più complicati problemi del millennio: la congettura di Riemann, secondo cui gli zeri non banali della funzione zeta di Riemann hanno parte reale 1/2.
La distribuzione degli zeri non banali “regola” la distribuzione dei numeri primi. Se si riuscisse a scoprire tale legge di distribuzione (ammesso che esista), sarebbe possibile eseguire la fattorizzazione degli interi n>>1 in tempi ragionevoli.
Be’, grazie, sono contento che l’articolo sia piaciuto! In effetti crittografia e teoria dei codici si basano su un tipo di matematica che, se trattata con tutti i crismi e formalismi del caso, può essere una delle cose più indigeste e noiose mai concepite da mente umana! Il che è anche un peccato, perché Alice e Bob hanno vissuto molte avventure che davvero vale la pena di raccontare!
Questo argomento è semplicemente stupendo 🙂
Grazie per l’articolo, molto interessante e molto ben divulgato.
La crittografia è sempre stato uno dei miei interessi anche se per me i metodi di cifratura basati sulle varie teorie matematiche (numeri primi, curve ellittiche, griglie) sono un po’ ostici… e potenzialmente violabili da computer quantistici…
Ultimamente ho letto che esistono metodi per scambiare chiavi di cifratura basati su algoritmi non matematici che potrebbero essere “sicuri” anche dopo l’avvento di efficienti computer quantistici,.
Uno di questi metodi si basa sulla sincronizzazione di due reti neurali di tipo Tree Parity Machine (con opportuni meccanismi è anche possibile generare una chiave unica per più di due inerlocutori, ad esempio per una chat di gruppo).
Comunque qualche dettaglio mi sfugge ancora…
Sarebbe interessante approfondire anche questo argomento.
Esistono anche altri metodi di cifratura “post quantistica” ?