Shor's Algorithm

Shor's Algorithm

Shor's Algorithm Elisa B¨aumer,Jan-Grimo Sobez, Stefan Tessarini May 15, 2015 Integer factorization .n = p · q (where p; q are prime numbers) is a cryptographic one-way function . Classical algorithm with best asymptotic behavior: General Number Field h 1 2 i Sieve with superpolynomial scaling: O exp c (ln n)3 (ln ln n)3 . Basis for commercially important cryptography Shor's algorithm . Factorization algorithm with polynomial complexity . Runs only partially on quantum computer with complexity O (log n)2(log log n)(log log log n) . Pre- and post-processing on a classical computer . Makes use of reduction of factorization problem to order-finding problem . Achieves polynomial time with efficiency of Quantum Fourier Transform Talk outline 1. Classical computer part Sketch of various subroutines Reduction to period-finding problem Full classical algorithm 2. Period-finding on quantum computer Quantum Fourier Transform Period-finding algorithm 3. Example: Factoring 21 4. Summary Sketch of various subroutines . greatest common divisor: e.g. Euclidean algorithm ( b if a mod b = 0 gcd(a; b) = gcd(b; a mod b) else with a > b, quadratic in number of digits of a; b. reminder: gcd(a; b) = 1 ! a; b coprime . Test of primality: e.g. Agrawal-Kayal-Saxena 2002, polynomial . Prime power test: determine if n = pα, e.g. Bernstein 1997 in O(log n) . continued fraction expansion: required to approximate a rational number by an integer fraction, e.g. Hardy and Wright 1979, polynomial Reduction to period-finding problem, Miller 1976 . Find factor of odd n provided some method to calculate the order r of xa mod n, a 2 N: 1. Choose a random x < n. 2. Find order r (somehow) in xr ≡ 1 mod n. r 3. Compute p; q = gcd(x 2 ± 1; n) if r even. r r r . Since (x 2 − 1)(x 2 + 1) = x − 1 ≡ 0 mod n. r . Fails if r odd or x 2 ≡ −1 mod n. Yields a factor with p = 1 − 2−k+1 where k is the number of distinct odd prime factors of n. Shor's algorithm 1. Determine if n is even, prime or a prime power. If so, exit. 2. Pick a random integer x < n and calculate gcd(x; n). If this is not 1, then we have obtained a factor of n. 3. Quantum algorithm Pick q as the smallest power of 2 with n2 ≤ q < 2n2. Find period r of xa mod n. c d Measurement gives us a variable c which has the property q ≈ r where d 2 N. 4. Determine d; r via continued fraction expansion algorithm. d; r only determined if gcd(d; r) = 1 (reduced fraction). r 5. If r is odd, go back to 2. If x 2 ≡ −1 mod n go back to 2. r Otherwise the factors p; q = gcd(x 2 ± 1; n). Quantum Fourier Transform (QFT) . Define the QFT with respect to an ONB fjxig = fj0i ; :::; jq − 1ig q−1 q−1 1 X 2πi 1 X QF T : jxi 7! p exp x · y jyi = p !x·y jyi q q q y=0 y=0 P . Apply QFT to a general state j i = x αx jxi: q−1 1 X QF T (j i) = p β jyi ; q y y=0 where the βy's are the discrete Fourier transform of the amplitudes αx. The QFT is unitary, i.e. QF T yQF T jxi = jxi Quantum Fourier Transform (QFT) . Implement QFT on n qubits . With the matrix 0 1 0 0 0 1 B 0 1 0 0 C R = B C @ 0 0 1 0 A 0 0 0 e2πi=N Period Finding Algorithm . Given a periodic function f: f0; :::; q − 1g ! f0; :::; q − 1g, where q = 2l, the periodicity conditions are f(a) = f(a + r) r 6= 0 f(a) 6= f(a + s) 8s < r: ⊗2l . Initialize the q.c. with the state jΦI i = j0i . Then apply Hadamard gates on the first l qubits and the identity to the others: ⊗l q−1 ⊗2l 1 ⊗l 1 X ⊗l jΦ i = H⊗l ⊗ 1⊗l j0i = p (j0i + j1i) ⊗ j0i = p jai j0i 0 q 2 a=0 . Apply the unitary that implements the function f (here it is f = xa mod n) q−1 1 X jΦ i = U jΦ i = p jai jf(a)i 1 f 0 q a=0 Period Finding Algorithm . Imagine one performs a measurement on f(a), then the post measurement state of the first l qubits is rr X jΦ i = jai : 1 z q a:f(a)=z . Remember that f is periodic and choose a0 = min fajf(a) = zg. Now one can rewrite q=r−1 rr X jΦ i = ja + t · ri 1 z q 0 t=0 when assuming that rjq (i.e. r divides q). Period Finding Algorithm . Perform the QFT q=r−1 q−1 E rr 1 −2πi ~ −1 X X Φ = QF T (jΦ1iz) = p exp (a0 + rt)c jci z q q q t=0 c=0 q−1 q=r−1 r r X 2πi X 2πi = exp − a c exp − trc jci : q2 q 0 q c=0 t=0 | {z } αc . Remark: if rc = kq for some k 2 N then q α = : c r . The probability for measuring a specific c0 = kq=r: 2 2 0 D 0 E r 2 r q 1 P [c ] = c Φ~ = jα 0 j = = q2 c q2 r2 r Period Finding Algorithm kq . Overall probability to measure a c of the form r is then X 0 2 1 c Φ~ = r = 1 r c=kq=r kq . The algorithm output is a natural number that is of the form r , with k 2 N. Example: Factoring n=21 1. Choose x 2. Determine q 3. Initialize first register (r1) 4. Initialize second register (r2) 5. QFT on first register 6. Measurement 7. Continued Fraction Expansion ! determine r 8. Check r ! determine factors 1. Choose a random integer x, 1 < x < n . if it is not coprime with n, e.g. x = 6: ! gcd(x; n) = gcd(6; 21) = 3 ! 21=3 = 7 ! done! . if it is coprime with n, e.g. x = 11: ! gcd(11; 21) = 1 ! continue! 2. Determine q ! .n 2 = 244 ≤ q = 2l < 2n2 = 882 ! q = 512 = 29 . Initial state consisting of two registers of length l: l jΦ i = j0i j0i = j0i⊗2 i r1 r2 3. Initialize r1 . initialize first register with superposition of all states a( mod q): 511 1 X jΦ0i = p jai j0i 512 a=0 . this corresponds to p1 (j0i + j1i) on all bits 2 4. Initialize r2 . initialize second register with superposition of all states xa( mod n): 511 1 X a jΦ1i = p jai j11 ( mod 21)i 512 a=0 1 = p (j0i j1i + j1i j11i + j2i j16i + j3i j8i + :::) 512 a 0 1 2 3 4 5 6 7 8 9 10 ... 11a(mod21) 1 11 16 8 4 2 1 11 16 8 4 ... .r = 6, but not yet observable 5. Quantum Fourier Transform . apply the QFT on the first register: 511 511 1 X X jΦ~i = e2πiac=512 jci j11a(mod21)i 512 a=0 c=0 6. Measurement! . probability for state jc; xk( mod n)i, e.g. k = 2 ! jc; 16i to occur: 511 2 2 1 X 2πiac=512 1 X 2πi(6b+2)c=512 p(c) = e = e 512 512 a:11a mod 21=16 b 512 . peaks for c = 6 · d, d 2 Z: 7. Determine the period r ! c d 427 d 1 . Assume we get 427: q − r = 512 − r ≤ 1024 . Continued fraction expansion: c 1 = a0 + 1 ; d0 = a0; d1 = 1 + a0a1; dn = andn−1 + dn−2 q a1 + 1 a2+::: r0 = 1; r1 = a1; rn = anrn−1 + rn−2 427 1 = 0 + 1 ; d0 = 0; d1 = 1; d2 = 5; d3 = 427 512 1 + 1 5+ 1 42+2 r0 = 1; r1 = 1; r2 = 6; r3 = 512 . as d0 = 0 and d1 = 1 obviously don't work, try d2 = 5 ! r = 6 r0 r1 r2 6 ! it works! =) c 171 d 1 . for q = 512 we would get r = 3, so using r = 3 this would not work. ! it only works if d and r are coprime! ! if it doesn't work, try again! 8. Check r . check if r is even X r=2 . check if x mod n =6 −1 X . as both holds, we can determine the factors: xr=2 mod n − 1 = 113 mod 21 − 1 = 7 xr=2 mod n + 1 = 113 mod 21 + 1 = 9 ! the two factors are gcd(7; 21) = 7 and gcd(9; 21) = 3 Conclusion . Shor's algorithm is very important for cryptography, as it can factor large numbers much faster than classical algorithms (polynomial instead of exponential) . powerful motivator for quantum computers . no practical use yet, as it is not possible yet to design quantum computers that are large enough to factor big numbers References . Shor, Peter W. "Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer." SIAM journal on computing 26.5 (1997): 1484-1509. Agrawal, Manindra, Neeraj Kayal, and Nitin Saxena. "PRIMES is in P." Annals of mathematics (2004): 781-793. Bernstein, Daniel. "Detecting perfect powers in essentially linear time." Mathe- matics of Computation of the American Mathematical Society 67.223 (1998): 1253-1283. Hardy, Godfrey Harold, et al. An introduction to the theory of numbers. Vol. 4. Oxford: Clarendon press, 1979.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    26 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us