Crittografia quantistica

Da Wikipedia, l’enciclopedia libera.


Collabora a Wikiquote

«È veramente da mettere in dubbio che l’intelligenza umana possa creare un cifrario che poi l’ingegno umano non riesca a decifrare con l’applicazione necessaria»

 

(Edgar Allan Poe)

La crittografia quantistica consiste in un approccio alla crittografia che utilizza delle peculiari proprietà della meccanica quantistica nella fase dello scambio della chiave per evitare che questa possa essere intercettata da un attaccante senza che le due parti in gioco se ne accorgano. Si utilizza questo principio per realizzare un cifrario perfetto del tipo One Time Pad, senza il problema di dover scambiare la chiave (anche se lunga quanto il messaggio) necessariamente su un canale sicuro. La prima rete a crittografia quantistica funzionante è Qnet.

L’enorme rivoluzione introdotta da questa tecnica sembra mettere la parola fine alla perpetua lotta tra crittografia e crittanalisi, che da sempre si rincorrono, l’una per creare cifrari sempre più complessi, l’altra per sviluppare nuove tecniche atte a decifrarli. Finora l’unico cifrario perfetto (di cui quindi è stata dimostrata matematicamente l’indecifrabilità) realizzato è quello di Vernam. Il grosso problema di questa tecnica è legato però allo scambio della chiave tra l’emettitore e il ricevente, in quanto questa deve essere lunga quanto il messaggio e rimanere segreta, la chiave dovrà quindi essere scambiata su un canale sicuro. È ovvio quindi che se è possibile disporre di un canale sicuro per scambiare una chiave lunga quanto il messaggio lo stesso canale sarebbe da utilizzare per scambiare il messaggio stesso. Quest’aspetto ha reso di fatto la tecnica difficilmente realizzabile su vasta scala. L’avvento della crittografia quantistica risolve definitivamente quest’aspetto rendendo possibile cifrare messaggi in maniera tale che nessuna spia possa decifrarli (…contraddicendo l’asserzione di Edgar Allan Poe sopra riportata).

Un accenno al principio di indeterminazione di Heisenberg

Un principio chiave che sta alla base della crittografia quantistica è il principio di indeterminazione di Heisenberg. In questa sede non è importante conoscere nei dettagli questo principio, ma è importante mettere in rilievo alcune caratteristiche delle particelle elementari che vi derivano. Un’interpretazione del principio di Heisenberg sostiene che non è possibile conoscere, simultaneamente e con precisione assoluta, alcune particolari coppie di caratteristiche di un oggetto quantistico, come ad esempio la posizione e la velocità di un elettrone. Se si cerca di misurarne esattamente la posizione, si perde la possibilità di verificare la velocità dell’elettrone. Se invece si misura con precisione assoluta la velocità, si perdono inevitabilmente informazioni sul luogo in cui l’elettrone si trova. I fotoni, anch’essi oggetti quantistici, sono quindi soggetti al principio di indeterminazione Heisenberg.

Un appunto a tal riguardo va fatto per chiarire che queste sono limitazioni teoriche e quindi non dipendono dalla tecnica utilizzata per effettuare le misure. Secondo la meccanica quantistica, per quante tecniche nuove e più precise si possano sviluppare per eseguire queste misure, il limite rimane e non è concettualmente eliminabile.

Applicazione alla crittografia

Questa caratteristica, propria di ogni sistema su scala quantistica, può essere utilizzata per valutare se un sistema di cui si conosce lo stato è stato misurato (quindi osservato) da qualcuno. Il sistema quantistico rappresenta quindi la chiave crittografica, mentre l’osservatore sarebbe un eventuale attaccante che utilizza un attacco del tipo man in the middle. Infatti in questo tipo di attacco crittoanalitico, l’attaccante s’inserisce tra l’emettitore e il ricevitore del messaggio intercettando lo scambio della chiave e riuscendo quindi successivamente a decodificare ogni messaggio codificato con essa. Realizzando però una “chiave quantistica” (cioè realizzata da elementi che rispondono alle leggi della meccanica quantistica come appunto i fotoni) ciò risulterebbe impossibile, perché l’attaccante modificherebbe inevitabilmente la chiave, oltretutto in maniera puramente casuale quindi incontrollabile e sarebbe quindi certamente rilevato. Entrando un po’ più nel dettaglio, il problema da parte dei due interlocutori, che da questo momento chiameremo Alice (A) e Bob (B), è quindi quello di riuscire a creare una chiave quantistica comune ad entrambi, che in questo caso viene realizzata in un sistema binario. L’aspetto più teorico della creazione di una chiave e della sua trasmissione è stato risolto da un algoritmo che verrà qui analizzato.

Algoritmo BB84

Un algoritmo che permette lo scambio di una chiave tra due utenti e garantisce che questa non possa essere intercettata da terzi senza che i due se ne accorgano è chiamato BB84, dal nome dei suoi ideatori: Bennet e Brassard che lo realizzarono nel 1984.

Immaginiamo che Alice e Bob dispongano di un canale quantistico e di uno classico (quindi passibile di intercettazione) su cui scambiare dati. Sul canale quantistico Alice invierà fotoni con una determinata polarizzazione scelta a caso tra quattro possibili, ad esempio: 0^\circ, 45^\circ, 90^\circ, 135^\circ.
Queste orientazioni determinano rispettivamente le basi: +\,\! e \times\,\! non ortogonali tra di loro. Per ogni base, un’orientazione è interpretata come 0 e l’altra come 1 (vedi Figura 1). Bob, ricevuti i fotoni dovrà effettuare una misura su di essi per scoprire con che polarizzazione sono stati spediti. Sarà quindi costretto a scegliere fra due diverse misure che, per il principio di indeterminazione di Heisenberg, non sono compatibili: con la prima può scoprire la polarizzazione dei fotoni se questi sono nella base +\,\!, con l’altra misura può scoprire la polarizzazione se i fotoni sono nella base \times\,\!, in nessun caso è possibile ottenere queste due misure contemporaneamente. Se Bob dovesse scegliere la misura sbagliata rispetto alla base usata da Alice, il risultato della misura sarà casuale, ovvero 0 oppure 1 con probabilità del 50%. Il punto cruciale è che anche un eventuale attaccante si troverebbe nella stessa situazione di Bob: infatti quando la spia intercetta i fotoni dovrà anch’essa scegliere tra le due misure possibili e se sceglie quella sbagliata ottiene un risultato casuale.

Inviata una quantità sufficiente di fotoni, Alice renderà noto le basi che ha utilizzato per polarizzare i fotoni, ma non la polarizzazione degli stessi. I due potranno così scartare tutti i fotoni per i quali Bob ha scelto la base sbagliata. A questo punto Alice e Bob possiederanno una chiave segreta comune ad entrambi valida per cifrare il messaggio. Per essere sicuri che la spia non ha intercettato la chiave basta notare che se questa avesse in qualche modo intercettato i fotoni nel loro tragitto tra Alice e Bob, per il principio d’indeterminazione, ne avrà necessariamente modificato le caratteristiche introducendo quindi degli errori nella misura di Bob anche nei bit che dovrebbero risultare corretti. Quindi, se dopo aver scartato i bit, la chiave di Bob risulta diversa da quella di Alice, vuol dire che la spia ha intercettato i fotoni e che la chiave non è sicura.