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:
Provando il programma si può rispondere da soli a questa domanda, apprendendo nel contempo le basi e le potenzialità dell'informatica quantistica
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
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
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.