BB84

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

BB84[1] jest protokołem kwantowej dystrybucji klucza wynalezionym przez Charlesa Bennetta i Gilles'a Brassarda w 1984. 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[edytuj | edytuj kod]

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 i b, oba długości n. Następnie, koduje te dwa ciągi jako ciąg n kubitów,

|\psi\rangle = \bigotimes_{i=1}^{n}|\psi_{a_ib_i}\rangle.

gdzie a_i i b_i to i-te bity odpowiednio a i b. Indeks a_ib_i oznacza jeden z czterech stanów kubitu:

|\psi_{00}\rangle = |Arrow north.svg\rangle

|\psi_{10}\rangle = |Arrow east.svg\rangle

|\psi_{01}\rangle = |Arrow northeast.svg\rangle = \frac{1}{\sqrt{2}}|Arrow north.svg\rangle + \frac{1}{\sqrt{2}}|Arrow east.svg\rangle

|\psi_{11}\rangle = |Arrow southeast.svg\rangle = \frac{1}{\sqrt{2}}|Arrow north.svg\rangle - \frac{1}{\sqrt{2}}|Arrow east.svg\rangle

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

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

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

Po zakończeniu pomiaru przez Boba następuje procedura ujawnienia baz: Alicja i Bob przesyłają kanałem publicznym ciągi b i b'. Następnie porównują te ciągi i odrzucają te bity ciągów a, 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[edytuj | edytuj kod]

losowy bit Alicji a_i 0 1 1 0 1 0 0 1
losowa baza Alicji b_i PlusCM128.svg PlusCM128.svg Multiplication Sign.svg PlusCM128.svg Multiplication Sign.svg Multiplication Sign.svg Multiplication Sign.svg PlusCM128.svg
polaryzacja fotonu wysłanego przez Alicję Arrow north.svg Arrow east.svg Arrow southeast.svg Arrow north.svg Arrow southeast.svg Arrow northeast.svg Arrow northeast.svg Arrow east.svg
losowa baza pomiaru Boba b_i' PlusCM128.svg Multiplication Sign.svg Multiplication Sign.svg Multiplication Sign.svg PlusCM128.svg Multiplication Sign.svg PlusCM128.svg PlusCM128.svg
polaryzacja zmierzona przez Boba a_i' Arrow north.svg Arrow northeast.svg Arrow southeast.svg Arrow northeast.svg Arrow east.svg Arrow northeast.svg Arrow east.svg Arrow east.svg
procedura ujawnienia baz
uzgodniony tajny klucz 0 1 0 1

Przykład ataku[edytuj | edytuj kod]

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 0 1 1 0 1 0 0 1
losowa baza Alicji b_i PlusCM128.svg PlusCM128.svg Multiplication Sign.svg PlusCM128.svg Multiplication Sign.svg Multiplication Sign.svg Multiplication Sign.svg PlusCM128.svg
polaryzacja fotonu wysłanego przez Alicję Arrow north.svg Arrow east.svg Arrow southeast.svg Arrow north.svg Arrow southeast.svg Arrow northeast.svg Arrow northeast.svg Arrow east.svg
losowa baza pomiaru Ewy PlusCM128.svg PlusCM128.svg PlusCM128.svg Multiplication Sign.svg PlusCM128.svg PlusCM128.svg Multiplication Sign.svg Multiplication Sign.svg
polaryzacja zmierzona przez Ewę i odesłana Bobowi Arrow north.svg Arrow east.svg Arrow east.svg Arrow southeast.svg Arrow north.svg Arrow north.svg Arrow northeast.svg Arrow northeast.svg
losowa baza pomiaru Boba b_i' PlusCM128.svg Multiplication Sign.svg Multiplication Sign.svg Multiplication Sign.svg PlusCM128.svg Multiplication Sign.svg PlusCM128.svg PlusCM128.svg
polaryzacja zmierzona przez Boba a_i' Arrow north.svg Arrow southeast.svg Arrow southeast.svg Arrow northeast.svg Arrow east.svg Arrow southeast.svg Arrow east.svg Arrow east.svg
tajny klucz Boba 0 1 1 1
zgodność kluczy Alicji i Boba \surd \surd \times \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. C. H. Bennett and G. Brassard, “Quantum Cryptography: Public key distribution and coin tossing”, in Proceedings of the IEEE International Conference on Computers, Systems, and Signal Processing, Bangalore, p. 175 (1984) [1]

Bibliografia[edytuj | edytuj kod]

  • Nielsen, Chuang: Quantum Computing and Quantum Information. Cambride: Cambridge University Press, 2000, s. 587-588. ISBN 0-521-63503-9.