Home Machine Learning Coding Games Linux Informatica quantistica Melody Craft Farm in Mind
Il tool didattico quantistica è usato da Scuola_Sisini come tecnologia base per la formazione aziendale e individuale

Computazione Quantistica su Linux
Alice & Bob punto Q

Questo programma simula uno scenario di lavoro composto da un canale di comunicazione classico ed uno quantisitico
Lo scenario è tratto dall'articolo di Ekert del 1991, in cui per la prima volta viene ipotizzato di utilizzare le peculiarità della meccanica quantisitica per costruire delle comunicazioni criptate

Lo scenario è il seguente: Bob e Alice vogliono stabilire una stringa binaria da usare come chiave per crittografare i loro messaggi scambiati lungo un canale di comunicazione come Internet.
Alice produce una coppia di fotoni entangled (correlati). Uno viene rivelato in locale da Alice, l'altro in locale da Bob. Dicendo in locale, si intende che la rivelazione del fotone avviene in un ambiete controllato in cui si può essere sicuri che non vi siano intercettazioni esterne.
Eventuali intercettazioni possono però avvenire lungo il canale di comunicazione

Eva può infatti intercettare sia la comunicazione che avviene sul canale classico che quella che avviene sul canale quantistico. Per quanto riguarda il canale classico, Eva possiede la tecnologia per intercettare lo scabio di dati tra Alice e Bob senza che essi se ne possano accorgere:

Vale lo stesso per il canale quantistico?

Provando il programma si può rispondere da soli a questa domanda, apprendendo nel contempo le basi e le potenzialità dell'informatica quantistica

Ottenere qubit dalla rivelazione di fotoni

Nella teoria quantisitica la luce è trasportata da particelle dette fotoni. I fotoni hanno una proprietà detta polarizzazione che può assumere solo due valori distinti, che per semplicità chiamiamo {1} e {0}. Questa caratteristica può essere teoricamente usata per codificare un valore binario (1/0) in un fotone detto qubit
Per leggere il qubit del fotone (1 o 0) è necessario rivelare il fotone con un rivelatore, un dispositivo di misura che ci segnala il suo stato di polarizzazione
Il risultato della rivelazione del fotone dipende però dall'orientazione data al rivelatore: questa è detta base del rivelatore. Ci sono due basi principali dette: base standard e base di Hadamard
Se due fotoni vengono emessi simultaneamente nella stessa direzione, ma in verso opposto, essi devono avere la stessa polarizzazione e sono detti essere entangled. Questo fenomeno può essere usato per comunicare un qubit condiviso tra due persone (Alice e Bob) che si trovino distanti
Se Alice e Bob usano la stessa base di rivelazione, riveleranno esattamente lo stesso valore di polarizzazione e quindi lo stesso qubit, ma se usano basi differenti , questo non è assicurato
I qubit scambiati tra Alice e Bob possono essere intercettati da un hacker? Supponiamo che Eva provi a rivelare il qubit inviato a Bob. La rivelazione del qubit distrugge il fotone perché viene assorbito, pertanto l'intercettazione di Eva sarebbe subito scoperta e inoltre sarebbe inutile. Eva può rimediare emettendo un singolo fotone verso Bob, dopo aver intercettato il fotone a lui indirizzato

Ha vinto Eva? No, se Eva non conosce la base di rivelazione usata da Alice e Bob, lascierà un segno della sua presenza, interferendo con il fenomeno di entanglement e permettendo ai due di percepirne la presenza a causa di discrepanze presenti nelle loro chiavi

Prova la criptazione quantistica

Lo scopo è quello di ottenere una chiave (stringa di {1} e {0}) che sia identica per Alice e per Bob e che non sia stata copiata da Eva.

Istruzioni per provare il protocollo Ekert 1991

Il programma presenta una console dalla quale si possono compiere le seguenti azioni:
  • Richiedere ad Alice l'invio di una coppia di fotoni entangled, dai quali Alice e Bob ricavano il valore di un qubit da inserire nella chiave di criptazione
  • Salvare (scrivere) il qubit nella chiave
  • Chiedere ad Alice che base ha usato per rivelare il valore del qubit
  • Chiedere ad Alice di impostare una specifica base per rivelare il qubit
  • Impostare una specifica base di rivelazione per Bob
  • Confrontare due qubit
  • Eliminare due qubit

Quando il numero di qubit registrati nella chiave è ritenuto sufficiente, si può porre termine alla simulazione e verificare se veramente la chiave di Alice e quella di Bob corrispondono
Il programma non pone un limite minimo al numero di qubit presenti nella chiave, ma per una simulazione significativa si consiglia di usare chiavi di almeno 16 qubit


Il codice sorgente è disponibile su GitHub

Licenza e responsabilità

The tools are Open Source code distributed under GNU-GPL license. The tools are developed in the Scuola Sisini using GNU-gcc and GNU-Emacs editor only. Please, visit the Free Software Foundation and GNU project for more information about that.