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

Podobne dokumenty