breaking rsa encryption-shor’s algorithm

13
Breaking RSA encryption - Shor’s Algorithm PHYS/CSCI 3090 Prof. Alexandra Kolla [email protected] ECES 122 Prof. Graeme Smith [email protected] JILA S326 https://home.cs.colorado.edu/~alko5368/indexCSCI3090.html

Upload: others

Post on 26-Feb-2022

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Breaking RSA encryption-Shor’s Algorithm

Breaking RSA encryption-Shor’s Algorithm

PHYS/CSCI 3090

Prof. Alexandra Kolla

[email protected] 122

Prof. Graeme Smith

[email protected] S326

https://home.cs.colorado.edu/~alko5368/indexCSCI3090.html

Page 2: Breaking RSA encryption-Shor’s Algorithm

Come see us!

� Alexandra Kolla/ Graeme Smith: Friday 3:00-4:00 pm, JILA X317.

� Ariel Shlosberg: Tu/Th 2:00-4:00pm, DUANG2B90 (physics help room)

� Steven Kordonowy: Th 11am-12pm, ECAE 124.

� Matteo Wilczak: Wednesday, 1-2pm, DUANG2B90 (physics help room)

Page 3: Breaking RSA encryption-Shor’s Algorithm

Last Class

� Period finding start

Page 4: Breaking RSA encryption-Shor’s Algorithm

Today

� Discrete Fourier Transform� Quantum Fourier Tranform

Page 5: Breaking RSA encryption-Shor’s Algorithm

The problem� One is told that f is periodic under ordinary

addition, ! " = ! $ , if " = &' + $, for any integer k.

� i.e x and y differ by an integral multiple or period r.

� The problem is to find the period r.

Page 6: Breaking RSA encryption-Shor’s Algorithm

Vector or Function?

A) f = ∑!"# $% &'( $(&) & ) B) f = ($ & , 0, … , 0)

C) f = ($ & , $(&), … , $(&)). D) f = ∑!"# $% *!'( $(&) & )

How can I write the function $: , → . as a vector?

Page 7: Breaking RSA encryption-Shor’s Algorithm

DFT

� Let ω = #!"#/% a primitive N-th root of unity

� $ = $ 0 , $ 1 ,… , $ ) − 1 a function� The Discrete Fourier Transform of $ is

defined asF = , 0 , , 1 ,… , , ) − 1

� Where , - = ∑&/'&$(1)

Page 8: Breaking RSA encryption-Shor’s Algorithm

QFT

� Saywehavenqubits.(So2! possiblebasisvectors).

� 9 = ;!"#!$

� <"# = $ = %&$!∑'9(' ? $

Page 9: Breaking RSA encryption-Shor’s Algorithm

QFT

� ! = ! 0 , ! 1 ,… , ! ' − 1 , N = 2!� ! = ∑" !(-) - #� /$%(∑" !(-) - #) = ∑& 0(1) 1 #� 0 1 = '

(!"∑"2"&!(-)

� So /$%(∑" !(-) - #) ='(!"∑&∑"2"&!(-) 1 #

Page 10: Breaking RSA encryption-Shor’s Algorithm

Roots of unity

A) 0,1 B) −1, %!"

C) e!" , %#!" D) e!" , %#!" , %$!"

What are the primitive 2nd roots of unity?

Page 11: Breaking RSA encryption-Shor’s Algorithm

Hadamard

A)!⨂" " = #$!"∑% % " B)!⨂" " = #

$!"∑% &&'(⋅% % "

C) !⨂" " = #$!"∑%(−1) % " D)!⨂" " = #

$!"∑% &$&'(⋅% % "

What is the action of the n-fold Hadamard on the basis vector x?

Page 12: Breaking RSA encryption-Shor’s Algorithm

The Algorithm� 1) Prepare: ("⨂"⨂I) 0 " 0 "! =#$"/$∑%&'($" ) " 0 "

� 2) Single application of oracle (can be done efficiently for our f):

U)( #$"/$∑%&'($" ) " 0 "!)=

#$"/$∑%&'($" ) " +()) "!

� 3)Measure output register: If I get some value of f, say f(x0), then input register is #* ∑+ )% + -.

Page 13: Breaking RSA encryption-Shor’s Algorithm

The Algorithm� 4) Apply QFT to !" ∑# "$ + $%

� Exercise in class