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