Ten artykuł jest rozwinięciem tekstu Splątanie kwantowe, czyli coś, co działa, ale nie wiadomo dlaczego, w którym zostaną przybliżone zagadnienia kryptografii kwantowej.
Po pierwsze należy wyjaśnić, co rozumiemy przez pojęcie „kryptografia kwantowa”. Kryptografia kwantowa, przynajmniej ta stosowana obecnie, nie polega na kwantowym szyfrowaniu przekazu informacji. To odbywa się nadal metodami i algorytmami tradycyjnymi. Zjawiska kwantowe są używane do bezpiecznej transmisji klucza szyfrującego, wykorzystując zasadę nieoznaczoności Heisenberga mówiącą, że każde odczytanie polaryzacji fotonu powoduje bezpowrotne zniszczenie tej informacji. Oznacza to, że każda ingerencja mająca na celu podsłuchanie przesyłanego klucza może być wykryta i powoduje ponowne jego przesłanie, aż do skutku. Przy przesyłaniu kwantów światła nie ma możliwości podsłuchu pasywnego, każdy odczyt strumienia fotonów powoduje jego wykrywalne zakłócenie.
Kwantowa dystrybucja klucza (Quantum Key Distribution QKD) wykorzystuje dwa kanały przesyłu: tradycyjny światłowód jako kanał publiczny oraz kanał kwantowy (też światłowodowy) do przesyłu pojedynczych fotonów klucza. Kanał kwantowy jest dużo wolniejszy od kanału publicznego z dość oczywistych względów, transmituje strumień pojedynczych fotonów a nie ich modulowaną wiązkę. Oba kanały są używane do różnych celów, które opiszę dalej.
Znamy wiele protokołów QKD, spora w tym też zasługa polskich naukowców. Opiszę jeden z nich, podstawowy protokół Bennetta-Brassarda zwany BB84 opracowany w 1984 roku.
Podstawy
Konieczne jest zapoznanie się z podstawowymi pojęciami dotyczącymi polaryzacji kwantu światła (fotonu). Światło jest falą elektromagnetyczną, która drga we wszystkich możliwych kierunkach. Przepuszczenie światła przez odpowiedni ośrodek powoduje, że drgania stają się uporządkowane i odbywają się tylko w jednej płaszczyźnie. Mówimy wtedy o polaryzacji liniowej, płaszczyznę nazywamy płaszczyzną polaryzacji, a kąt, który tworzy płaszczyzna polaryzacji z płaszczyzną pionową – kątem polaryzacji. W kryptografii kwantowej używa się polaryzacji pionowej (0 stopni i 90 stopni) oraz ukośnej (45 stopni i 135 stopni). Nazywamy je bazami – odpowiednio: baza prosta i baza ukośna.
Kryptografia kwantowa wykorzystuje dwa kanały: kwantowy kanał komunikacji prywatnej i klasyczny kanał komunikacji publicznej. Kanał kwantowy służy do wymiany klucza za pomocą cząstek kwantowych (fotonów), a kanał publiczny do uzgadniania baz (o tym później) i korekcji błędów.
Kryptografia kwantowa opiera się na dwóch cechach mechaniki kwantowej: zasadzie nieoznaczoności Heisenberga i twierdzeniu o nieklonowaniu. Twierdzenie o nieklonowaniu mówi, że nie jest możliwe utworzenie identycznych kopii nieznanego stanu kwantowego. Dzięki temu można dowiedzieć się, czy ktoś przerwał (podsłuchał) kanał kwantowy podczas transmisji.
Wysyłany foton jest spolaryzowany w jednej z dwóch baz (prosta i ukośna), a w ramach bazy: pionowo lub poziomo dla bazy prostej i diagonalnie lub antydiagonalnie dla bazy ukośnej, co jest znane jedynie nadającemu. Wybór bazy i polaryzacji w ramach bazy odbywa się losowo. Odbiornik, za pomocą losowo wybranej bazy odczytuje polaryzację fotonu. Od strony technicznej odczyt odbywa się poprzez przepuszczenie fotonu przez kryształ kalcytu, charakteryzujący się dwójłomnością, czyli współczynnik załamania w tym krysztale zależy od kierunku polaryzacji światła, który, w zależności od polaryzacji fotonu aktywuje prąd elektryczny w jednym z dwóch fotopowielaczy. Odczytana informacja binarna, 0 lub 1, zależy od kierunku jednej z czterech możliwych polaryzacji.
Protokół Bennetta-Brassarda (BB84)
Tradycyjnie nadawcę nazywamy Alice, a odbiorcę Bobem. A więc Alice zamierza przesłać bezpiecznie klucz szyfrujący jako ciąg losowo spolaryzowanych fotonów do Boba. Posługując się podanym wyżej alfabetem jest to ciąg bitów. W tym celu dla każdego fotonu losowo wybiera jedną z dwóch baz (prosta, ukośna) i jedną z dwóch ortogonalnych polaryzacji w zależności od wartości wysyłanego bitu i wysyła spolaryzowany foton kanałem kwantowym. Ciąg wysyłanych bitów też może być losowy, jest to nawet wskazane ze względów bezpieczeństwa. Bob, dla każdego odebranego fotonu wybiera losowo bazę do odczytu i odczytuje polaryzację, a tym samym wartość bitową. Następnie wysyła (kanałem publicznym) listę wybranych przez siebie baz. Wyniki odczytu zachowuje w tajemnicy. Alice wybiera jako poprawne tylko te fotony, dla których występuje zgodność baz jej i Boba i kanałem publicznym informuje o tym Boba, które bazy zostały wybrane poprawnie. Wybór jednakowych baz jest spowodowany tym, że tylko zgodne bazy gwarantują, że Bob odbierze to, co Alice wyśle. Różne bazy wywołają kwantowy efekt losowości, gdzie Alice wysyła „1” a Bob odczytuje „0”. Bob, kasuje niepoprawne bity, a pozostałe (poprawne) są traktowane jako klucz szyfrujący.
Wszystko fajnie, ale gdzie tu kwantowa innowacyjność?
Załóżmy, że ktoś podsłuchuje, włącza się do transmisji, odczytuje fotony (bity) wysyłane przez Alice i następnie przesyła dalej do Boba. Niech się nazywa Ewa. Ewa nie zna bazy wybranej przez Alice więc musi zgadywać, dokonując odczytu za pomocą baz wygenerowanych losowo, które wcale nie muszą być zgodne z bazami Alice. Alice i Bob nie wiedzą o obecności Alice, ale mogą wykryć podsłuch metodami statystycznymi.
Prawidłowa i niepodsłuchiwana transmisja klucza powinna zawierać około 50% bitów pewnych, wybranych przez Alice na podstawie porównania baz, 25% bitów prawidłowych, mimo złego wyboru bazy przez Boba i 25% bitów nieprawidłowych. Aby wykryć podsłuch, wybiera się pewien ciąg fotonów, na które Bob i Alice nałożyli te same bazy, i sprawdza się, czy uzyskano te same wyniki. Jeśli przynajmniej dla jednego fotonu uzyskano różne wyniki mimo nałożenia tych samych baz, to oznacza to, że na łączu wystąpił podsłuch.[3]. Do wykrycia podsłuchu wystarczy sprawdzenie 10% bitów transmitowanego klucza, zakładając, że klucz jest długi. Skąd to założenie? Istnieje niezerowe prawdopodobieństwo, że Ewa przypadkiem wylosuje właściwe bazy, takie, jakich użyła Alice. Jednak wraz z długością klucza to prawdopodobieństwo maleje do wartości bliskich zera. A klucze szyfrujące są długie, gdyż są to przeważnie klucze jednorazowe o długości równej długości przesyłanego komunikatu. Oczywiście Ewa, podsłuchując kanał jawny, pozna niewielką część klucza użytego do kontroli transmisji, ale to nic nie szkodzi.
Kwantowy generator liczb losowych
Zjawisko losowej zmiany polaryzacji fotonu po przepuszczeniu przez kryształ jest wykorzystywane do generowania liczb prawdziwie losowych. Dotychczas posługiwaliśmy sie generatorami liczb pseudolosowych, które są algorytmami komputerowymi obliczającymi ciągi liczb na podstawie zadanej z góry liczby zwanej seed (zarodek, ziarno). Określenie „pseudolosowy” jest tu całkowicie uzasadnione, ponieważ generator może z jednego ziarna wyprodukować tylko jeden ciąg liczb, a więc znając ziarno możemy przewidzieć każdy element ciągu liczb pseudolosowych. Pytani, skąd wziąć seed? Wartość seed może być narzucona arbitralnie przez programistę lub użytkownika lub pochodzić z kolejnego generatora liczb pseudolosowych. Krąg zamknięty. Nie znaczy to, że taki generator jest bezużyteczny. Jest przydatny do wielu zastosowań, rozkłady statystyczne są prawidłowe, ale jednak do zastosowań wymagających absolutnej losowości takie rozwiązanie jest, powiedzmy, średnio przydatne. Takim zastosowaniem jest kryptografia z kluczem jednorazowym, gdzie nieprzewidywalność wartości klucza jest warunkiem koniecznym zachowania bezpieczeństwa. Klucz taki byłby nie do złamania.
Artur Ekert i jego E91
Za ojca kryptografii kwantowej opartej na splątaniu kwantowym uważany jest Artur Ekert, polski profesor fizyki pracujący na co dzień w Oxford University, laureat wielu prestiżowych nagród, m.in. Medalu Maxwella, Nagrody Kartezjusza, Medalu Hughesa, a ostatnio Royal Society Milner Award and Lecture.
Profesor Ekert jest autorem jednego z najlepszych protokołów kwantowej dystrybucji klucza E91, który nowatorsko wykorzystuje zjawisko splątania kwantowego. Jest też jednym ze współtwórców opisywanego tu protokołu BB84.
Praktyczne zastosowania QKD
Obecnie wiele ośrodków na świecie prowadzi prace rozwojowe nad komercyjnym zastosowaniem kwantowej dystrybucji kluczy szyfrujących. Jako ciekawostkę można podać przykłady takich nowatorskich zastosowań. W 2004 w Wiedniu wykonano pierwszy przelew bankowy z wykorzystaniem QKD. W szwajcarskim kantonie Genewa wyniki głosowania w wyborach krajowych 2007 przesłano z wykorzystaniem technologii kwantowej. System QKD zainstalowano również w campusie w Columbus w Ohio do przesyłania danych do zakładu produkcyjnego w pobliskim Dublinie.
Wystrzelona w sierpniu 2016 r. misja kosmiczna QUESS utworzyła międzynarodowy kanał QKD między Chinami a Instytutem Optyki Kwantowej i Informacji Kwantowej w Wiedniu – na odległość 7500 km, umożliwiając pierwszą międzykontynentalną bezpieczną kwantową rozmowę wideo. Razem z ośrodkami w Pekinie, Jinan, Hefei i Szanghajem tworzą pierwszą na świecie sieć kwantową przestrzeń kosmiczna-Ziemia.
Sieć liczy ponad 700 naziemnych węzłów optycznych połączonych z dwoma łączami Ziemia-satelita, które zapewniają kwantową dystrybucję klucza na łącznym dystansie 4600 kilometrów.
W 2024 r. ESA planuje wystrzelenie satelity Eagle-1, eksperymentalnego kosmicznego systemu dystrybucji kluczy kwantowych.
Źródła:
- http://dydaktyka.fizyka.umk.pl/Pliki/Kryptografia_kwantowa.pdf
- https://home.agh.edu.pl/~kozlow/fizyka/kwantowa%20kryptografia/K.%20Mackowiak,%20krypt_kwant.pdf
- https://yadda.icm.edu.pl/baztech/element/bwmeta1.element.baztech-833e2748-3edf-4041-aa71-b49262ff7e90/c/sobota_ZNPSLOZ_74_2014.pdf
- https://www.merton.ox.ac.uk/news/professor-artur-ekert-milner-award
- https://www.eoportal.org/satellite-missions/quess#launch