Nella loro funzione di garantire la riservatezza e l’autenticità della comunicazione tra due parti, i protocolli crittografici, per esempio TLS e HTTPS, rivestono un ruolo chiave nell’ambito della sicurezza informatica aziendale; è per questo fondamentale che nel tempo, con il variare delle tecnologie e della natura degli attacchi, si mantengano efficaci. I progressi in ambito quantum computing potrebbero rendere gli attuali algoritmi di crittografia alla base di questi protocolli (per esempio RSA, Diffie-Hellman, quelli legati alla crittografia ellittica ecc.) obsoleti (e viceversa estremamente utili, come vedremo, gli algoritmi su cui si costruisce la crittografia basata sui reticoli).
Prendiamo, per esempio, RSA: come gli altri algoritmi definiti “primitive crittografiche asimmetriche”, si basa su un problema matematico difficile da risolvere; in particolare sul principio che è facile calcolare il prodotto di due grandi numeri primi, per esempio verificare che il prodotto di 31 moltiplicato per 37 sia 1.147, ma è molto più difficile fare il contrario, ovvero trovare i numeri primi che moltiplicati danno come risultato 1.147; è un calcolo che richiede una quantità di tempo e risorse abbastanza elevata da poter considerare al sicuro le informazioni crittografate secondo questo sistema.
Se si ha a disposizione un computer quantistico – usando l’algoritmo quantistico di fattorizzazione di Shor – risolvere i problemi matematici posti dalle primitive crittografiche asimmetriche esistenti diventa però un’operazione semplice; da qui l’insorgere dell’esigenza – tema al centro dell’attenzione dello stesso NIST-National Institute of Standards and Technology – di aprirsi a nuove strade e investire nella crittografia basata sui reticoli (lattice-based cryptography), che molti esperti di sicurezza ritengono “resistente ai quantum” (ovvero ad attacchi elaborati sfruttando il quantum-computing).
Come funziona la crittografia lattice-based
La crittografia lattice-based utilizza costrutti algebrici bidimensionali noti come “reticoli”, resistenti agli schemi di calcolo quantistici.
Un reticolo è una griglia infinita di punti; il problema computazionale su cui si basa la tecnologia lattice-based è il “Shortest Vector Problem” (problema del vettoriale più breve), che richiede di individuare il punto nella griglia che si trova più vicino a un punto centrale fisso nello spazio, chiamato origine. Si tratta di un problema facile da risolvere in una griglia bidimensionale, ma se il numero di dimensioni aumenta, anche un computer quantico non è più in grado di risolvere il problema in modo efficiente.
Le primitive lattice-based sono già state inserite correttamente nei protocolli TLS e Internet Key Exchange e potenzialmente tutti i più diffusi protocolli di sicurezza possono essere resi sicuri agli attacchi quantistici sostituendo algoritmi vulnerabili con algoritmi di questa diversa natura, utilizzando solo un paio di kilobyte di dati aggiuntivi per ogni sessione di comunicazione.
Ricordiamo infine che la crittografia lattice-based è anche la base per un’altra tecnologia di crittografia chiamata Fully Homomorphic Encryption o FHE, che potrebbe consentire di eseguire calcoli sui file senza doverli decifrare (con un ovvio vantaggio in termini di snellimento dei processi): svolgendo un’operazione su due dati cifrati si ottiene un risultato cifrato che, una volta decifrato, è uguale al risultato che si otterrebbe svolgendo la stessa operazione sui due dati non cifrati.