Kryptografia kwantowa - Wyższa Szkoła Biznesu w Dąbrowie

advertisement
WYŻSZA SZKOŁA BIZNESU W
DĄBROWIE GÓRNICZEJ
WYDZIAŁ ZARZĄDZANIA INFORMATYKI
I NAUK SPOŁECZNYCH
Instrukcja do laboratorium z przedmiotu:
Kryptografia kwantowa
Instrukcja nr 1
Dąbrowa Górnicza, 2010
INSTRUKCJA DO LABORATORIUM Z PRZEDMIOTU:
Kryptografia kwantowa
I. Nr instrukcji: 1
Rok studiów.../ semestr....
II. Temat ćwiczenia: Kwantowy protokół uzgadniania klucza szyfrującego BB84
III. Cel ćwiczenia:
Celem ćwiczenia jest zdobycie wiedzy na temat budowy jednego z kwantowych protokołów
uzgadniania klucza szyfrującego.
IV. Podstawy teoretyczne:
Protokół BB84
Idea wykorzystywana w tej metodzie została rozwinięta już w latach siedemdziesiątych, ale prace nad
nią ukończono w roku 1984 stąd data w nazwie. Jej twórcami są: Charles Bennett, Gilles Brassard i
Artur Eckert [BB84]. Opiera się ona na zastosowaniu dwóch alfabetów:
o
o
• Prostego zawierającego fotony o polaryzacji 0 i 90 (binarne 0 i 1),
o
o
• Ukośnego zawierającego fotony o polaryzacji 45 i 135 (binarne 0 i 1).
Konsultacja klucza szyfrującego odbywa się w następujących krokach:
• Alicja (nadawca) wybiera losowo jedną z czterech możliwych polaryzacji i wysyła do Bolka
(odbiorca) foton o takiej polaryzacji. Ciąg fotonów stanowi ciąg zer i jedynek z dwóch
alfabetów kwantowych.
• Bolek wybiera losowo bazę prostą lub ukośną i wykonuje pomiar polaryzacji każdego fotonu,
który otrzymał od Alicji.
• Bolek notuje wyniki pomiaru zachowując je w tajemnicy.
• Bolek publicznie informuje Alicję, jakich baz użył do pomiaru, zaś Alicja informuje go czy
wybrane losowo typy baz były właściwe czy nie.
• Alicja i Bolek przechowują wyniki pomiarów, dla których Bolek użył właściwej bazy. Wyniki
tych pomiarów można zapisać w postaci binarnej a uzyskany ciąg może zostać wykorzystany,
jako klucz kryptograficzny.
Taki sposób wymiany klucza szyfrującego pozwala na wykrycie podsłuchu na łączu. Wynika to z
prawa mechaniki kwantowej zgodnie, z którym nie jest możliwy pasywny podsłuch. Każdy podsłuch
jest aktywny i wprowadza przekłamania w przekazie. Aby wykryć podsłuch wybiera się pewien ciąg
fotonów, na które Bolek i Alicja nałożyli te same bazy i sprawdza się czy uzyskano te same wyniki.
Jeśli wyniki różnią się mimo nałożenia tych samych baz to oznacza to, że na łączu wystąpił podsłuch.
W takim przypadku konsultację klucza należy rozpocząć od nowa.
V. Literatura
Literatura podstawowa:
1. Bennett C.H., Brassard G.: Quantum Cryptography: Public Key Distribution
and Coin Tossing. Proceedings of IEEE International Conference on
2. Sobota M.: Bezpieczeństwo wymiany klucza szyfrującego z wykorzystaniem
wybranych protokołów kwantowych. Nowe technologie w komputerowych
systemach zarządzania. 239-244, Wydawnictwo Komunikacji i Łączności, Warszawa
2005.
Literatura uzupełniająca:
1. Schneier B.: Kryptografia dla praktyków. WNT, Warszawa 1995.
VI. Wymagania:
Przed przystąpieniem do realizacji tego ćwiczenia student powinien zapoznać się z instrukcją
użytkowania oprogramowania Symulator protokołów kwantowych.
VII. Zadania do wykonania:
Zadanie polega na przeprowadzeniu symulacji protokołu BB84 z wykorzystaniem dedykowanego
oprogramowania. Celem ćwiczenia jest określenie wpływu parametrów wejściowych na uzyskiwane
wyniki.
VIII. Zadania szczegółowe
• Ustawić parametry początkowe.
• Ustawić długość ciągu bitów.
• Ustawić parametr QBER.
• Dla różnych parametrów wejściowych badać wyniki symulacji.
IX. Procedura wykonania zadania laboratoryjnego:
1. Parametry początkowe
Symulacja rozpoczyna się ustawieniem parametrów początkowych symulatora.
Do parametrów początkowych należą:
• Długość ciągu fotonów.
• Wybór dotyczący tego czy wystąpi podsłuch czy nie.
• Parametr określający procent przekłamanych fotonów – symulacja określająca procent błędów
wynikających z niedoskonałości łącza.
Rysunek 1. Okno symulatora protokołów kwantowych
2. Ustawienia stanu bitów
Ustaw polaryzację fotonów zgodnie z poniższymi wytycznymi:
• Wszystkie bity w stanie 1.
• 10% początkowych fotonów w stanie 0, pozostałych 90% w stanie 1.
• 20% początkowych fotonów w stanie 0, pozostałych 80% w stanie 1.
• 30% początkowych fotonów w stanie 0, pozostałych 70% w stanie 1.
• …………………..
• …………………..
• 90% początkowych fotonów w stanie 0, pozostałych 10% w stanie 1.
• Wszystkie bity w stanie 0.
• Losowe ustawienie wszystkich bitów.
Każde badanie powtórzyć 5 razy.
Badanie powtórzyć dla ciągów długości 100, 300, 500, 800 i 1000 bitów.
Alfabety dla poszczególnych stanów ustawić dowolnie.
3. Ustawienie parametrów końcowych
Ustaw współczynnik QBER oraz procent fotonów badanych pod kątem podsłuchu na
następujących poziomach:
• QBER = 10% oraz 20% fotonów przeznaczonych do badania.
• QBER = 20% oraz 25% fotonów przeznaczonych do badania.
• QBER = 30% oraz 30% fotonów przeznaczonych do badania.
• QBER = 40% oraz 30% fotonów przeznaczonych do badania.
Badania powtórz stosując założenia z pkt. 2 dla baz Ewy (1 to bazy proste, 0 ukośne).
X. Sprawozdanie z ćwiczeń:
Tabela wyników
Lp.
testu
Liczba
bitów
Podsłuch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
100
100
100
100
100
100
100
100
100
100
300
300
300
300
300
300
300
300
300
300
…
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
…
Procent
przekłamanych
bitów
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
…
QBER
10%
10%
10%
10%
10%
30%
30%
30%
30%
30%
10%
10%
10%
10%
10%
30%
30%
30%
30%
30%
…
Proc
zgodnych
fotonów
…
Wykryto
podsłuch
?
…
Maks.
odległość
…
QBER
20%
20%
20%
20%
20%
40%
40%
40%
40%
40%
20%
20%
20%
20%
20%
40%
40%
40%
40%
40%
…
Proc
zgodnych
fotonów
Wykryto
podsłuch
?
Maks
odległość
WYŻSZA SZKOŁA BIZNESU W
DĄBROWIE GÓRNICZEJ
WYDZIAŁ ZARZĄDZANIA INFORMATYKI
I NAUK SPOŁECZNYCH
Instrukcja do laboratorium z przedmiotu:
Kryptografia kwantowa
Instrukcja nr 2
Dąbrowa Górnicza, 2010
INSTRUKCJA DO LABORATORIUM Z PRZEDMIOTU:
Kryptografia kwantowa
I. Nr instrukcji: 2
Rok studiów.../ semestr....
II. Temat ćwiczenia: Kwantowych protokołów uzgadniania klucza szyfrującego B92
III. Cel ćwiczenia:
Celem ćwiczenia jest zdobycie wiedzy na temat budowy jednego z kwantowych protokołów
uzgadniania klucza szyfrującego.
IV. Podstawy teoretyczne:
Protokół B92
Twórcą tego protokołu jest, współtwórca protokołu BB84, Charles Bennett. Opiera się on na dwóch
0
nieortogonalnych stanach kwantowych. Można przyjąć, że dwa takie stany to fotony o polaryzacji 0 i
0
45 . Przypisuje się im odpowiednio wartości 0 i 1. Fotony o takich polaryzacjach generuje Alicja. Bolek
0
0
0
0
dokonuje odczytu w stanach ortogonalnych do 0 i 45 czyli 90 i 135 . Konsultacja klucza
szyfrującego odbywa się w następujących etapach:
• Alicja wybiera losowo jedną z dwóch polaryzacji: 00 lub 450 i foton o takiej polaryzacji wysyła
do Bolka. Powtarzając tę procedurę wielokrotnie wysyła do Bolka ciąg fotonów przypisując im
domyślnie wartości 0 i 1.
• Bolek wybiera losowo bazę prostą lub ukośną i dokonuje odczytu przesłanych fotonów. Jeżeli
0
wybrana baza jest prawidłowa (ukośna dla fotonu 0 – może uzyskać bit 0 lub prosta dla
0
fotonu 45 – może uzyskać bit 1) to otrzyma wynik z prawdopodobieństwem 0,5. Jeżeli
wybrana baza jest nieprawidłowa to nie uzyska wyniku.
• Bolek przekazuje Alicji publicznym kanałem informację, dla których fotonów uzyskał wynik.
Uzyskana polaryzacja pozostaje tajna.
• Alicja i Bolek przechowują ciąg bitów, dla których Bolek zarejestrował foton. Ciąg ten stanowi
klucz szyfrujący.
V. Literatura
Literatura podstawowa:
1. Bennett C.H., Brassard G.: Quantum Cryptography: Public Key Distribution
and Coin Tossing. Proceedings of IEEE International Conference on
2. Sobota M.: Bezpieczeństwo wymiany klucza szyfrującego z wykorzystaniem
wybranych protokołów kwantowych. Nowe technologie w komputerowych
systemach zarządzania. 239-244, Wydawnictwo Komunikacji i Łączności, Warszawa
2005.
Literatura uzupełniająca:
1. Schneier B.: Kryptografia dla praktyków. WNT, Warszawa 1995.
VI. Wymagania:
Przed przystąpieniem do realizacji tego ćwiczenia student powinien zapoznać się z instrukcją
użytkowania oprogramowania Symulator protokołów kwantowych.
VII. Zadania do wykonania:
Zadanie polega na przeprowadzeniu symulacji protokołu B92 z wykorzystaniem dedykowanego
oprogramowania. Celem ćwiczenia jest określenie wpływu parametrów wejściowych na uzyskiwane
wyniki.
VIII. Zadania szczegółowe
• Ustawić parametry początkowe.
• Ustawić długość ciągu bitów.
• Ustawić parametr QBER.
• Dla różnych parametrów wejściowych badać wyniki symulacji.
IX. Procedura wykonania zadania laboratoryjnego:
1. Parametry początkowe
Symulacja rozpoczyna się ustawieniem parametrów początkowych symulatora.
Do parametrów początkowych należą:
• Długość ciągu fotonów.
• Wybór dotyczący tego czy wystąpi podsłuch czy nie.
•
Parametr określający procent przekłamanych fotonów – symulacja określająca procent błędów
wynikających z niedoskonałości łącza.
2. Ustawienia stanu bitów
Ustaw polaryzację fotonów zgodnie z poniższymi wytycznymi:
• Wszystkie bity w stanie 1.
• 10% początkowych fotonów w stanie 0, pozostałych 90% w stanie 1.
• 20% początkowych fotonów w stanie 0, pozostałych 80% w stanie 1.
• 30% początkowych fotonów w stanie 0, pozostałych 70% w stanie 1.
• …………………..
• …………………..
• 90% początkowych fotonów w stanie 0, pozostałych 10% w stanie 1.
• Wszystkie bity w stanie 0.
• Losowe ustawienie wszystkich bitów.
Każde badanie powtórzyć 5 razy.
Badanie powtórzyć dla ciągów długości 100, 300, 500, 800 i 1000 bitów.
Alfabety dla poszczególnych stanów ustawić dowolnie.
3. Ustawienie parametrów końcowych
Ustaw współczynnik QBER oraz procent fotonów badanych pod kątem podsłuchu na
następujących poziomach:
• QBER = 10% oraz 20% fotonów przeznaczonych do badania.
• QBER = 20% oraz 25% fotonów przeznaczonych do badania.
• QBER = 30% oraz 30% fotonów przeznaczonych do badania.
• QBER = 40% oraz 30% fotonów przeznaczonych do badania.
Badania powtórz stosując założenia z pkt. 2 dla baz Ewy (1 to bazy proste, 0 ukośne).
X. Sprawozdanie z ćwiczeń:
Tabela wyników
Lp.
testu
Liczba
bitów
Podsłuch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
100
100
100
100
100
100
100
100
100
100
300
300
300
300
300
300
300
300
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Tak
Procent
przekłamanych
bitów
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
5%
QBER
10%
10%
10%
10%
10%
30%
30%
30%
30%
30%
10%
10%
10%
10%
10%
30%
30%
30%
Proc
zgodnych
fotonów
Wykryto
podsłuch
?
Maks.
odległość
QBER
20%
20%
20%
20%
20%
40%
40%
40%
40%
40%
20%
20%
20%
20%
20%
40%
40%
40%
Proc
zgodnych
fotonów
Wykryto
podsłuch
?
Maks
odległość
19
20
21
300
300
…
Tak
Tak
…
5%
5%
…
30%
30%
…
…
…
…
40%
40%
…
WYŻSZA SZKOŁA BIZNESU W
DĄBROWIE GÓRNICZEJ
WYDZIAŁ ZARZĄDZANIA INFORMATYKI
I NAUK SPOŁECZNYCH
Instrukcja do laboratorium z przedmiotu:
Kryptografia kwantowa
Instrukcja nr 3
Dąbrowa Górnicza, 2010
INSTRUKCJA DO LABORATORIUM Z PRZEDMIOTU:
Kryptografia kwantowa
I. Nr instrukcji: 3
Rok studiów.../ semestr....
II. Temat ćwiczenia: Badanie zjawiska elektrooptycznego z wykorzystaniem komórki Pockelsa
III. Cel ćwiczenia:
Celem ćwiczenia jest zdobycie wiedzy na temat zjawiska elektrooptycznego pozwalającego na zmianę
polaryzacji światła.
IV. Podstawy teoretyczne:
Fala przechodząc przez granicę ośrodków ulega zwykle załamaniu. Współczynnik załamania
definiowany jest jako stosunek prędkości fazowych fal w tych ośrodkach. W przypadku
światła mamy do czynienia z falą elektromagnetyczną, a współczynnik załamania określa się
najczęściej w stosunku do próżni (bezwzględny współczynnik załamania światła). Warto
podkreślić dość oczywisty fakt, że promień padający i załamany leżą w jednej płaszczyźnie,
gdy mamy do czynienia z ośrodkiem izotropowym. W przypadku ośrodków anizotropowych
prędkość fazowa fali zależy nie tylko od kierunku rozchodzenia się promienia, lecz może
zależeć od kierunku drgań wektora elektrycznego. Jeżeli wiązka światła niespolaryzowanego
rozchodzi się w ośrodku optycznie anizotropowym pod pewnym kątem do osi optycznej, to
ulega rozdzieleniu na dwie. Jedna z tych wiązek leży w płaszczyźnie padania i spełnia prawo
Sneliusa. Wiązkę tę nazywa się wiązką lub promieniem zwyczajnym. Druga z wiązek leży
poza płaszczyzną padania i nazywana jest nadzwyczajną. Zjawisko podwójnego załamania
nazywane jest dwójłomnością. Dwójłomność może zostać wywołana (również w ciałach
izotropowych) za pomocą czynników zewnętrznych takich jak naprężenia mechaniczne, pole
elektryczne lub magnetyczne czy też gradient temperatury. Dwójłomność ośrodka pod
nieobecność czynników zewnętrznych nazywa się dwójłomnością spontaniczną, natomiast
dwójłomność spowodowana czynnikiem zewnętrznym nazywa się dwójłomnością
wymuszoną lub indukowaną. Zmiana dwójłomności wywołana zewnętrznym polem
elektrycznym nazywa się zjawiskiem elektrooptycznym. Jeżeli zmiana dwójłomności jest
liniową funkcją natężenia pola elektrycznego, to mówimy o liniowym efekcie
elektrooptycznym lub o efekcie Pockelsa.
V. Literatura
Literatura podstawowa:
1.
2.
3.
4.
B. Ziętek, Optoelektronika (Wydawnictwo UMK, Toruń 2004).
K. Booth, S. Hill, Optoelektronika (Wydawnictwo Komunikacji i Łączności,
Warszawa 1998).
P. Chmela, Wprowadzenie do optyki nieliniowej (PWN, Warszawa 1987).
Literatura uzupełniająca:
1. J.R. Meyer-Arendt, Wstęp do Optyki (PWN 1979).
VI. Wymagania:
Przed przystąpieniem do realizacji tego ćwiczenia student powinien zapoznać się z teorią dotyczącą
zjawiska elektrooptycznego.
Ponieważ w ćwiczeniu wykorzystywane jest promieniowanie laserowe, źródła wysokiego napięcia
oraz niezwykle delikatne elementy optyczne wymagane jest od studenta stosowanie sie do
poniższych zasad:
• Nie wolno patrzeć wprost w wiązkę laserowa, gdyż może to doprowadzić do trwałej utraty
wzroku.
• Nie wolno kierować wiązki laserowej na inne osoby.
• Nie wolno dotykać wyjść zasilaczy wysokiego napięcie co grozi porażeniem prądem.
• Nie wolno dotykać elementów optycznych (polaryzatorów, okienka lasera, okienka komórki
Pockelsa) gdyż może to doprowadzić do zniszczenia sprzętu.
VII. Zadania do wykonania:
Zadanie polega na przeprowadzeniu badań dotyczących zjawiska elektrooptycznego z
wykorzystaniem komórki Pockelsa.
VIII. Zadania szczegółowe
• Uruchomić stanowisko badawcze.
• Ustawić polaryzatory w stanie początkowym.
• Uruchomić sprzęt pomiarowy.
IX. Procedura wykonania zadania laboratoryjnego:
4. Przebieg ćwiczenia
Komórka Pockelsa, z kryształem KD*P, jest podłączona do zasilacza wysokiego napięcia. Napięcie
zasilania może być zmieniane w sposób ciągły w zakresie od 0 do 3500 V. Źródłem światła jest laser
He-Ne (długość światła = 632,8 nm.) o mocy wiązki laserowej 1 mW. Moc wiązki laserowej po
przejściu przez polaryzator, komórkę Pockelsa oraz analizator mierzona jest poprzez pomiar napięcia
na fotodiodzie. W celu przeprowadzenia pomiarów transmisji komórki Pockelsa w zależności od
przyłożonego napięcia należy:
1. Włączyć laser He-Ne.
2. Obserwując plamkę wiązki laserowej na ekranie za analizatorem, ustawić polaryzator i analizator w
taki sposób, aby natężenie plamki było minimalne (w idealnej sytuacji równe zero).
3. Wstawić pomiędzy polaryzator i analizator komórkę, Pockelsa (bez napięcia) w taki sposób, aby
transmisja układu nie uległa zmianie.
4. Obracając analizator badać zmiany napięcia na fotodiodzie.
5. Zmierzyć napięcia na fotodiodzie w zależności od przyłożonego napięcia na komórkę Pockelsa.
Pomiary przeprowadzić dla napięć w zakresie 0-3500 V, w co najmniej dwóch seriach pomiarowych.
6. Na podstawie wyników pomiarów wyznaczyć napięcie ćwierćfalowe V¼.
7.Narysować wykres przedstawiający zależność napięcia wejściowego komórki Pockelsa oraz
napięcia mierzonego na fotodiodzie.
W celu osiągnięcia stabilnych warunków pracy laser He-Ne powinien być włączony przez około
godzinę przed rozpoczęciem jakichkolwiek pomiarów.
X. Sprawozdanie z ćwiczeń:
Dane techniczne:
-napięcie ćwierćfalowe
-napięcie półfalowe
-napięcie maksymalne
………………………
………………………
………………………
Wyniki przedstawić w formie tabeli zamieszczonej poniżej.
Lp.
Napięcie
wejściowe
[V]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
Napięcie
wyjściowe
[mV]
Polaryzator
[stopnie]
Analizator
[stopnie]
Różnica (P-A)
[stopnie]
15
16
17
18
19
20
3000
Wykres
Wnioski
WYŻSZA SZKOŁA BIZNESU W
DĄBROWIE GÓRNICZEJ
WYDZIAŁ ZARZĄDZANIA INFORMATYKI
I NAUK SPOŁECZNYCH
Instrukcja do laboratorium z przedmiotu:
Algorytmy kwantowe
Instrukcja nr 1
Dąbrowa Górnicza, 2010
INSTRUKCJA DO LABORATORIUM Z PRZEDMIOTU:
Algorytmy kwantowe
I. Nr instrukcji: 1
Rok studiów.../ semestr....
II. Temat ćwiczenia: Badania symulacyjne kwantowego algorytmu faktoryzacji.
III. Cel ćwiczenia:
Celem ćwiczenia jest zdobycie wiedzy na temat działania algorytmu Shora czyli kwantowego
algorytmu faktoryzacji.
IV. Podstawy teoretyczne:
Algorytm Shora
Algorytm faktoryzacji liczb naturalnych został opracowany przez Shora i do dziś jest sztandarowym
przykładem algorytmu przeznaczonego do realizacji na komputerach kwantowych. W algorytmie tym
faktoryzacja liczb naturalnych została sprowadzona do wyznaczenia okresów pewnej funkcji
okresowej. Jeżeli chce się wyznaczyć czynniki pierwsze pewnej liczby n = pq , to wyznacza się je
faktycznie poszukując okresów funkcji
f xn (a ) = x a mod n , gdzie x jest dowolną liczbą mniejszą od n
oraz nie posiadającą wspólnych czynników z n. Jeżeli okaże się, że przypadkowo wybrana liczba x
posiada wspólny dzielnik z liczbą N wówczas wyznacza się największy wspólny dzielnik liczb x oraz n
i dokonuje się faktoryzacji liczby n. Jeżeli liczby x oraz n nie posiadają wspólnych dzielników,
a
wówczas rozpatruje się resztę z dzielenia liczby x przez liczbę n. Tak otrzymana funkcja jest funkcją
r/2
okresową o okresie r = r ( x, n) . Jeżeli okres r jest liczbą parzysta oraz x mod N ≠ 1 , wówczas
można dokonać faktoryzacji liczby N. Czynniki pierwsze liczby n są największymi wspólnymi
(
)
r/2
(
)
r/2
dzielnikami NWD x
+ 1; n oraz NWD x − 1; n . Największe wspólne dzielniki wyznacza się
korzystając z powszechnie znanego algorytmu Euklidesa o wielomianowej złożoności obliczeniowej.
Szczegółowy proces wyznaczania czynników liczby n jest następujący:
1. Jeżeli liczba n jest liczbą pierwszą, liczbą parzysta lub liczbą całkowitą będącą potęgą
liczby pierwszej to nie można wykorzystać algorytmu Shora. Sprawdzenia te wykonuje
się na komputerze klasycznym.
2. Należy wybrać liczbę całkowitą q taką że q jest wielokrotnością liczby 2 oraz że
n 2 ≤ q ≤ 2n 2 . Krok ten wykonuje się na komputerze klasycznym.
3. Należy wybrać losowo liczbę całkowitą x względnie pierwszą z n to znaczy taką, że
GCD ( x, n) = 1 . Krok wykonuje się na komputerze klasycznym.
4. Utworzyć rejestr kwantowy i podzielić go na dwie części: rejestr 1 i rejestr 2. Stan
left rej1; rej 2 . Rejestr 1 musi się składać z
dostatecznie dużej liczby qubitów tak by mógł reprezentować liczbę wielkości q − 1
komputera kwantowego jest dany przez
natomiast rejestr 2 musi się składać z takiej liczby qubitów by mógł reprezentować liczbę
całkowitą n − 1 .
5. Należy ustawić rejestr 1 tak by reprezentował superpozycję wszystkich liczb całkowitych
z przedziału < 0; q − 1) . Jednocześnie rejestr 2 należy ustawić w stanie 0. Operację tę
wykonuje się na komputerze kwantowym. Całkowity stan rejestru kwantowego można
przedstawić jako
1 q−1
∑ a,0
q a =0
a
6. Należy zastosować transformacje x mod n dla wszystkich liczb przechowywanych w
rejestrze 1 i zapisać uzyskane wyniki w rejestrze 2. Dzięki kwantowej równoległości
obliczeń operacja ta wykonana jest w jednym kroku komputera kwantowego, ponieważ
a
a
oblicza on x mod n gdzie
jest superpozycja stanów utworzonych w kroku 5. Stan
rejestru kwantowego wygląda następująco:
1 q −1
a, x a mod n
∑
q a =0
7. Należy zmierzyć rejestr 2 i zaobserwować wartość k, która jest efektem ubocznym
przekształceń w rejestrze 1 każdego ze stanów z przedziału < 0; q − 1 > takiego, że
x a mod n = k
8. peracja ta wykonywana jest na komputerze kwantowym. Stan rejestru kwantowego
będącego efektem wykonania tego kroku można zapisać jako:
1
A
∑ a`, k
a `= a `∈A
a
gdzie A jest zbiorem wszystkich liczb a takich że x mod n = k oraz
A jest liczbą
elementów o takim ustawieniu.
9. Należy obliczyć dyskretna transformacje Fouriera w rejestrze 1. Zastosowanie tej
transformacji dla stanu
a
zmienia go na
a =
1 q −1
c * e 2 Πia `c / q
∑
q c =0
10. Należy zmierzyć stan rejestru 1, nazywając go m gdzie liczba całkowita m jest z bardzo
dużym prawdopodobieństwem wielokrotnością ilorazu q / r gdzie r jest poszukiwanym
okresem. Krok wykonywany jest na komputerze kwantowym.
11. Wykorzystując komputer klasyczny należy obliczyć wartość r opierając się na znajomości
wartości m i q pamiętając, że m może być wielokrotności ilorazu q / r .
r/2
r/2
12. Mając r oblicza się GCD( x
+ 1, n) oraz GCD( x − 1, n) . Znalezienie czynników
liczby n kończy proces poszukiwań. Jeżeli jednak okaże się, że znalezione liczby nie są
czynnikami liczby n należy powrócić do kroku 4. Krok 11 wykonuje się na komputerze
klasycznym.
Algorytm Shora może dać niepożądane wyniki w wielu przypadkach. Może się zdarzyć na przykład, że
w kroku 9 otrzyma się, 0 co powoduje, że nie można wykonać kroku 10. Może się też zdarzyć, że jako
wynik działania algorytmu otrzyma się dwa czynniki: 1 i n. Wynik jest, co prawda poprawny, ale
całkowicie bezużyteczny. Zazwyczaj jednak poszukiwane wyniki otrzymuje się, po co najwyżej
kilkunastu powtórzeniach algorytmu.
Sytuacja 1 (S1) – okres będący wynikiem wykonywania działania modulo jest liczbą parzystą a
kolejne okresy rozpoczynają się od cyfry 1. Oznacza to, że w jednym okresie pomiędzy dwoma
wartościami 1 jest nieparzysta ilość liczb a to z kolei pozwala na wybranie wartości środkowej.
Przykładowo dla liczby 35 wykonanie działania modulo daje następujący ciąg liczb: 1, 12, 4, 13, 16,
17, 29, 33, 11, 27, 9, 3, 1, 12, 4, 13… Wytłuszczone jedynki można umownie nazwać „znakami stop”,
ponieważ od nich zaczynają się powtarzać te same wartości, czyli rozpoczyna się nowy okres a to
oznacza, że można zatrzymać wykonywanie działania modulo. Widać, że między „znakami stop” jest
11 liczb, więc okres wynosi 12 a liczba środkowa to liczba stojąca na szóstej pozycji. W tym
przypadku jest to 29. Wykonuje się następujące działania: y = 29 , y1 = 29 − 1 = 28 oraz
y 2 = 29 + 1 = 30 . Następnie oblicza się NWD ( 28, 35) = 7 oraz NWD (30, 35) = 5 . Wynika stąd, że
czynnikami liczby 35 są 7 i 5.
Sytuacja 2 (S2) – okres zaczyna się powtarzać, ale nowy okres nie rozpoczyna się od cyfry 1.
Przykładowo faktoryzacja liczby 39 daje następujący ciąg wartości: 1, 12, 27, 12, 27, 12, 27…. Należy
obliczyć NWD (12, 39) = 3 oraz NWD ( 27, 39) = 3 . Teraz wystarczy wykonać dzielenie 39 / 3 = 13 i
otrzymuje się drugi czynnik. Czynnikami liczby 39 są 3 i 13.
Sytuacja 3 (S3) – kolejne okresy zaczynają się od wartości 1, ale ilość pozycji między kolejnymi
jedynkami jest parzysta. W takim przypadku nie można wyznaczyć wartości środkowej i algorytm
Shora nie działa. Przykładowo dla liczby 133 wykonanie działania modulo daje następujący ciąg liczb:
1, 16, 123, 106, 100, 4, 64, 93, 25, 1, 16, 123…. Pomiędzy jedynkami jest osiem liczb i nie można w
związku z tym wskazać liczby środkowej.
Sytuacja 4 (S4) – kolejne okresy zaczynają się od wartości 1 oraz ilość pozycji między kolejnymi
jedynkami jest nieparzysta, ale wyznaczona wartość środkowa jest o jeden mniejsza od liczby
złożonej, której faktoryzację chce się wykonać. Przykładowo dla liczby 69 okres składa się z
następujących liczb: 1, 14, 58, 53, 52, 38, 49, 65, 13, 44, 64, 68, 55, 11, 16, 17, 31, 20, 4, 56, 25, 5,
1…. Wartość środkowa wynosi 68. Wykonując, więc działania y1 = 68 + 1 = 69 oraz
y 2 = 68 − 1 = 67 a następnie NWD (69, 69) = 69 oraz NWD (67, 69) = 1 otrzymuje się dwa
trywialne czynniki 1 i 69. Rozwiązanie jest prawidłowe, ale całkowicie bezużyteczne.
V. Literatura
Literatura podstawowa:
1. Hirvensalo M.: Algorytmy kwantowe, WSiP, 2004.
2. Giaro K., Kamiński M.: Wprowadzenie do algorytmów kwantowych, EXIT,2003.
3. Węgrzyn S., Klamka J.: Kwantowe systemy informatyki, Wydawnictwo Pracowni Komputerowej
Jacka Sklamierskiego.
Literatura uzupełniająca:
4. Grzywak A., Klamka J., Kapczyński A., Sobota M.: Współczesne problemy bezpieczeństwa
informacji, Wydawnictwo WSB, 2008
VI. Wymagania:
Przed przystąpieniem do realizacji tego ćwiczenia student powinien zapoznać się z podstawami
działania algorytmu Shora.
VII. Zadania do wykonania:
Zadanie polega na przeprowadzeniu symulacji algorytmu Shora z wykorzystaniem programu
Findprim. Celem ćwiczenia jest uzyskanie 4 możliwych sytuacji jakie mogą zaistnieć podczas
wykonywania faktoryzacji w wykorzystaniem algorytmu Shora.
VIII. Zadania szczegółowe
• Wybrać dwie dowolne liczby pierwsze.
• Dobrać parametr x.
• Uruchomić faktoryzację.
• Przeanalizować uzyskane wyniki.
IX. Procedura wykonania zadania laboratoryjnego:
1. Parametry początkowe
Symulacja rozpoczyna się od podania dwóch liczb pierwszych. Następnie zostaje wybrany parametr x
(podstawa działania x^a mod n).
Po dobraniu tych trzech wielkości należy uruchomić proces faktoryzacji
Rysunek 2. Okno symulatora algorytmy Shora
2. Uzyskane wyniki
Po uruchomieniu faktoryzacji nastąpi wyliczenie czynników pierwszych liczby
sfaktoryzowanej, informacja na temat okresowości otrzymanej funkcji oraz informacja na
temat zaistniałej sytuacji.
Dobierz liczby Pm1 i Pm2 w taki sposób by:
• Po 5 razy uzyskać sytuację S1, S2 oraz S3
• Dla każdej pary Pm1, Pm2 dobierz 5 różnych parametrów x.
• Dla wybranych 3 liczb n wykonaj (ręcznie) sprawdzenie wyników uzyskanych z
symulatora
Uzyskane wyniki przedstaw w poniższej tabeli.
X. Sprawozdanie z ćwiczeń:
Tabela wyników
Lp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Liczba
Pm1
Liczba
Pm2
Wartość n
Parametr
x
Okresowość
funkcji
Typ
zaistniałej
sytuacji
Download