
L’altra faccia della meccanica quantistica: tecniche di crittografia, fotoni e generatori di numeri casuali.
Nella scorsa newsletter abbiamo parlato delle enormi potenzialità dei computer del futuro, basati sulla meccanica quantistica, ed a cui colossi come Google ed IBM stanno già lavorando. L’introduzione nel mercato di potenti computer quantistici renderà però vulnerabili le tecniche di crittografia oggi in uso. Ma c’è già chi sta lavorando alla soluzione.
La crittografia è la tecnica usata per proteggere, ad esempio, le transazioni bancarie che facciamo online, i famigerati bitcoin ed i messaggi che ci scambiamo su Whatsapp. I protocolli di crittografia comunemente utilizzati si basano su algoritmi difficili da rompere, anche per il computer più performante al mondo.
Gli algoritmi più diffusi sono detti a “chiave asimmetrica”, dove per chiave si intende una sequenza casuale di 0 e 1, e sono basati sulla distribuzione di due chiavi diverse. La prima è una chiave pubblica, nota a tutti, e viene usata per criptare il messaggio inviato. La seconda invece è privata e la possiede solo l’utente finale. L’algoritmo è fatto in modo tale che solo chi è in possesso della corretta chiave privata è in grado di decifrare il messaggio codificato da una particolare chiave pubblica.
Queste due chiavi altro non sono che numeri primi e casuali molto grandi, che combinati con un apposito algoritmo di crittografia generano un numero primo molto grande. Se il numero primo così generato è sufficientemente grande, il tempo necessario per decifrare il messaggio diventa lunghissimo.
La sicurezza del protocollo, ovvero l’impossibilità di risalire alla chiave privata avendo solo la chiave pubblica, è legata alle proprietà dei numeri primi. Le due chiavi vengono infatti generate a partire da due numeri primi casuali molto grandi: di questi é molto facile calcolarne il prodotto, ma, viceversa, è estremamente difficile risalire ai due numeri di partenza avendo solo il prodotto. La sicurezza del protocollo è garantita proprio dalla difficoltà di questa operazione, che rende lunghissimo il tempo (nell’ordine dei miliardi di anni) necessario a compierla anche ai migliori computer oggi a disposizione.
Questa tecnica presenta però due grossi rischi:
- Non possiamo essere certi al 100% che Governi ed altre organizzazioni non dispongano di una capacità di calcolo maggiore di quella comunemente accessibile, cosa che li renderebbe in grado di rompere questa cifratura;
- Non possiamo essere certi che i numeri primi generati siano davvero casuali, in quanto generati da sistemi o algoritmi che si basano sulla fisica classica, che è per sua natura predicibile. Si parla infatti, per molti dei generatori di numeri casuali oggi in uso, di numeri “quasi” casuali.
A questi due rischi se ne aggiunge uno potenzialmente ancora più grave: l’avvento dei computer quantistici. Per tali computer svelare messaggi cifrati con le tecniche classiche diventerebbe un’operazione talmente semplice che si potrebbe completare in pochi minuti.
Esiste infatti, sin dagli anni ’90, un algoritmo che si studia in qualsiasi corso base di “Quantum Information” (vedi Algoritmo di fattorizzazione di Shor) e che riduce enormemente il tempo necessario a decriptare un messaggio. Tecnicamente si passa da tempi che crescono in maniera esponenziale con la grandezza dei numeri primi utilizzati, a tempistiche che variano secondo una funzione polinomiale.
Insomma, per dirla in maniera più semplice, vi è un’enorme diminuzione del tempo necessario a svelare un messaggio criptato.
Per fortuna la meccanica quantistica, alla base del problema, è anche la soluzione. Il gruppo QuantumFuture del Dipartimento di Ingegneria dell’Informazione dell’Università di Padova (quantumfuture.dei.unipd.it) si occupa sia di crittografia quantistica che di generazione di numeri veramente casuali – due attività intimamente correlate e che torneranno estremamente utili in futuro.

La crittografia quantistica
Mentre la crittografia classica è basata su problemi matematici sufficientemente complessi da essere di fatto irrisolvibili dai computer attuali, la crittografia quantistica si basa su un assunto completamente diverso. Lo scambio delle chiavi che servono per codificare e decodificare il messaggio avviene utilizzando i costituenti elementari della luce, i fotoni (detti anche “qubit” in questo contesto), il cui comportamente è descritto da leggi fisiche precise che garantiscono l’inviolabilità naturale del sistema.
Alla base della crittografia quantistica vi è infatti l’impossibilità di osservare su scala microscopica alcune entità senza modificarle (vedi Principio di indeterminazione di Heisenberg). Ciò rende impossibile realizzare una copia perfetta dei qubit che due persone si scambiano poiché il semplice atto dello “spiarli” li perturba e modifica in maniera irreversibile. Per questo motivo, i qubit che arrivano al destinatario dopo essere stati “spiati” da un ipotetico avversario esterno, rivelano la presenza di quest’ultimo.
Ma come scambiarsi questi qubit, o fotoni, in maniera semplice ed efficace? Affinché il sistema descritto funzioni, occorre appunto trasmettere le informazioni…un fotone alla volta, assicurandosi che ad ogni fotone inviato corrisponda un fotone ricevuto dall’altro capo della linea.
La tecnologia a fibra ottica oggi disponibile permette, nei casi concreti, di spedire fotoni ad una distanza massima di 100 km.
Nei laboratori del Gruppo QuantumFuture, coordinato dal prof. Paolo Villoresi, uno dei filoni di ricerca più avvincenti riguarda la trasmissione di qubit per via satellitare. Questa tecnica permette infatti di scambiare chiavi sicure a distanze ben maggiori, intercontinentali. La collaborazione con l’Agenzia Spaziale Italiana e l’osservatorio di Laser Ranging di Matera, ha permesso di realizzare infatti in Italia la prima comunicazione quantistica via satellite.
Generazione di numeri veramente casuali
La generazione di numeri casuali, oltre ad essere alla base di ogni sistema di crittografia, classica e quantistica, è anche fondamentale per l’industria del gioco d’azzardo e le lotterie, come anche per le simulazioni scientifiche. Tuttavia, i sistemi odierni sono basati su algoritmi che sono in linea di principio predicibili. Anche altri tipi di generatori basati su fenomeni naturali, come il lancio di una moneta, sono descrivibili con le leggi della fisica classica, anch’essa deterministica. In tutti questi casi la casualità è solo apparente.
Nell’esempio sotto riportato sono messi a confronto i numeri “casuali” generati da un algoritmo classico molto popolare negli anni ‘80 e da un sistema quantistico. Per rappresentarli in maniera intuitiva si è scelto di raggruppare i numeri generati in gruppi di tre, in terne (x, y, z), ognuna delle quali identifica un punto in uno spazio tridimensionale. Salta subito all’occhio come i numeri generati da un algoritmo classico sono solo apparentemente casuali ma in realtà presentano delle vere e proprie “corsie” libere tra gruppi di numeri adiacenti.

La meccanica quantistica, invece, assicura che esistono fenomeni fisici il cui risultato è veramente casuale, e questa casualità viene garantita proprio dalle leggi della fisica.
In questa senso è stato concesso circa un anno fa un brevetto al nostro gruppo di ricerca per un “Metodo e Apparato per la Generazione di Numeri Casuali” (vedi Scheda Brevetto), basato sul lavoro di Davide Giacomo Marangon, Giuseppe Vallone e Paolo Villoresi. Allo stato attuale quell’invenzione rappresenta ancora il sistema più veloce (17 Gbps) per generare numeri veramente casuali sulla base di tecnologie quantistiche e non deterministiche.
Non è un caso se l’Unione Europea ha deciso di investire fortemente nello sviluppo delle tecnologie quantistiche nei prossimi dieci anni, garantendo 1 miliardo di euro per realizzare una vera “rivoluzione quantistica” che produca nuovi servizi ed applicazioni che impatteranno la vita di tutti noi.