Kryptografia kwantowa, czyli w poszukiwaniu absolutu

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.

Ryc. 1 Alfabet kwantowy [1]

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.

Ryc. 2 Przykład transmisji niepodsłuchiwanej [2]

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.

Ryc. 3 Przykład transmisji podsłuchiwanej [2]

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.

Ryc. 4 Autorzy protokołu BB84: Charles H Bennett, Gilles Brassard i Artur Ekert.
Źródła: [1][4]

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.

Ryc. 5 Pierwsza na świecie sieć kwantowa w Chinach.
Źródło: University of Science and Technology of China

W 2024 r. ESA planuje wystrzelenie satelity Eagle-1, eksperymentalnego kosmicznego systemu dystrybucji kluczy kwantowych.

Źródła:

  1. http://dydaktyka.fizyka.umk.pl/Pliki/Kryptografia_kwantowa.pdf
  2. https://home.agh.edu.pl/~kozlow/fizyka/kwantowa%20kryptografia/K.%20Mackowiak,%20krypt_kwant.pdf
  3. https://yadda.icm.edu.pl/baztech/element/bwmeta1.element.baztech-833e2748-3edf-4041-aa71-b49262ff7e90/c/sobota_ZNPSLOZ_74_2014.pdf
  4. https://www.merton.ox.ac.uk/news/professor-artur-ekert-milner-award
  5. https://www.eoportal.org/satellite-missions/quess#launch

7 thoughts on “Kryptografia kwantowa, czyli w poszukiwaniu absolutu

  1. Warto tu przypomnieć, że nagrodę Nobla z fizyki w 2022 roku otrzymali Alain Aspect, John F. Clauser i Anton Zeilinger właśnie za eksperymenty ze splątanymi fotonami, ustalające naruszenie nierówności Bella i pionierską informatykę kwantową, co jest tematem powyższego artykułu. Pod koniec maja br. podczas swojego wykładu w Starej BUW pt. “Stany splątane i inne herezje” prof. Andrzej Dragan, przyjaciel wspomnianego w powyższym artykule prof. Artura Ekerta, opowiedział taką oto anegdotę, że Komisja Noblowska, prezentując dokonania nagrodzonych w trakcie uroczystości wręczania nagrody, wyświetliła na ekranie slajd ze schematem przenoszenia splątania kwantowego z jednych cząstek na drugie, który to slajd nie ma nic wspólnego z badaniami nagrodzonych i nie należy do ich dorobku naukowego. To był schemat opracowany przez zespół prof. Ekerta (tak, jego zespół jest już na takim etapie badań nad stanami splątanymi!). Slajd ten oczywiście szybko ostał “zdjęty” i nie znalazł się w oficjalnych materiałach prezentujących nagrodzonych za 2022 rok, ale nie może być lepszej zapowiedzi przyznania Nagrody Nobla dla Polaka w którejś z kolejnych edycji, na co zresztą w pełni Adam Ekert już zasłużył, opracowując i rozwijając już dziś działające bezpieczne protokoły kryptografii kwantowej. A rzecz to niebagatelna, gdyż jako jedyne są one w stanie uchronić nasze klucze kryptograficzne przed złamaniem przy pomocy ataku z użyciem komputera kwantowego. Ponieważ nie powstał jeszcze komputer kwantowy z prawdziwego zdarzenia (na razie ta dziedzina dopiero raczkuje), to dotychczas używane “klasyczne” protokoły szyfrowania oparte na wykorzystaniu kluczy zbudowanych z wielkich liczb pierwszych jeszcze są “w miarę” bezpieczne. Ale jeśli takie komputery powstaną, a to jest jedynie kwestią czasu, to bezpieczeństwa zarówno naszych danych, jak też środków zgromadzonych na naszych kontach bankowych będzie w stanie przypilnować jedynie zastosowany w praktyce dorobek naukowy prof. Ekerta.

    1
    • Cytując klasyka: “Ta nagroda mu się po prostu należy”.

      Drobna uwaga, nie ma “przenoszenia splątania kwantowego z jednych cząstek na drugie”, stan splątania dwóch lub większej liczby cząstek powstaje i trwa. Nie przenosi się, a tym samym nie ma żadnej prędkości. Splątanie to akt a nie proces.

  2. Można stworzyć dziesiątki rożnych konstrukcji generatora liczb losowych, losowe bowiem są zjawiska występujące w przyrodzie, losowe zachowanie ludzi i zwierząt. Wystarczy skonstruować indykator takich zjawisk i wyniki pomiarów przetworzyć na ciąg liczb. Np. – flaga na wietrze i fotokomórka wyłapująca zasłanianie przez tę trzepoczącą flagę, do tego zegar taktujący. Czasy między kolejnymi zasłonięciami fotokomórki przez flagę są absolutnie losowe, bowiem zależą od zupełnie przypadkowych powiewów wiatru. Inny przykład: Antena odbierająca szumy radiowe z kosmosu i układ je digitalizujący. Druga antena znajdująca się choćby z kilometr dalej da zupełnie inny ciąg liczb. A choćby zliczanie czasów między przejściami przechodniów przez jakieś miejsce na ruchliwej ulicy (metoda raczej niepraktyczna, ale możliwa jak by się uprzeć). W powyższych przykładach i wielu innych podobnych nie ma żadnego algorytmu generacji liczb. A jak z tego korzystać? Jak w latach 70-tych ub. w. służyłem w Marynarce Wojennej, to był tam stosowany taki oto sposób szyfrowania komunikatów radiowych: Radzik miał dwie książki – jedna, książka kodu zawierała wszystkie litery , cyfry, znaki przestankowe, najczęściej używane słowa i całe zwroty. Każdej pozycji była przypisana czterocyfrowa liczba. Druga, książka klucza zawierała losowy ciąg liczb, również czterocyfrowych. Radzik liczbę przypisaną w książce kodu pierwszemu w komunikacie zwrotowi, lub wyrazowi , a czasami tylko literze sumował z pierwszą wolną liczbą w książce klucza, jeśli wynik był pięciocyfrowy, to pierwszą cyfrę (którą była jedynka) wykreślał. W książce klucza skreślał użytą liczbę. I tak z dalszym ciągiem komunikatu. Odbiorca miał identyczny zestaw książek, więc przez zwykłe odejmowanie liczb komunikat odszyfrowywał. Nie byłem radzikiem, pełniłem na okręcie wachty nawigacyjne i sterowe, więc szczegółów (np. jak organizowano łączność między wieloma respondentami) nie znam, a to co powyżej opisałem, zdradził mi radzik.

    • Tak, każdy chyba próbował wymyślić taki generator. Ja też wymyślałem różne kaskady układów, o których piszesz. Ale dalej będą to liczby pseudolosowe, zdeterminowane przez poprzedni stan układu. Tak jak wentylator międli to samo powietrze, tak ten generator rozwiązuje “w myśli” jakieś równanie różniczkowe. Już chyba najbliższe ideałowi jest obserwowanie ruchów Browna, które są powodowane ruchem cząsteczek.

      1
      • Sławny był przypadek eksperymentalnego “algorytmu generującego liczby super(pseudo)losowe” Donalda Knutha, gdzie – zależnie od tego, jakie cyfry występowały w dziesięciocyfrowej liczbie – uruchamiane były różne skomplikowane moduły randomizujące, stosowane “losową” liczbę razy. Po zapuszczeniu na komputerze algorytm niemal natychnmiast zapętlił się na liczbie 6065038420, która przypadkiem okazała się jego wartością stałą. Przy innej wartości początkowej poszło nieco lepiej, ale i tak po kilku tysiącach kroków algorytm znów wpadł w cykl, tyle że o długości nieco ponad 3 tys. (co w praktyce oznacza bezużyteczność).

        1
      • Jeśli mamy dokładny zegar i źródełko radioaktywne, czasy między kolejnymi rozpadami są naprawdę losowe. Rozkład może nie pasować do potrzeb, ale to do obejścia.

        1

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *