Il protocollo BB84

Descriveremo il protocollo ormai noto come BB84 (per una descrizione più dettagliata si veda [BB84], mentre per un articolo più introduttivo si veda [BBE92]) ideato da Bennett e Brassard nel 1984 e che consente lo scambio di una chiave in maniera sicura tra due utenti che non dispongono di alcuna informazione segreta in comune.

Supponiamo che Alice e Bob dispongano di due canali di comunicazione: uno quantistico (che consente la trasmissione di segnali basati su fenomeni quantistici e che solitamente è una fibra ottica) ed uno convenzionale, e che siano possibili intercettazioni passive su questi canali.

Le informazioni che Alice scambia con Bob sul canale quantistico sono singoli fotoni ad una determinata polarizzazione: possiamo scegliere, per semplicità, quelle orientate nelle direzioni $\updownarrow $, $\leftrightarrow $, $\mathrel{\text{$\nearrow$\llap{$\swarrow$}}}$ e $\mathrel{\text{$\nwarrow$\llap{$\searrow$}}}$ che definiscono due basi $+$ e $\times $ non ortogonali tra loro: ciò significa che, per il Principio di Indeterminazione, non è possibile misurare contemporaneamente se la polarizzazione è diagonale o rettilinea.

Supponiamo che il modo di rappresentare i bit 0 ed 1 sia noto a priori, e comunque sul quale è possibile accordarsi pubblicamente senza bisogno di segretezza: potremmo immaginare uno schema come quello proposto in tabella 1.


Tabella 1: Esempio di rappresentazione binaria.
base 0 1
$+$ $\updownarrow $ $\leftrightarrow $
$\times $ $\mathrel{\text{$\nearrow$\llap{$\swarrow$}}}$ $\mathrel{\text{$\nwarrow$\llap{$\searrow$}}}$


Alice si appresta a spedire i propri dati nel seguente modo: sceglie casualmente se spedire un bit 0 o 1, sceglie sempre casualmente che base utilizzare per spedire il bit, se $+$ o $\times $, e quindi prepara il fotone con la polarizzazione risultante e lo spedisce a Bob.

Bob, non essendo a conoscenza della base scelta da Alice per spedire i fotoni, sceglie casualmente quale utilizzare per rilevarne la polarizzazione: se è la stessa utilizzata per crearli, l'identificazione avverrà correttamente, mentre se è sbagliata Bob otterrà comunque un valore nella base scelta (se è quella rettilinea, otterrà un fotone con polarizzazione o verticale od orizzontale) perdendo però le informazioni del fotone originario.

Cerchiamo di spiegare meglio quest'ultimo punto; prendiamo per esempio un rivelatore di polarizzazione; se Bob decide di controllare se i fotoni hanno polarizzazione verticale, l'utilizzo di un filtro $+$ consente di avere due possibilità: il fotone è rilevato con polarizzazione verticale, oppure il fotone è rilevato con polarizzazione orizzontale in modo certo. Se la particella che Bob sta analizzando era stata spedita utilizzando proprio la base $+$ la misura che ha effettuato è corretta e rispecchia le informazioni di Alice, ma se invece era stato spedito con base $\times $ il fotone supererà comunque il filtro $+$, ma avrà una polarizzazione casuale e che non ha nulla a che vedere con quella con cui era stato spedito.

Raggiunto un numero adeguato di questi scambi, Alice smette di spedire fotoni. Dal momento che, mediamente, Bob avrà scelto la base sbagliata nella metà delle misurazioni, i due devono trovare un modo per ottenere la stessa stringa di bit: Bob, allora, annuncia pubblicamente sul canale convenzionale la lista delle basi da lui utilizzate per misurare i fotoni, ma non cosa ha misurato. A questa lista, Alice risponde indicando quali basi Bob ha utilizzato correttamente, ma non cosa ha spedito.

In questo modo, vengono a conoscenza di quali misurazioni sono state effettuate correttamente cosicché le altre possono essere scartate per mantenere solo le polarizzazioni per le quali hanno utilizzato la stessa base ed ottenere una chiave identica da entrambe le parti e sicuramente segreta, e che quindi potrà essere utilizzata per cifrare messaggi.

Morpheus 2004-01-07