BB84

BB84[1] – protokół kwantowej dystrybucji klucza wynaleziony przez Charlesa Bennetta i Gilles’a Brassarda w 1984 roku. Jest to pierwszy protokół kryptografii kwantowej. Można udowodnić, że ten protokół jest bezpieczny w oparciu o fundamentalne prawa fizyki (zasadę nieoznaczoności, no-cloning theorem), a nie o ograniczenia techniczne (mocy obliczeniowej), jak w przypadku protokołów klasycznych (np. RSA).

Opis

Celem protokołu BB84 jest przekazanie jawnym kanałem ciągu bitów, tak, by był znany tylko nadawcy i odbiorcy. Tradycyjnie nadawcę nazywa się Alicją, a odbiorcę Bobem. Alicja zaczyna od wygenerowania dwóch losowych ciągów bitów a {\displaystyle a} i b , {\displaystyle b,} oba długości n . {\displaystyle n.} Następnie, koduje te dwa ciągi jako ciąg n {\displaystyle n} kubitów,

| ψ = i = 1 n | ψ a i b i . {\displaystyle |\psi \rangle =\bigotimes _{i=1}^{n}|\psi _{a_{i}b_{i}}\rangle .}

gdzie a i {\displaystyle a_{i}} i b i {\displaystyle b_{i}} to i {\displaystyle i} -te bity odpowiednio a {\displaystyle a} i b . {\displaystyle b.} Indeks a i b i {\displaystyle a_{i}b_{i}} oznacza jeden z czterech stanów kubitu:

| ψ 00 = | {\displaystyle |\psi _{00}\rangle =|} {\displaystyle \rangle }
| ψ 10 = | {\displaystyle |\psi _{10}\rangle =|} {\displaystyle \rangle }
| ψ 01 = | {\displaystyle |\psi _{01}\rangle =|} = 1 2 | {\displaystyle \rangle ={\frac {1}{\sqrt {2}}}|} + 1 2 | {\displaystyle \rangle +{\frac {1}{\sqrt {2}}}|} {\displaystyle \rangle }
| ψ 11 = | {\displaystyle |\psi _{11}\rangle =|} = 1 2 | {\displaystyle \rangle ={\frac {1}{\sqrt {2}}}|} 1 2 | {\displaystyle \rangle -{\frac {1}{\sqrt {2}}}|} {\displaystyle \rangle }

Fizyczną realizacją kubitów proponowaną przez autorów protokołu są pojedyncze fotony o polaryzacjach liniowych w bazie standardowej 0 , {\displaystyle 0^{\circ },} 90 {\displaystyle 90^{\circ }} oraz w bazie polaryzacji skośnych 45 , {\displaystyle 45^{\circ },} 135 . {\displaystyle 135^{\circ }.}

Ta procedura koduje kolejne bity ciągu a {\displaystyle a} w bazach wyznaczonych przez odpowiadające im bity ciągu b . {\displaystyle b.}

Alicja przesyła Bobowi skonstruowany ciąg kubitów | ψ {\displaystyle |\psi \rangle } kanałem publicznym. Bob próbuje poznać bity ciągu a , {\displaystyle a,} ale nie wie, w jakich bazach b i {\displaystyle b_{i}} zostały one zakodowane. Generuje on losowy ciąg n {\displaystyle n} bitów b . {\displaystyle b'.} Następnie mierzy stany kubitów przesłanych przez Alicję w bazach wyznaczonych przez ciąg b , {\displaystyle b',} uzyskując ciąg bitów a . {\displaystyle a'.} Jeżeli b i = b i , {\displaystyle b_{i}=b'_{i},} czyli bazy zostały wybrane zgodnie to a i = a i {\displaystyle a_{i}=a'_{i}} i Bob odczytuje prawidłową wartość bitu a i . {\displaystyle a_{i}.} W przeciwnym przypadku odczytuje 0 {\displaystyle 0} lub 1 {\displaystyle 1} z równym prawdopodobieństwem.

Po zakończeniu pomiaru przez Boba następuje procedura ujawnienia baz: Alicja i Bob przesyłają kanałem publicznym ciągi b {\displaystyle b} i b . {\displaystyle b'.} Następnie porównują te ciągi i odrzucają te bity ciągów a , {\displaystyle a,} a , {\displaystyle a',} które zostały zmierzone w innej bazie niż zostały wysłane (średnio odrzucają połowę bitów, a te, które pozostają, są identyczne). Ciąg pozostałych bitów może zostać wykorzystany jako jednorazowy klucz.

Przykład

losowy bit Alicji a i {\displaystyle a_{i}} 0 1 1 0 1 0 0 1
losowa baza Alicji b i {\displaystyle b_{i}}
polaryzacja fotonu wysłanego przez Alicję
losowa baza pomiaru Boba b i {\displaystyle b_{i}'}
polaryzacja zmierzona przez Boba a i {\displaystyle a_{i}'}
procedura ujawnienia baz
uzgodniony tajny klucz 0 1 0 1

Przykład ataku

Najprostszym przykładem ataku na protokół kwantowej dystrybucji klucza jest atak intercept/resend. Osoba podsłuchująca, nazywana Ewą, przechwytuje kubity przesyłane przez Alicję, mierzy ich stany i próbuje odesłać takie same kubity Bobowi. Nie może jednak zrobić tego z pełną dokładnością, ze względu na ograniczenia mechaniki kwantowej. Dokonując pomiaru stanu kubitu, jednocześnie go niszczy. Ewa nie jest w stanie stwierdzić, w której bazie Alicja przygotowała kubit i wybiera losową z dwóch baz. Dokonuje w niej pomiaru i odsyła Bobowi kubit w takim samym stanie, jaki zmierzyła. Jeżeli Ewa wybrała taką samą bazę jak Alicja, to trafnie odczytuje bit Alicji i przesyła Bobowi identyczny kubit. Jednakże w przypadku wybrania innej bazy Ewa otrzymała losowy wynik i odsyła niepoprawny kubit Bobowi.

losowy bit Alicji a i {\displaystyle a_{i}} 0 1 1 0 1 0 0 1
losowa baza Alicji b i {\displaystyle b_{i}}
polaryzacja fotonu wysłanego przez Alicję
losowa baza pomiaru Ewy
polaryzacja zmierzona przez Ewę i odesłana Bobowi
losowa baza pomiaru Boba b i {\displaystyle b_{i}'}
polaryzacja zmierzona przez Boba a i {\displaystyle a_{i}'}
tajny klucz Boba 0 1 1 1
zgodność kluczy Alicji i Boba {\displaystyle \surd } {\displaystyle \surd } × {\displaystyle \times } {\displaystyle \surd }
tajny klucz Ewy 0 1 0 0

Ewa nie tylko nie poznała całego klucza, ale też wprowadziła błędy w kluczu Boba. Teraz Alicja i Bob, porównując jawnie część bitów swoich kluczy, mogą wykryć podsłuch i oszacować liczbę bitów klucza uzyskanych przez Ewę. Jeżeli zgodność pomiędzy kluczami Alicji i Boba jest dostatecznie wysoka, a informacja, którą posiada Ewa dostatecznie mała, Alicja i Bob mogą poprzez klasyczne procedury wzmocnienia prywatności i uzgadniania informacji uzyskać klucze o dowolnie małym błędzie i dowolnie niskiej zgodności z kluczem Ewy. Poprawa jakości klucza następuje kosztem zmniejszenia liczby bitów.

Przypisy

  1. publikacja w otwartym dostępie – możesz ją przeczytać Bennett, Charles H., Brassard, Gilles. Quantum Cryptography: Public key distribution and coin tossing. „Proceedings of the IEEE International Conference on Computers, Systems, and Signal Processing, Bangalore”, s. 175, 1984. (ang.). 

Bibliografia

  • Michael A.M.A. Nielsen Michael A.M.A., Isaac L.I.L. Chuang Isaac L.I.L., Quantum Computing and Quantum Information, Cambridge: Cambridge University Press, 2000, s. 587–588, ISBN 0-521-63503-9 .