tekst wystąpienia
Transkrypt
tekst wystąpienia
Temat: Kryptografia kwantowa Autor: Tomasz Stachlewski Data: październik 2007 1. Krótkie wprowadzenie Na sam początek zadajmy sobie pytanie „Jaka była przyczyna stworzenia pierwszych komputerów”? Nie da się ukryć, że za ich początek przyjmujemy czasy II wojny światowej, wówczas to właśnie szczególnie wzrosła potrzeba odszyfrowywania setek, tysięcy tajnych wiadomości przesyłanych przez siły nieprzyjaciela. Wiadomości te zawierały informacje o przyszłych posunięciach wojsk, planach ataków i wielu innych rzeczach które dla przeciwnika były rzeczą wprost bezcenną. Bezcenną, ale jednocześnie zazwyczaj bezużyteczną gdyż zaszyfrowane poprzez specjalistyczne kody były niemal niemożliwe do odszyfrowania w rozsądnym czasie. Jednym z szyfrów używanych w drugiej wojnie światowej był kod Lorenza, był on stosowany głównie do komunikowania się na wysokim szczeblu wojskowym. W roku 1942 w laboratorium Poczty Królewskiej w Londynie stworzono maszynę Colossus – składała się ona z 1500 lamp elektronowych. Pozwoliło to na skrócenie rozszyfrowania wiadomości z kilku tygodniu do kilku godzin. Od jego uruchomienia w roku 1943 do końca wojny złamał on niemal 63 miliony zakodowanych znaków a jego moc obliczeniowa była większa od skonstruowanego dwa lata później amerykańskiego ENIAC’a. Należy tu dodać, że jedną z przyczyn dla których to właśnie ENIAC a nie Colossus jest uznawany za pierwszy komputer jest fakt, że o istnieniu tego drugiego opinia publiczna nie była świadoma aż do lat siedemdziesiątych. 2. Współczesne przeszkody odszyfrowywania Od II wojny światowej komputery bardzo się rozwinęły a ich moc obliczeniowa wzrosła wielokrotnie. Jednak i sposoby szyfrowania rozwinęły się w taki sposób, że dla obecnych komputerów odkodowanie zaszyfrowanych przez nie wiadomości jest rzeczą czasem wprost niemożliwą w rozsądnym czasie. Obecnie najbardziej znanym przykładem algorytmu służącego do szyfrowania jest algorytm RSA, wykorzystujący trudność faktoryzacji (rozkładzie na czynniki pierwsze) dużych liczb. Znacznie prostsze jest bowiem mnożenie liczb niż ich dzielenie. Aby odkodować wiadomość zaszyfrowaną algorytmem RSA należy właśnie rozłożyć liczbę, składającą się z najczęściej setek cyfr na swoje dzielniki, których jest zaledwie dwa. Okazuje się, że to zadanie z pozoru proste, dla współczesnych komputerów jest rzeczą tak pracochłonną, że algorytm RSA jest powszechnie używany i uznawany za jeden z najbezpieczniejszych sposobów szyfrowania danych. Dla uwidocznienia trudności w faktoryzacji dużych liczb, należy podać przykład z maja 2007 roku, kiedy to Politechnika z Lozanny, Uniwersytet w Bonn oraz japońska firma NTT połączyły swoje komputery i dokonały faktoryzacji liczby 21039-1. Sfaktoryzowanie tej, jak dotąd największej liczby, trwało 11 miesięcy. 3. Algorytm Shora Współczesne metody kodowania nie są w pełni bezpieczne, ale jednak wciąż są niemożliwe to złamania w rozsądnym czasie. Istnieje już jednak algorytm przeprowadzający faktoryzacje wielkich liczb, a co za tym idzie, łamanie szyfrów niemal natychmiastowo. Odkrył go w roku 1994 Peter Shor, złożoność tego algorytmu wynosi (lnN)3 (gdzie N to liczba poddana faktoryzacji). Dla przykładu, pozwoliło by to na rozkład na czynniki pierwsze liczby 129 cyfrowej, na komputerze 100 MHz w czasie zaledwie kilku sekund, a liczby 400 cyfrowej w kilka minut. Jedyną wadą algorytmu Shor’a jest fakt, że może on być zastosowany jedynie na komputerach kwantowych, komputerach, w które jeszcze nie tak dawno nikt nie wierzył, a które obecnie są dopiero w trakcie tworzenia, a ich moc obliczeniowa wciąż jest daleka od oczekiwań. Musiało upłynąć aż 7 lat, zanim po raz pierwszy udało się zastosować algorytm Shor’a w praktyce, w roku 2001 informatykom z IBM i Uniwersytetu Stamford udało się rozłożyć na czynniki pierwsze liczbę, liczbe…. 15. Komputer kwantowy który został do tego celu stworzony składał się z 7 kubitów. Właśnie od liczby kubitów zależy moc obliczeniowa komputera kwantowego, przyjmuje się, że komputer kwantowy składający się z 500 kubitów miałby większą moc obliczeniową niż zwykły komputer posiadający tyle procesorów ile jest cząsteczek we wszechświecie. Algorytm Shor’a pozwoliłby nam zatem na złamanie każdego szyfru opartego na zasadzie faktoryzacji, jedyną rzeczą której nam na razie brakuje to komputer kwantowy o odpowiedniej mocy obliczeniowej. Algorytm ten w ujęciu klasycznym jest dość prosty (i taki też zostanie tu opisany), jednak jego ‘moc’ jest zawarta właśnie w ujęciu ‘kwantowym’ i w sposobie jego implementacji na komputerze kwantowym. Niech dana będzie pewna liczba N (np. 21). Na podstawie algorytmów klasycznych sprawdźmy czy jest ona liczbą parzystą lub kwadratem liczby pierwszej, jeśli nie to możemy kontynuować. Przygotujmy rejestr A składający się z liczb od 0 do N: A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Wybieramy w sposób losowy pewną liczbę 15 16 17 18 19 20 21 (np. x=2) a następnie na podstawie algorytmu klasycznego (np. Euklidesa) znajdujemy Jeśli to przechodzimy do następnego punktu, jeśli nie to powtarzamy punkt jeszcze raz. Przygotowujemy rejestr B na podstawie: A B 0 1 1 2 2 4 3 8 4 16 Obliczamy okres 5 11 7 2 8 4 9 8 10 16 11 11 12 1 13 2 wartości w rejestrze B (tu wynosi on to poszukujemy kolejnego wartości wyrażeń: 6 1 14 4 15 8 16 16 17 11 18 1 19 2 20 4 21 8 ). Jeśli jest liczbą nieparzystą i powtarzamy czynności. W przeciwnym wypadku obliczamy (w naszym przykładzie ). Sprawdzamy, czy liczb N dzieli się przez którąś z liczb P i Q, jeśli nie, to powtarzamy wszystkie czynności. Jeśli tak, to znaleźliśmy dzielnik liczby N (w naszym przypadku ) Oczywiście, już na pierwszy rzut oka nasuwa się spostrzeżenie, że ten algorytm poza dość specyficznym podejściem do problemu, nie jest ani przełomowy ani nie skraca (na pozór) czasu potrzebnego na odnalezienie dzielników danej liczby. Jest to jednak tylko pozorne spostrzeżenie, gdyż siła Algorytmu Shor’a opiera się właśnie na sposobie jego zaimplementowania w komputerze kwantowym, oraz na tym, że komputer kwantowy (w przeciwieństwie do komputera klasycznego) dokonuje obliczeń równolegle, i tak np. wypełnienie rejestru B wykonuje on w pojedynczym kroku. 4. Szyfrowanie kwantowe – Algorytm Bennetta - Brassarda Pokazaliśmy już, że istnieją algorytmy informatyki kwantowej zdolne do złamanie takich szyfrów jak RSA, który jest m.in. używany w podpisach elektronicznych. Czy to jednak oznacza, że gdy już w pełni powszechne będą komputery kwantowe to nie będzie żadnego sposobu na poufne przesyłanie danych tak aby nikt niepowołany nie miał do nich dostępu? Okazuje się, że inżynieria kwantowa potrafi zaradzić i temu. Problemem w bezpiecznym komunikowaniu się zaszyfrowanymi wiadomościami jest ustalenie klucza, na podstawie którego nadawca i odbiorca są w stanie kodować i odkodowywać właściwą wiadomość. W klasycznej kryptografii jednym z problemów jest możliwość przechwycenia klucza prywatnego na podstawie którego można odszyfrowywać wiadomości, w kryptografii kwantowej jest to niemożliwe, gdyż każda próba jego przechwycenia będzie wiązała się z natychmiastowym zauważeniem tego faktu przez komunikujące się strony, jest to związane z jednym z postulatów inżynierii kwantowej, które mówi o tym, że nie można wykonać pomiaru (odczytu) bez zaburzania treści wiadomości. W kryptografii kwantowej, w celu ustalenia klucza kryptograficznego nadawca wysyła fotony spolaryzowane pod jednym z czterech kątów (poziome, pionowe, 45, -45). Odbiorca ustawia polaryzatory przez które przenikają odbierane fotony, od kąta ustawienia polaryzatora zależy polaryzacja fotonu otrzymanego na wyjściu. Następnie za pomocą odbiornika odbiera przesyłane fotony. Przyjmuje się dwa ustawienia polaryzatorów: polaryzator ustawiony pionowo (Baza Prosta) oraz pod kątem -45⁰ (Baza Ukośna). Baza Prosta Polaryzacja fotonu na wejściu pionowa pozioma ukośna Polaryzacja fotonu na wyjściu pionowa pozioma Pionowa lub pozioma Baza Ukośna Polaryzacja fotonu na wejściu ukośna 45⁰ ukośna -45⁰ Pozioma lub Pionowa Polaryzacja fotonu na wyjściu ukośna 45⁰ ukośna -45⁰ ukośna 45⁰ lub -45⁰ Każdej polaryzacji przypisane jest zero bądź jedynka: =0 =1 Przykład przesyłania klucza kryptograficznego: Przypuśćmy, ze „Ania” i „Adam” chcą ustalić pewny klucz kryptograficzny. 1. W tym celu Ania wybiera losowo jedną z czterech możliwych polaryzacji fotonu (pionowa, pozioma, ukośna 45⁰, ukośna -45⁰). Następnie wysyła do Adama pewien ciąg tak losowo wybranych fotonów. 2. Adam ustala losowo pewien ciąg baz (prosta bądź ukośna), przez które poszczególne fotony wysłane przez Anie będą przenikały i dokonuje pomiaru poszczególnych fotonów (pomiary zachowuje w tajemnicy). 3. Adam publicznie informuje Anie jakiego losowo wybranego ciągu baz użył do ustalenia klucza, a Ania informuje go publicznie które z tych baz były pewne (tzn. te przez które, po przejściu przez nie fotonu, nie zmienia on (foton) swojej polaryzacji). 4. Poszczególne wyniki otrzymane przez Adama na bazach pewnych stanowią klucz kryptograficzny. Losowo wybrany ciąg fotonów (Alicja) Losowo dobrany ciąg baz (Adam) Fotony po przejściu przez bazy (Adam) Pewne bazy Klucz kryptograficzny, na podstawie poprawnych baz TAK 0 TAK 0 TAK 0 TAK 1 TAK 1 Ponieważ ciąg fotonów wysłanych przez Alicję był losowy, jak i ciąg baz ustawiony przez Adama był losowy to średnio połowa zarejestrowanych przez Adama bitów to bity pewne, 25% to bity prawidłowe mimo użycia błędnej bazy, 25% to bity błędne. Gdyby liczba poprawnych baz była niższa świadczyło by to o tym, że doszło do podsłuchu i osoba trzecia wcześniej próbowała by przechwycić wysłane fotony. Pomysł przesyłania kluczy kryptograficznych wyszedł już poza plany i marzenia i jest już stosowany. W dziedzinie tej przodują Szwajcarzy, którym udało się już przesłać taką metodą klucz kryptograficzny na odległość 67 kilometrów pomiędzy Genewą a Lozanną. To właśnie odległość na którą przesyłany zostaje klucz jest obecnie największym problemem inżynierów. Fotonów które zostają wysłane nie można w żaden sposób wzmocnić tak aby mogły one dotrzeć na większą odległość, gdyż każda ingerencja w nie, jest porównywalna do próby podsłuchu i kończy się zaburzeniem przesyłanej wiadomości. Obecnie w wielu ośrodkach badawczych trwają prace badawcze mające na celu zniwelowania tego problemu lecz jak na razie bez większych sukcesów. Nie zmienia to faktu, że rozpowszechnianie klucza kryptograficznego na mniejszych odległościach działa. Mówi się, że sieć kryptograficzna łączy między innymi Biały Dom i Pentagon w Stanach Zjednoczonych. Ciekawostką jest też fakt, że okazuje się, że każdy z nas może stworzyć własną sieć umożliwiającą bezpieczną komunikację na podstawie klucza kryptograficznego. W roku 2002 szwajcarska firma id Quantique zaprezentowała urządzenie, składające się z dwóch małych skrzynek (odbiornik i nadajnik) podłączane do komputera przez port USB umożliwiające bezpieczną komunikacje opierającą się na przesyłaniu klucza kryptograficznego. 5. Podsumowanie Komputery kwantowe mogą spowodować przełom w przesyłaniu zaszyfrowanych wiadomości. Z jednej strony dzięki komputerom kwantowym i algorytmie Shor’a używanie współczesnych algorytmów szyfrowania, takich jak RSA, stanie się bezużyteczne, z drugiej strony pozwolą one na bezpieczną komunikacje, dzięki przesyłaniu kluczy kryptograficznych. Jednak zanim się to stanie, będzie trzeba rozwiązać wiele problemów inżynierii kwantowej. Wielką trudnością jest wciąż zbudowanie komputera kwantowego składającego się z dużej ilości kubitów, okazuje się bowiem, że im większa ich liczba, tym trudniej je wszystkie kontrolować. Trudność w przesyłaniu klucza kryptograficznego sprawia również pojedyncze wysyłanie fotonów, okazuje się bowiem, że zazwyczaj, wysyłana jest ich większa ilość . Istnieją już rozwiązania które potrafią zniwelować ten problem, jednak okazuje się, że zmniejsza to drastycznie zasięg na jaki można wysłać fotony. Trudno powiedzieć ile czasu upłynie zanim komputery kwantowe staną się czymś więcej niż tylko projektami w rządowych i uniwersyteckich laboratoriach, bardzo możliwe, że nawet jeśli uda się skonstruować w pełni działające komputery o dużej mocy obliczeniowej to będą one dostępne tylko dla dużych instytucji posiadających potężny kapitał i odpowiednie warunki do ich przechowywania, pewnym będzie jednak to, że dzięki zastosowaniu kryptografii kwantowej, w pełni bezpiecznym będzie każda transakcja internetowa, taka jak przelew bankowy czy zakupy internetowe a komunikacja internetowa stanie się poufna i bezpieczna. Literatura: Kryptografia Kwantowa, K. Maćkowiak, 2006 Kwantowe tajemnice, M. Bieńkowski, 2002 Kryptografia Kwantowa, R. Tanaś, 2002 Komputery Kwantowe, P. Skibiński, 2005 http://www.wiw.pl/nowinki/matematyka/200007/20000726-001.asp http://hacking.pl/pl/news-3858-Super_komputer_II_Wojny_Swiatowej.html http://pl.wikipedia.org/wiki/Maszyna_Lorenza http://tdudkowski.i108.org/comp/comp_history.html