IQ 2006 - Ph. Jorrand - Shor 1
Algorithme quantique de Shor
Factorisation des entiers
en temps polynomial
Philippe Jorrand
CNRS
Laboratoire Leibniz, Grenoble, France
IQ 2006 - Ph. Jorrand - Shor 2
Factorization of RSA-155
On August 22, 1999, a team of scientists from 6 different countries,
led by CWI (Amsterdam), completed the factorization of the 155 digit
(512 bit) RSA Challenge Number:
RSA-155=109417386415705274218097073220403576120
03732945449205990913842131476349984288934784717
99725789126733249762575289978183379707653724402
7146743531593354333897
The computation took 35.7 CPU-years on!:
160 175-400 MHz SGI and Sun workstations
8250 MHz SGI Origin 2000 processors
120 450 MHz Pentium II PCs
4500 MHz Digital/Compaq boxes
The CPU-effort is estimated to be equivalent to 8000 MIPS years.
The Total calendar time for factoring RSA-155 was 7.4 months,
whereas RSA-140 took about 9 weeks «only».
The found factors are:
p=102639592829741105772054196573991675900716567
808038066803341933521790711307779, and
q=106603488380168454820927220360012878679207958
575989291522270608237193062808643
La factorisation des entiers
Le nombre d’opérations nécessaires
au meilleur algorithme classique
actuellement connu pour factoriser
un entier est exponentiel en la taille
(nombre de chiffres) du nombre à
factoriser : de l’ordre de e1551/3 pour
RSA-155.
Le nombre d’opérations nécessaires à
l’algorithme quantique de Peter Shor
(1994) pour factoriser un entier est
polynomial en la taille du nombre à
factoriser : de l’ordre de1553 pour
RSA-155.
IQ 2006 - Ph. Jorrand - Shor 3
Un peu de théorie des nombres
Théorème : S’il existe un algorithme polynomial pour trouver
une solution non triviale (c.à.d. xT!1 mod P) à
l’équation x2=1 mod P, alors il existe un algorithme
polynomial pour factoriser P.
Le meilleur algorithme classique
connu pour factoriser P est de
complexité O(e p 1/3 (log p) 2/3), c.à.d.
exponentiel en p = log P,
la taille du problème.
P œ N
P très grand
Exemple : P=15
Equation : x2=1 mod 15
Une solution: x=4, est T !1 mod P
Si x est une solution : (x+1)(x-1)= 0 mod 15
=> x+1=5 et x-1=3 sont des facteurs de 15
IQ 2006 - Ph. Jorrand - Shor 4
Un peu de théorie des groupes
Définition : a, P œ N. On appelle ordre de a modulo P le plus
petit entier r>0 tel que ar=1 mod P
Théorème : fa est périodique, de période r, l’ordre de a modulo P
Une fonction : fa : ZN ! ZP fa(k) = ak mod P 1<a<P
ZN (ZP) : entiers modulo N (P) (groupes multiplicatifs)
N, P œ N
k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
fa(k) 1 7 4 13 1 7 4 13 1 7 4 13 1 7 ...
=> période de fa (k) = ordre de 7 modulo 15 = r = 4
Exemple : P=15, a=7 fa(k) = 7k mod 15
IQ 2006 - Ph. Jorrand - Shor 5
Algorithme de Shor pour factoriser P œ N
Choisir a au hasard, 1<a<P
1
2Si PGCD(a,P) = 1, continuer. Sinon, le problème est résolu !
3Trouver la période r de fa(k) = ak mod P. On a alors : ar=1 mod P.
4Si r est pair, alors (a r/2+1)(a r/2-1) = 0 mod P.
Si r est aussi tel que a r/2 T ±1 mod P, alors :
PGCD(a r/2+1 , P) et
PGCD(a r/2-1 , P) sont des facteurs de P : stop !
Sinon, retourner au pas 1.
IQ 2006 - Ph. Jorrand - Shor 6
P=15, pour voir fonctionner cet algorithme
On choisit a au hasard, 1<a<P : a=7
1
2PGCD(a,P) = PGCD(7,15) = 1 : on continue.
4r=4 est pair et a r/2= 72 = 49 = 4 mod 15 T !1 mod P
PGCD(a r/2+1 , P) = PGCD(50,15) = 5
PGCD(a r/2-1 , P) = PGCD(48,15) = 3
Stop !
3fa (k) = 7k mod 15 :
k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
fa(k) 1 7 4 13 1 7 4 13 1 7 4 13 1 7 ...
«!On voit!» que r = 4
IQ 2006 - Ph. Jorrand - Shor 7
Rappel : superposer 2n valeurs dans n qubits
Etat initial : un registre de n qubits dans l’état |00...
sultat : 2n valeurs, uniformément superposées dans le même
registre de n qubits, obtenues avec seulement n operations.
H
H
H
(1/!2(|0Ú+|1Ú)
(1/!2(|0Ú+|1Ú)
(1/!2(|0Ú+|1Ú)
...
|0Ú
|0Ú
|0Ú
= Ê
x œ {0,1}n
|xÚ
1/!N (où N = 2n)
Ê
x œ {0,1}n
|xÚ
1/!N
|00…0ÚHN HN=H"n
IQ 2006 - Ph. Jorrand - Shor 8
Rappel : calculer une fonction f
f : {0,1}n ! {0,1}n Uf
|aÚ|aÚ
|bÚ|b " f(a)Ú
|aÚ et |bÚ : 2 registres de n qubits chacun
Une seule application de Uf produit toutes les valeurs de f.
Après l’application de Uf , les deux registres sont intriqués.
|0Ú
|0Ú
Uf
HN
Ê
x œ {0,1}n
|xÚ |f(x)Ú
1/!N(où N = 2n)
IQ 2006 - Ph. Jorrand - Shor 9
Tirer parti de l’intrication
Si la mesure du 2ème registre retourne la valeur y0,
alors le 1er registre contient tous les xi œ f-1(y0) .
valeur y0 , état |y0Ú
Mesurer
Uf
|0Ú
|0Ú HN
f : {0,1}n ! {0,1}n
Ê
x œ {0,1}n
|xÚ |f(x)Ú
1/!N(où N = 2n)
Superposition de
tous les xi’ tels que
f(xi)= y0
IQ 2006 - Ph. Jorrand - Shor 10
Si f est une fonction périodique, de période r
Uf
|0Ú
|0Ú HN
valeur y0 , état |y0Ú
Mesurer
x0rrr...
Soit y0 la valeur de f(x) pour un certain x,
soit x0 le plus petit des x pour lesquels f(x) = y0 ,
alors : f-1(y0) = {x0, x0+r, x0+2r, ..., x0+kr, ...}
IQ 2006 - Ph. Jorrand - Shor 11
Trouver la période r d’une fonction f : ZN!ZP
Pour trouver r :par calcul classique, N=2n calculs de f.
par calcul quantique, combien de calculs de f ?
Premier calcul de f -> 1er registre après mesure du 2ème registre :
x0r r r r
...
rrrrx1
...
Deuxième calcul de f -> 1er registre après mesure du 2ème registre :
IQ 2006 - Ph. Jorrand - Shor 12
Solution : Transformée de Fourier Discrète
x0rrr...
x1rrr...
x2rrr...
N
...
N/r N/r N/r N/r
N/r
N
DFT
IQ 2006 - Ph. Jorrand - Shor 13
ax |xÚ
Ê
x = 0
N-1
DFTNÊ
y = 0
N-1 ( wxy ax ) |yÚ
Ê
x = 0
N-1
1/!N
N = 2n
w = e2pi/N
Nème racine de l’unité
DFTN =
1
1
1
...
1
1
w
w2
...
w
N
-1
1
w2
w4
...
w2(
N
-1)
1
w
N
-1
w2(
N
-1)
...
w(
N
-1)2
...
...
...
...
...
1/!N
DFT: Discrete Fourier Transform
DFTN est unitaire : DFTN Î DFTN * = Id
IQ 2006 - Ph. Jorrand - Shor 14
Exemple : DFT8
DFT8 = 1/!8
1
1
1
1
1
1
1
1
1
w
i
w3
-1
w5
- i
w7
1
i
-1
- i
1
i
-1
- i
1
w3
- i
w
-1
w7
i
w5
1
-1
1
-1
1
-1
1
-1
1
w5
i
w7
-1
w
- i
w3
1
- i
-1
i
1
- i
-1
i
1
w7
- i
w5
-1
w3
i
w
n=3, N=23=8
1
w2
-1
w
w6
w7
w5
w3
w = 8ème racine de l’unité = e2pi/8
IQ 2006 - Ph. Jorrand - Shor 15
Combien de calcul de f pour trouver r ?
Espérance de logN=n itérations pour trouver r
Mais … DFTN est exponentielle : N2 = 22n multiplications
à chaque itération !
|0Ú
|0Ú
Uf
HN
Mesurer
DFTN
...
N/r N/r N/r N/r
N/r
Mesurer l N/r
proba. 1/r
x0rrr...
IQ 2006 - Ph. Jorrand - Shor 16
DFTN est un produit tensoriel de n termes
|xÚ DFTNÊ
y = 0
N-1
wxy |yÚ
1/!N
DFTN pour un vecteur |xÚ :
|xÚ est dans un registre de n qubits |x1 xkxnÚ, xkœ{0,1} :
DFTN
1/!2 (|0Ú+
w
(N/2)x |1Ú)
"
1/!2 (|0Ú+
w
(N/22)x |1Ú)
"
"
1/!2 (|0Ú+
w
(N/2n)x |1Ú)
...
=
1/!2 (|0Ú+
w
(N/2)x |1Ú)
1/!2 (|0Ú+
w
(N/2k)x |1Ú)
1/!2 (|0Ú+
w
(N/2n)x |1Ú)
... ...
|x1Ú
|xkÚ
|xnÚ
......
IQ 2006 - Ph. Jorrand - Shor 17
DFT8 appliquée à un vecteur |xÚ = |x1x2x3Ú
DFT8
|x1Ú
|x2Ú
|x3Ú
1/!2 (|0Ú+ e pxi |1Ú)
1/!2 (|0Ú+ e pxi/2 |1Ú)
1/!2 (|0Ú+ e pxi/4 |1Ú)
=Ê
y = 0
7
e pxyi/4 |yÚ
1/!8
DFT8
|x1Ú
|x2Ú
|x3Ú
1/!2 (|0Ú+ e px3i |1Ú)
1/!2 (|0Ú+ e px2i e px3i/2 |1Ú)
1/!2 (|0Ú+ e px1i e px2i/2 e px3i/4 |1Ú)
IQ 2006 - Ph. Jorrand - Shor 18
Vers une Transformée de Fourier Quantique
H = 1/!2 1 1
1 -1 Rk=1 0
0 e 2pi/2 k
R2R3
H
|x1Ú
|x2Ú
|x3Ú
1/!2 (|0Ú+ e px1i |1Ú)
1/!2 (|0Ú+ e px1i e px2i/2 |1Ú)
1/!2 (|0Ú+ e px1i e px2i/2 e px3i/4 |1Ú)
IQ 2006 - Ph. Jorrand - Shor 19
De DFT8 à QFT8
DFT8
H
H R2
H R3 R2
H = 1/!2 1 1
1 -1 Rk=1 0
0 e 2pi/2 k
IQ 2006 - Ph. Jorrand - Shor 20
QFTN : Quantum Fourier Transform
Rn-2 Rn-1
H
H R2Rn
Rn-1
H
H R2
|xnÚ
|xn-1Ú
|x2Ú
|x1Ú
n(n+1)/2 portes
DFTN : algorithme en Q(22n)
FFTN : algorithme en Q(n2n)
QFTN : algorithme en Q(n2)
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0
w
(N/2k)
Rk=
H = 1/!2 1 1
1 -1
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !