UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR Sébastien Giraud 22 mai 2007 1 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR Le calcul quantique Les postulats de la Physique Quantique 1. A tout système physique isolé est associé un espace de Hilbert E : le système est complètement décrit par un vecteur normé de cet espace, le vecteur d’état |Ψi. ex : un qubit correspond à un espace de Hilbert de dimension 2 |Ψi = α|0i + β|1i |α|2 + |β|2 = 1 2. L’évolution d’un système isolé est décrite par une transformation unitaire : |Ψ(0)i → |Ψ(t)i = U(t, 0)|Ψ(0)i 3. L’espace des états d’un système composite est le produit tensoriel des espaces individuels : |Ψ12 i = |Ψ1 i ⊗ |Ψ2 i ex : états à 3 qubits |000i, |100i, |111i Mais il existe des états intriqués qui ne peuvent pas s’écrire sous cette forme : 1 √ (|00i + |11i) 2 2 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR Le calcul quantique Les postulats de la Physique Quantique 4. Toute grandeur physique mesurable A est décrite par un opérateur hermitien A de E : la mesure de A ne peut donner comme résultat qu’une des valeurs propres an de A avec la probabilité pn = |hun |Ψi|2 A|un i = an |un i La mesure modifie le système de façon irréversible : le vecteur d’état est projeté sur le sous-espace propre de A pour la valeur propre mesurée. ex : |Ψi = α|0i + β|1i probabilité de mesurer 0 : |α|2 si on mesure 0, après la mesure le système est dans l’état |0i. 3 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR Le calcul quantique Registre de n qubits L’état d’un registre de n qubits est un vecteur dans un espace à 2n dimensions dont une base est : |00 · · · 00i (c.à.d.|0i) |00 · · · 01i (c.à.d.|1i) |00 · · · 10i (c.à.d.|2i) .. . |11 · · · 11i (c.à.d.|2n − 1i) Il s’écrit donc : |Ψi = α0 |0i + α1 |1i + · · · + α2n −1 |2n − 1i avec |α0 |2 + |α1 |2 + · · · + |α2n −1 |2 = 1. 4 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR Le calcul quantique Le parallélisme quantique |1i |0i √ √ h0| 1/ 2 1/ 2 Porte de Hadamard : √ H= √ h1| 1/ 2 −1/ 2 Soit f : {0, 1} → {0, 1}. On définit la transformation unitaire Uf agissant sur 2 qubits : |x, y i → |x, y ⊕ f (x)i A l’aide du circuit : on obtient un état qui contient une information sur les deux valeurs prises par la fonction f : 1 1 Uf H √ (|0 f (0)i + |1 f (1)i) |0i|0i − → √ (|00i + |10i) −→ 2 2 5 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR Le calcul quantique Le parallélisme quantique Avec n qubits : N−1 1 1 1 X → √ (|0i + |1i) · · · √ (|0i + |1i) = √ |xi 2 2 N x=0 → superposition cohérente des N = 2n états Pour une fonction f : {0, · · · , N − 1} → {0, 1}, on définit la transformation unitaire Uf agissant sur le n-qubits x et sur le qubit y : |x, y i → |x, y ⊕ f (x)i N−1 1 X On obtient l’état quantique √ |x f (x)i qui contient virtuellement N x=0 les valeurs f (x) pour les 2n valeurs de x, en utilisant une seule fois Uf . → accélération exponentielle pour certains algorithmes 6 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR Le calcul quantique Un exemple : l’algorithme de Deutsch-Josza Soit f : {0, 1} → {0, 1}. On souhaite déterminer si f est constante. On utilise le circuit suivant qui n’utilise qu’une seule évaluation de Uf : Le registre de sortie est dans l’état |0i − |1i √ ±|f (0) ⊕ f (1)i 2 On mesure alors l’état final du premier qubit. I si f est constante, on obtient, de manière certaine |0i I si f n’est pas constante, on obtient, de manière certaine |1i 7 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR L’algorithme de Shor La factorisation des entiers Le meilleur algorithme classique actuellement connu pour factoriser un entier est exponentiel en la taille du nombre à factoriser : √ 3 2O( log N) I problème difficile, on ne connaît pas sa classe de complexité I intervient dans l’algorithme de clé publique RSA, plusieurs défis : • RSA-640, $20,000, 193 chiffres, factorisé en 2005, 5 mois de calcul. • RSA-2048, $200,000, 617 chiffres, non factorisé. En 1994, Peter Shor propose un algorithme quantique en temps polynomial O((log N)3 ). 8 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR L’algorithme de Shor Description de l’algorithme 1 Déterminer si N est pair, premier ou puissance d’un nombre premier. Ceci peut-être fait classiquement en O((log N)3 ). Dans ce cas, FIN. 2 Choisir un nombre a au hasard 1 < a < N. 3 Calculer pgcd(a, N). Si pgcd(a, N) 6= 1, c’est un facteur non trivial, FIN. 4 5 Sinon a ∈ Z/NZ× . Déterminer r l’ordre de a dans Z/NZ. Si r est pair et ar /2 6= −1 mod N (ceci se produit avec une probabilité > 1 − 1/2k −1 , k nombre de facteurs premiers de N), alors N | (ar − 1) = (ar /2 − 1)(ar /2 + 1) et N - ar /2 − 1, N - ar /2 + 1, donc pgcd(ar /2 − 1, N) est un facteur non trivial de N, FIN. 9 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR L’algorithme de Shor Un exemple, N = 15 1 15 n’est pas pair, premier ou puissance d’un nombre premier. 2 On choisit a au hasard 1 < a < N : a = 7. 3 pgcd(a, N) = pgcd(7, 15) = 1. 4 On note fa : k 7→ ak mod N. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 · · · k fa (k ) 1 7 4 13 1 7 4 13 1 7 4 13 1 7 · · · On a r = 4. 5 r = 4 est pair et ar /2 = 4 6= −1 mod N. pgcd(ar /2 + 1, N) = pgcd(50, 15) = 5, pgcd(ar /2 − 1, N) = pgcd(48, 15) = 3, FIN. 10 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR L’algorithme de Shor Calcul de l’ordre de a L’étape difficile est l’étape 4. L’ordre de a est la période de la fonction fa : k 7→ ak mod N et les valeurs prises par fa pour k ∈ {0, 1, · · · , r − 1} sont distinctes. On utilise une transformée de Fourier Quantique : 1 Soient n = blog2 Nc + 1 et q > n. En utilisant le parallélisme quantique on prépare le système à q + n qubits : 2q −1 1 X |x fa (x)i 2q/2 x=0 2 On mesure la valeur du second registre, on obtient une valeur y0 et il existe un unique x0 ∈ {0, 1, · · · , r − 1} tel que fa (x0 ) = y0 . → projection du premier registre sur le sous espace des x tels que fa (x) = y0 . On obtient l’état : A−1 1 X √ |x0 + jr i A j=0 11 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR L’algorithme de Shor Calcul de l’ordre de a 3 On effectue la transformée de Fourier à 2q points : • classiquement (FFT) : O(nq 2q ) • quantiquement (QFT) : O(nq 2 ) Une mesure du système donne kQ/r , avec Q = 2q et k un entier. En répétant, environ O(log q) fois l’opération on peut déterminer r . On a q ' n, donc une complexité globale en O((log N)3 ). 12 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR L’algorithme de Shor De la fiction à la réalité Un spin 1/2 dans un champ magnétique réalise un qubit idéal : on manipule son état par résonance magnétique nucléaire (RMN). Dans une molécule, les fréquences de résonance des différents atomes sont légèrement différentes : on peut adresser individuellement chaque spin. En 2001, en utilisant 7 qubits, le centre de recherche d’IBM a obtenu la factorisation du nombre 15. 13 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR L’algorithme de Shor De la fiction à la réalité Pour N = 15, n = 4 et q = 3, en prenant a = 7, ils ont obtenu, après transformée de Fourier : Le premier qubit est dans l’état |0i et le deuxième et le troisième sont dans une superposition de |0i et |1i. Donc l’état du système des 3 qubits est un superposition de |000i, |010i, |100i et |110i, c’est-à-dire |0i, |2i, |4i et |6i. → la périodicité de la QFT est 2, donc r = 2q /2 = 4. 14