Le applicazioni delle isogenie nella Post Quantum Cryptography
Dopo aver introdotto la teoria delle curve ellittiche e aver definito gli strumenti necessari, presentiamo alcuni schemi classici della crittografia basata su isogenie. Come anticipato nell’articolo precedente, questo giovane campo della crittografia post-quantum è nato agli inizi degli anni 2000 grazie agli studi di Couveignes, Teske, Rostovtsev e Stolbunov. Nella decade successiva si è assistito ad un incremento dell’attenzione della comunità crittografica e, in seguito alle proposte alle call del NIST nel 2016 e 2023, oggi possiamo affermare che la crittografia basata su isogenie ha raggiunto una maturità molto promettente nel panorama post-quantum.
La funzione di Hash CGL
Nel 2006 Charles, Goren e Lauter presentano una funzione di hash
resistente alle collisioni la cui sicurezza è basata sul Problema
–IsogenyPath.
Ricordiamo che una funzione di hash è un algoritmo che prende in input una stringa di lunghezza arbitraria e restituisce un output di lunghezza fissata. Una hash
è detta resistente alle collisioni se è computazionalmente intrattabile trovare
e
distinti per cui
.
L’idea è utilizzare i bit del messaggio di cui si vuole calcolare l’hash come guida per esplorare un isogeny graph. La funzione di hash
sfrutta una particolare proprietà di tali grafi: a meno di dover trattare i vertici corrispondenti ai
-invarianti 0 e 1728, la componente supersingolare dell’isogeny graph di grado
si dimostra essere
-regolare, ovvero ogni vertice ha
archi. Il
-invariante del vertice di arrivo del cammino sarà l’hash del messaggio.

Si inizia dunque scegliendo la componente supersingolare di un isogeny graph di grado 2. Tra i parametri della funzione di hash vi sono il grafo, un vertice
— che sarà il punto di partenza del cammino — e due dei suoi tre archi
.
Per calcolare l’output di
su un messaggio
, i cui bit sono
, si procede come segue:
- ci si sposta dal vertice
al vertice
, definito come il secondo vertice dell’arco
. Dalla regolarità del grafo il vertice
ha tre archi:
, appena percorso, ed altri due, denotati
e
. - Iterativamente, per ogni
, il bit
determina l’arco
da
da percorrere, ottenendo così l’
-esimo vertice
del cammino. - Una volta esauriti i bit del messaggio
, l’output della funzione di hash è definito come il
-invariante del vertice di arrivo, ovvero 
In questo modo si esplora l’isogeny graph in modo deterministico utilizzando i bit del messaggio di input. Come anticipato, il Problema
–IsogenyPath assicura la resistenza alle collisioni di
: intuitivamente, trovare una collisione equivale a trovare due stringhe di bit che, utilizzate nell’esplorazione dell’isogeny graph, raggiungono lo stesso vertice. Fissando uno dei due cammini, individuare l’altro significa produrre una isogenia di grado una potenza di 2 tra due curve ellittiche fissate, ovvero esattamente il Problema
–IsogenyPath.
Le buone proprietà degli isogeny graphs non garantiscono solo che
soddisfi le proprietà di sicurezza che definiscono una funzione di hash, ma anche condizioni ulteriori che la rendono particolarmente interessante da un punto di vista pratico. Ad esempio,
produce output uniformemente distribuiti nell’isogeny graph di grado 2. Ciò segue dal fatto che negli isogeny graphs cammini casuali convergono molto velocemente alla distribuzione uniforme. Più precisamente, il vertice finale di un cammino in un isogeny graph tende alla distribuzione uniforme dopo un numero di passi logaritmico nel numero di vertici del grafo.
Scambio di chiavi
Un’altra applicazione che ha portato interesse nella crittografia basata su isogenie è la possibilità di effettuare uno scambio di chiavi sul modello del Diffie-Hellman.
Supponiamo che Alice e Bob vogliano ottenere un segreto condiviso. Dopo aver concordato una curva ellittica comune
, scelgono le loro isogenie segrete
e
e calcolano le rispettive chiavi pubbliche come
e
. Il classico Diffie-Hellman prevederebbe che, da questo scambio di informazioni, le due parti fossero in grado di calcolare un segreto condiviso, che nel nostro caso sarà il
-invariante di una curva
. Per instanziare una versione di Diffie-Hellman basata su isogenie sono però necessarie alcune modifiche.
Le due proposte pratiche: SIDH e CSIDH
Nel 2011 De Feo, Jao e Plût propongono lo scambio chiavi SIDH (Supersingular Isogeny Diffie-Hellman) che verrà successivamente presentato alla call del NIST con il nome SIKE (Supersingular Isogeny Key Encapsulation). In SIDH, per permettere alla controparte di calcolare il segreto condiviso
, oltre alle curve
ed
, sia Alice sia Bob devono pubblicare l’immagine di alcuni punti tramite la loro isogenia privata. Nonostante per più di una decade i protocolli siano stati ritenuti sicuri anche contro avversari quantistici, nel 2023 le ulteriori informazioni pubblicate sono state alla base di attacchi non quantistici a SIDH e SIKE. Tali attacchi impiegano tecniche fino ad allora inesplorate nella crittografia basata su isogenie e, sorprendentemente, queste stesse tecniche sono state in seguito utilizzate in modo costruttivo per progettare nuovi schemi.
Un altro approccio al problema è quello di limitare le possibili curve ellittiche considerate, in modo tale da poter calcolare il segreto comune senza la necessità di pubblicare ulteriori informazioni. Nel 2018 Castryck, Lange, Martindale, Panny e Renes pubblicano lo scambio di chiavi CSIDH [1] (Commutative SIDH) che rielabora il protocollo utilizzando il linguaggio delle azioni di gruppo commutative. In particolare, si considerano solo curve ellittiche supersingolari definite su un certo sottocampo sulle quali agisce il cosiddetto ideal class group. Questo setting, oltre ad aver reso pratico lo scambio di chiavi à la Diffie-Hellman, ha agevolato diverse costruzioni tra cui le firme digitali.
Firme digitali
La costruzione di firme digitali a partire da assunzioni basate su isogenie risale allo studio teorico effettuato nel 2012 da Stolbunov che, dopo aver presentato uno schema di identificazione, trasforma quest’ultimo in una firma digitale attraverso il paradigma di Fiat-Shamir.
Lo schema di identificazione presentato da Stolbunov è la base delle successive firme SeaSign (2018) e CSI-FiSh (2019) ed è ispirato al protocollo del 1991 di Goldreich, Micali e Wigderson per provare la conoscenza di un isomorfismo tra due grafi pubblici. Analogamente, Stolbunov pubblica un protocollo a tre passi che permette ad un Prover di mostrare ad un Verifier la conoscenza di una isogenia segreta tra due curve ellittiche pubbliche. Questa proposta basa la propria sicurezza sull’azione dell’ideal class group in un modo analogo a CSIDH. Al tempo, il suo interesse è risultato più teorico che pratico, in quanto per instanziare il protocollo è necessaria la conoscenza della struttura dell’ideal class group, cosa non ovvia per parametri di interesse crittografico.
SeaSign e CSI-FiSh: le firme basate su CSIDH
Nel 2018 dopo la pubblicazione di CSIDH, De Feo e Galbraith pubblicano SeaSign [2], una instanziazione della firma presentata da Stolbunov che utilizza gli strumenti messi a disposizione da CSIDH. La struttura dell’ideal class group non è ancora nota, ma questo problema tecnico viene superato con l’ausilio del paradigma Fiat-Shamir with aborts, utilizzato anche nella firma CRYSTALS-Dilithium. Questa tecnica permette di ottenere una firma digitale sì implementabile, ma ancora non del tutto utilizzabile: i tempi di firma e verifica sono infatti nell’ordine dei minuti.
Nel 2019 Beullens, Kleinjung e Vercauteren, in seguito a quella che è stata definita come record computation, calcolano la struttura dell’ideal class group utilizzato in CSIDH e pubblicano CSI-FiSh (Commutative Supersingular Isogeny based Fiat-Shamir), la naturale evoluzione di SeaSign che non ha la necessità di ricorrere alle operazioni di abort. Questo si traduce in un protocollo più performante e snello, con tempi sull’ordine delle centinaia di millisecondi: le firme basate su isogenie si stanno quindi sempre di più avvicinando ad essere pratiche ed utilizzabili.
[1] pronunciato “Seaside”, in quanto gli autori hanno iniziato a lavorarci mentre erano vicino una ben nota grande massa di acqua salata (https://csidh.isogeny.org)
[2] sia il nome sia la sua pronuncia sono una citazione a CSIDH (Seaside).
Questo articolo appartiene ad una serie di contributi, a cura del Gruppo di Ricerca in Crittografia di Telsy, dedicata al calcolo quantistico e alle sue implicazioni sulla Crittografia. Per la consultazione di altri articoli si rimanda all’indice della rubrica.
Per altri articoli relativi ai temi Quantum e Crittografia si rimanda alle relative categorie nel blog.
Gli autori
Elena Broggini, laureata magistrale in Scienze Matematiche presso l’Università degli Studi di Milano. Attualmente è una studentessa di dottorato del gruppo Teoria dei Numeri e Crittografia presso il Politecnico di Torino con una borsa a tema Crittografia Post-Quantum e Fully Homomorphic Encryption in collaborazione con il gruppo di ricerca di Telsy.
Giuseppe D’Alconzo, assegnista di ricerca presso il Politecnico di Torino, ha conseguito il suo dottorato in Matematica con una borsa a tema “Crittografia Post-Quantum” nell’ambito del programma UniversiTIM e in collaborazione con il Gruppo di Ricerca di Telsy. Laureato in Matematica con specializzazione in Crittografia presso l’Università di Trento, ha svolto nel 2019 uno stage presso Telsy, occupandosi di Multi-party Computation e Attribute Based Encryption.