Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku

Podobne dokumenty
Algorytm faktoryzacji Petera Shora dla komputera kwantowego

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

Historia. Zasada Działania

Wprowadzenie do teorii komputerów kwantowych

IX. MECHANIKA (FIZYKA) KWANTOWA

Symulacja obliczeń kwantowych

Wstęp do algorytmiki kwantowej

Podstawy Fizyki IV Optyka z elementami fizyki współczesnej. wykład 24, Radosław Chrapkiewicz, Filip Ozimek

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych

Wstęp do komputerów kwantowych

Przekształcenia całkowe. Wykład 1

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

1. Matematyka Fizyki Kwantowej: Cześć Druga

Matura próbna matematyka poziom rozszerzony

Luty 2001 Algorytmy (7) 2000/2001

Seminarium: Efekty kwantowe w informatyce

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Postulaty mechaniki kwantowej

Transformaty. Kodowanie transformujace

Ważne rozkłady i twierdzenia

Informatyka Kwantowa Sekcja Informatyki Kwantowej prezentacja

Metody rozwiązania równania Schrödingera

Informatyka kwantowa. Karol Bartkiewicz

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Wstęp do Rachunku Prawdopodobieństwa, IIr. WMS

Wykład 14. Elementy algebry macierzy

W5. Komputer kwantowy

Prawdopodobieństwo i statystyka

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 6a

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

3. Macierze i Układy Równań Liniowych

Rozdział 2. Liczby zespolone

0 + 0 = 0, = 1, = 1, = 0.

POSTULATY MECHANIKI KWANTOWEJ cd i formalizm matematyczny

Układy stochastyczne

Matematyka dyskretna

Wstęp do Modelu Standardowego

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Spacery losowe generowanie realizacji procesu losowego

Protokół teleportacji kwantowej

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Mechanika kwantowa Schrödingera

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Obliczenia inspirowane Naturą

1 Macierze i wyznaczniki

Algorytmy w teorii liczb

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Wektor, prosta, płaszczyzna; liniowa niezależność, rząd macierzy

1 Grupa SU(3) i klasyfikacja cząstek

Wymagania edukacyjne klasa trzecia.

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

5 Wyznaczniki. 5.1 Definicja i podstawowe własności. MIMUW 5. Wyznaczniki 25

Algebra abstrakcyjna

ROZKŁAD MATERIAŁU NAUCZANIA MATEMATYKI DLA KLASY III A WYMAGANIA PODSTAWY PROGRAMOWEJ w Publicznym Gimnazjum Integracyjnym nr 47 w Łodzi

Wymagania edukacyjne na poszczególne stopnie szkolne klasa III

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

ALGEBRA z GEOMETRIA, ANALITYCZNA,

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Matematyka dyskretna

Kwantowa kooperacja. Robert Nowotniak. Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Politechnika Łódzka

O informatyce kwantowej

1 Funkcje elementarne

MADE IN CHINA czyli SYSTEM RESZTOWY

VIII. TELEPORTACJA KWANTOWA Janusz Adamowski

V. KWANTOWE BRAMKI LOGICZNE Janusz Adamowski

Kształcenie w zakresie podstawowym. Klasa 1

1 Wykład 3 Generatory liczb losowych o dowolnych rozkładach.

KLUCZ PUNKTOWANIA ODPOWIEDZI

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

Matematyka z kluczem. Szkoła podstawowa nr 18 w Sosnowcu. Przedmiotowe zasady oceniania klasa 7

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA

PORÓWNANIE TREŚCI ZAWARTYCH W OBOWIĄZUJĄCYCH STANDARDACH EGZAMINACYJNYCH Z TREŚCIAMI NOWEJ PODSTAWY PROGRAMOWEJ

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Informatyka kwantowa

Komputerowa analiza zagadnień różniczkowych 3. Numeryczne zagadnienie własne

- nowe wyzwanie. Feliks Kurp

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

I semestr WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI. Wymagania na ocenę dopuszczającą. Dział programu: Liczby naturalne

1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

1. Wykład NWD, NWW i algorytm Euklidesa.

WYMAGANIA NA POSZCZEGÓLNE OCENY MATEMATYKA KL.VII

Pakiet edukacyjny do nauki przedmiotów ścisłych i kształtowania postaw przedsiębiorczych

Liczby. Wymagania programowe kl. VII. Dział

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Rozkłady wielu zmiennych

Opis systemów dynamicznych w przestrzeni stanu. Wojciech Kurek , Gdańsk

Wymagania edukacyjne z matematyki w klasie VII szkoły podstawowej

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VII

Wersja testu D 14 września 2011 r. 1. Czy prawda jest, że a) x Z y Z y 2 = 2 ; b) x Z y Z x 2 = 1 ; c) x Z y Z x 2 = 2 ; d) x Z y Z y 2 = 1?

Wymagania edukacyjne z matematyki klasa II technikum

Transkrypt:

Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku

Wstęp czyli (próba) odpowiedzi na pewne pytania (Silna) Teza Church a

Wstęp czyli (próba) odpowiedzi na pewne pytania (Silna) Teza Church a Co to znaczy zasoby i fizyczna maszyna liczaca?

Wstęp czyli (próba) odpowiedzi na pewne pytania (Silna) Teza Church a Co to znaczy zasoby i fizyczna maszyna liczaca? Dlaczego obliczenia kwantowe?

Wstęp czyli (próba) odpowiedzi na pewne pytania (Silna) Teza Church a Co to znaczy zasoby i fizyczna maszyna liczaca? Dlaczego obliczenia kwantowe? Dlaczego akurat faktoryzacja liczb i problem dyskretnego logarytmu?

Stan układu - Fizyka klasyczna Stan każdej czastki opisuje się jednoznacznie poprzez podanie jej wektora stanu tzn. zbioru liczb opisujacych jej fizyczne właściwości: położenie, pęd, ładunek elektryczny itp.

Stan układu - Fizyka klasyczna Stan każdej czastki opisuje się jednoznacznie poprzez podanie jej wektora stanu tzn. zbioru liczb opisujacych jej fizyczne właściwości: położenie, pęd, ładunek elektryczny itp. Stan układu to po prostu podanie wektora stanu zawierajacego opis wszystkich czastek

Stan układu - Fizyka klasyczna Stan każdej czastki opisuje się jednoznacznie poprzez podanie jej wektora stanu tzn. zbioru liczb opisujacych jej fizyczne właściwości: położenie, pęd, ładunek elektryczny itp. Stan układu to po prostu podanie wektora stanu zawierajacego opis wszystkich czastek Maj ac podany wektor stanu układu oraz jego równanie ruchu (hamiltonian) możemy powiedzieć wszystko o jego przyszłości i przeszłości.

Stan układu - Fizyka klasyczna Stan każdej czastki opisuje się jednoznacznie poprzez podanie jej wektora stanu tzn. zbioru liczb opisujacych jej fizyczne właściwości: położenie, pęd, ładunek elektryczny itp. Stan układu to po prostu podanie wektora stanu zawierajacego opis wszystkich czastek Majac podany wektor stanu układu oraz jego równanie ruchu (hamiltonian) możemy powiedzieć wszystko o jego przyszłości i przeszłości. Bardzo dobrze sprawdza się w przypadku dużych zjawisk fizycznych.

Stan układu - Fizyka kwantowa Stanu czastki nie znamy z całkowita pewnościa - znamy natomiast rozkład prawdopodobieństwa stanów, opisujemy go za pomoca wektora stanu. Jest to wektor z pewnej zespolonej przestrzeni liniowej (Hilberta) postaci: p 1 s 1 + p 2 s 2 + + p n s n, o jednostkowej długości. s i sa to możliwe stany układu, a pi 2 prawdopodobieństwa ich zaobserwowania, a więc: n p i 2 = 1 i=0

Stan układu - Fizyka kwantowa Stanu czastki nie znamy z całkowita pewnościa - znamy natomiast rozkład prawdopodobieństwa stanów, opisujemy go za pomoca wektora stanu. Jest to wektor z pewnej zespolonej przestrzeni liniowej (Hilberta) postaci: p 1 s 1 + p 2 s 2 + + p n s n, o jednostkowej długości. s i sa to możliwe stany układu, a pi 2 prawdopodobieństwa ich zaobserwowania, a więc: n p i 2 = 1 i=0 Stan układu składaj acego się z n kubitów definiujemy poprzez podanie wektora stanu w 2 n 1 wymiarowej przestrzeni.

Stan układu - Fizyka kwantowa Stanu czastki nie znamy z całkowita pewnościa - znamy natomiast rozkład prawdopodobieństwa stanów, opisujemy go za pomoca wektora stanu. Jest to wektor z pewnej zespolonej przestrzeni liniowej (Hilberta) postaci: p 1 s 1 + p 2 s 2 + + p n s n, o jednostkowej długości. s i sa to możliwe stany układu, a pi 2 prawdopodobieństwa ich zaobserwowania, a więc: n p i 2 = 1 i=0 Stan układu składajacego się z n kubitów definiujemy poprzez podanie wektora stanu w 2 n 1 wymiarowej przestrzeni. Wszystkie transformacje układu kwantowego musza być odwracalne.

Stan układu - Fizyka kwantowa Stanu czastki nie znamy z całkowita pewnościa - znamy natomiast rozkład prawdopodobieństwa stanów, opisujemy go za pomoca wektora stanu. Jest to wektor z pewnej zespolonej przestrzeni liniowej (Hilberta) postaci: p 1 s 1 + p 2 s 2 + + p n s n, o jednostkowej długości. s i sa to możliwe stany układu, a pi 2 prawdopodobieństwa ich zaobserwowania, a więc: n p i 2 = 1 i=0 Stan układu składajacego się z n kubitów definiujemy poprzez podanie wektora stanu w 2 n 1 wymiarowej przestrzeni. Wszystkie transformacje układu kwantowego musza być odwracalne. Obserwacja układu powoduje jego uklasycznienie.

Transformacje układu Aby móc przeprowadzać obliczenia kwantowe, musimy mieć możliwość wpływania na stan układu.

Transformacje układu Aby móc przeprowadzać obliczenia kwantowe, musimy mieć możliwość wpływania na stan układu. Prawa fizyki kwantowej pozwalaj a tylko na przekształcenia odwracalne. Wygodnym sposobem ich opisu jest macierz unitarna (jej sprzężenie jest równe jej transpozycji), która określa dla każdego stanu układu, prawdopodobieństwo znalezienia się w superpozycji innych stanów.

Transformacje układu Aby móc przeprowadzać obliczenia kwantowe, musimy mieć możliwość wpływania na stan układu. Prawa fizyki kwantowej pozwalaja tylko na przekształcenia odwracalne. Wygodnym sposobem ich opisu jest macierz unitarna (jej sprzężenie jest równe jej transpozycji), która określa dla każdego stanu układu, prawdopodobieństwo znalezienia się w superpozycji innych stanów. Przykład. Rozważmy transformacje: 00 00 01 01 10 1 ( 10 + 11 ) 2 11 1 ( 10 11 ) 2 Macierza tego przekształcenia jest: 1 0 0 0 0 1 0 0 1 0 0 2 2 1 0 0 1 2 1 2

Transformacje układu cd. Przykład. Transformacja: 00 00 01 01 10 1 ( 10 + 11 ) 11 1 ( 10 11 ) 2 2 Jeśli teraz nasz układ jest w stanie: 1 2 ( 10 11 ) i zadziałamy na niego powyższa transformacja

Transformacje układu cd. Przykład. Transformacja: 00 00 01 01 10 1 ( 10 + 11 ) 11 1 ( 10 11 ) 2 2 Jeśli teraz nasz układ jest w stanie: 1 2 ( 10 11 ) i zadziałamy na niego powyższa transformacja To otrzymamy układ w stanie: 1 2 ( 10 + 11 ) 1 ( 10 11 ) = 11 2

Transformacje układu cd. Przykład. Transformacja: 00 00 01 01 10 1 ( 10 + 11 ) 11 1 ( 10 11 ) 2 2 Jeśli teraz nasz układ jest w stanie: 1 2 ( 10 11 ) i zadziałamy na niego powyższa transformacja To otrzymamy układ w stanie: 1 2 ( 10 + 11 ) 1 ( 10 11 ) = 11 2 Zauważmy, że zaszła tutaj interferencja prawdopodobieństw - jest to bardzo ważna cecha tych transformacji - to jest najbardziej istotne źródło mocy obliczeń kwantowych.

Zauważmy, że zaszła tutaj interferencja prawdopodobieństw - jest to bardzo ważna cecha tych transformacji - to jest najbardziej istotne źródło mocy obliczeń kwantowych. Transformacje można oczywiście składać - reprezentujemy je jako iloczyn tensorowy macierzy. Transformacje układu cd. Przykład. Transformacja: 00 00 01 01 10 1 ( 10 + 11 ) 11 1 ( 10 11 ) 2 2 Jeśli teraz nasz układ jest w stanie: 1 2 ( 10 11 ) i zadziałamy na niego powyższa transformacja To otrzymamy układ w stanie: 1 2 ( 10 + 11 ) 1 ( 10 11 ) = 11 2

Obwody kwantowe Jest to naturalne przeniesienie idei obwodów logicznych na grunt obliczeń kwantowych.

Obwody kwantowe Jest to naturalne przeniesienie idei obwodów logicznych na grunt obliczeń kwantowych. Można na nich policzyć wszystko to co na obwodach logicznych - np. dzięki odwracalnemu odpowiednikowi bramki NAND (bramka Toffoli ego), która działa na trzech bitach i zamienia ostatni bit jeśli pierwsze dwa sa 1.

Obwody kwantowe Jest to naturalne przeniesienie idei obwodów logicznych na grunt obliczeń kwantowych. Można na nich policzyć wszystko to co na obwodach logicznych - np. dzięki odwracalnemu odpowiednikowi bramki NAND (bramka Toffoli ego), która działa na trzech bitach i zamienia ostatni bit jeśli pierwsze dwa sa 1. Nadal jednak pozostaja pewne niedogodności zwiazane z koniecznościa wypisywania wszystkich informacji potrzebnych do odwrócenia obliczeń.

Obwody kwantowe Jest to naturalne przeniesienie idei obwodów logicznych na grunt obliczeń kwantowych. Można na nich policzyć wszystko to co na obwodach logicznych - np. dzięki odwracalnemu odpowiednikowi bramki NAND (bramka Toffoli ego), która działa na trzech bitach i zamienia ostatni bit jeśli pierwsze dwa sa 1. Nadal jednak pozostaja pewne niedogodności zwiazane z koniecznościa wypisywania wszystkich informacji potrzebnych do odwrócenia obliczeń. Jedna z metod radzenia sobie z nimi jest metoda Bennett a: INPUT - - - INPUT OUTPUT RECORD(F) - INPUT OUTPUT RECORD(F) OUTPUT INPUT - - OUTPUT INPUT INPUT RECORD(F 1 ) OUTPUT - INPUT RECORD(F 1 ) OUTPUT - - - OUTPUT

Obwody kwantowe Jest to naturalne przeniesienie idei obwodów logicznych na grunt obliczeń kwantowych. Można na nich policzyć wszystko to co na obwodach logicznych - np. dzięki odwracalnemu odpowiednikowi bramki NAND (bramka Toffoli ego), która działa na trzech bitach i zamienia ostatni bit jeśli pierwsze dwa sa 1. Nadal jednak pozostaja pewne niedogodności zwiazane z koniecznościa wypisywania wszystkich informacji potrzebnych do odwrócenia obliczeń. Jedna z metod radzenia sobie z nimi jest metoda Bennett a: INPUT - - - INPUT OUTPUT RECORD(F) - INPUT OUTPUT RECORD(F) OUTPUT INPUT - - OUTPUT INPUT INPUT RECORD(F 1 ) OUTPUT - INPUT RECORD(F 1 ) OUTPUT - - - OUTPUT

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n).

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n). Idea algorytmu - znana wszystkim.

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n). Idea algorytmu - znana wszystkim. Jednak pojawiaja się problemy zwiazane z odwracalnościa.

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n). Idea algorytmu - znana wszystkim. Jednak pojawiaja się problemy zwiazane z odwracalnościa. Chcemy umieć przechodzić od b, 0 do 0, bc (mod n) gdzie gcd(c, n) = 1.

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n). Idea algorytmu - znana wszystkim. Jednak pojawiaja się problemy zwiazane z odwracalnościa. Chcemy umieć przechodzić od b, 0 do 0, bc (mod n) gdzie gcd(c, n) = 1. Możemy przejść odwracalnie b, 0 b, bc (mod n)).

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n). Idea algorytmu - znana wszystkim. Jednak pojawiaja się problemy zwiazane z odwracalnościa. Chcemy umieć przechodzić od b, 0 do 0, bc (mod n) gdzie gcd(c, n) = 1. Możemy przejść odwracalnie b, 0 b, bc (mod n)). A także 0, bc (mod n) bcc 1 (mod n), bc (mod n)) = b (mod n), bc (mod n))

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n). Idea algorytmu - znana wszystkim. Jednak pojawiaja się problemy zwiazane z odwracalnościa. Chcemy umieć przechodzić od b, 0 do 0, bc (mod n) gdzie gcd(c, n) = 1. Możemy przejść odwracalnie b, 0 b, bc (mod n)). A także 0, bc (mod n) bcc 1 (mod n), bc (mod n)) = b (mod n), bc (mod n)) A więc możemy najpierw wykonać pierwsze przejście, a potem odwrócone drugie i otrzymamy to o co nam chodzi.

Podnoszenie do potęgi Dane n,x,r - oblicz x r (mod n). Idea algorytmu - znana wszystkim. Jednak pojawiaja się problemy zwiazane z odwracalnościa. Chcemy umieć przechodzić od b, 0 do 0, bc (mod n) gdzie gcd(c, n) = 1. Możemy przejść odwracalnie b, 0 b, bc (mod n)). A także 0, bc (mod n) bcc 1 (mod n), bc (mod n)) = b (mod n), bc (mod n)) A więc możemy najpierw wykonać pierwsze przejście, a potem odwrócone drugie i otrzymamy to o co nam chodzi. Jest jeszcze kwestia błedów w obliczeniach.

Kwantowa transformata Fouriera Chcemy móc transformować w czasie wielomianowym: a 1 q 1 2 q 1 c=0 c(2πiac/q) (0 a q) przyjmijmy, że q = 2 l i liczbę a reprezentujemy jako stan a l 1 a 0. Rozbijemy cała transformację (której macierz ma wykładniczy rozmiar) na lokalne transformacje: R j operujaca na j- tym bicie: 1 2 1 2 1 2 1 2

Kwantowa transformata Fouriera cd. oraz S j,k, operujacy na bitach j < k: 1 0 0 0 0 1 0 0 gdzie 0 0 1 0 k j = 0 0 0 exp(i k j) Π 2 k j.

Kwantowa transformata Fouriera cd. oraz S j,k, operujacy na bitach j < k: 1 0 0 0 0 1 0 0 gdzie 0 0 1 0 k j = 0 0 0 exp(i k j) Π 2 k j. Aplikujemy je w porz adku: R l 1 S l 2,l 1 R l 2 S l 3,l 1 S l 3,l 2 R l 3 R 1 S 0,l 1 S 0,l 2 S 0,2 S 0,1 R 0 ;

Obliczanie rzędu elementu, a faktoryzacja Dane n, x, oblicz najmniejsze takie r, że x r = 1 (mod n).

Obliczanie rzędu elementu, a faktoryzacja Dane n, x, oblicz najmniejsze takie r, że x r = 1 (mod n). Jeśli potrafimy znajdować szybko rzad elementu to (o ile n nie jest potęga liczby pierwszej) z dużym prawdopodobieństwem, r będzie parzysty i: (x r/2 1)(x r/2 + 1) = x r 1 = 0 (mod n) będzie rozkładało nietrywialnie n.

Algorytm Dane n, x, znajdujemy takie q = 2 l, że n 2 q 2n 2. n,x oraz q zaszywamy w nasz obwód.

Algorytm Dane n, x, znajdujemy takie q = 2 l, że n 2 q 2n 2. n,x oraz q zaszywamy w nasz obwód. Będziemy mieli jeden rejestr (mod q) i drugi (mod n) oraz jeden rejestr roboczy.

Algorytm Dane n, x, znajdujemy takie q = 2 l, że n 2 q 2n 2. n,x oraz q zaszywamy w nasz obwód. Będziemy mieli jeden rejestr (mod q) i drugi (mod n) oraz jeden rejestr roboczy. Zaczynamy od jednostajnego rozkładu prawdopodobieństwa: 1 q 1 2 q 1 a=0 a, 0 osiagamy to poprzez aplikowanie do każdego bitu transformacji a i 1 ( 0 + 1 ). 2

Algorytm Dane n, x, znajdujemy takie q = 2 l, że n 2 q 2n 2. n,x oraz q zaszywamy w nasz obwód. Będziemy mieli jeden rejestr (mod q) i drugi (mod n) oraz jeden rejestr roboczy. Zaczynamy od jednostajnego rozkładu prawdopodobieństwa: 1 q 1 2 q 1 a=0 a, 0 osiagamy to poprzez aplikowanie do każdego bitu transformacji a i 1 ( 0 + 1 ). 2 podnosimy do potęgi 1 q 1 2 q 1 a=0 a, x a (mod n)

Algorytm cd. stosujemy transformatę Fouriera 1 q q 1 q 1 a=0 c=0 exp(2πiac/q) c, x a (mod n)

Algorytm cd. stosujemy transformatę Fouriera 1 q q 1 q 1 a=0 c=0 exp(2πiac/q) c, x a (mod n) i patrzymy na liczbę zapisana w pierwszym rejestrze - z dużym prawdopodobieństwem będzie ona taka, że:. c q d r 1 2q

Algorytm cd. stosujemy transformatę Fouriera 1 q q 1 q 1 a=0 c=0 exp(2πiac/q) c, x a (mod n) i patrzymy na liczbę zapisana w pierwszym rejestrze - z dużym prawdopodobieństwem będzie ona taka, że:. c q d r 1 2q szukamy teraz rozwinięcia c q do pierwszego takiego reduktu, którego mianownik jest mniejszy od n. Z dużym prawdopodobieństwem to jest r.

Algorytm Dane p, x, g, znajdź takie r, że g r = x(mod p).

Algorytm Dane p, x, g, znajdź takie r, że g r = x(mod p). Znajdujemy takie q = 2 l, że p q 2p. Będziemy mieli dwa rejestry (mod p 1) i jeden (mod p).

Algorytm Dane p, x, g, znajdź takie r, że g r = x(mod p). Znajdujemy takie q = 2 l, że p q 2p. Będziemy mieli dwa rejestry (mod p 1) i jeden (mod p). Zaczynamy od jednostajnego rozkładu prawdopodobieństwa po wszystkich a i b, a następnie obliczamy g a x b (mod p) w trzecim rejestrze: 1 p 1 p 2 p 2 a=0 b=0 a, b, g a x b (mod p)

Algorytm Dane p, x, g, znajdź takie r, że g r = x(mod p). Znajdujemy takie q = 2 l, że p q 2p. Będziemy mieli dwa rejestry (mod p 1) i jeden (mod p). Zaczynamy od jednostajnego rozkładu prawdopodobieństwa po wszystkich a i b, a następnie obliczamy g a x b (mod p) w trzecim rejestrze: 1 p 1 p 2 p 2 a=0 b=0 a, b, g a x b (mod p) stosujemy transformatę Fouriera na pierwszy i drugi rejestr (osobno) otrzymujac dla a, b stan: 1 q q 1 q 1 c=0 d=0 exp(2πi/q(ac + bd)) c, d

Algorytm cd. czyli całość jest w stanie: 1 p 1 p 2 q 1 a,b=0 c,d=0 exp(2πi/q(ac + bd)) c, d, g a x b (mod p)

Algorytm cd. czyli całość jest w stanie: 1 p 1 p 2 q 1 a,b=0 c,d=0 exp(2πi/q(ac + bd)) c, d, g a x b (mod p) i patrzymy na liczby c, d, y w rejestrach i zaokraglamy d q 1 do najbliższej wielokrotności p 1 i dzielimy (mod p 1) przez c = c(p 1) c(p 1) q q otrzymujac z dużym prawdopodobieństwem r.

Czemu nie mamy (jeszcze) komputerów kwantowych rozstrojenie układu kwantowego precyzja przekształceń zbudowanie układu n-poziomowego (na razie) wymaga wykładniczej ilości kubitów problemy NP-zupełne