Algorithme de ShorEn arithmétique modulaire et en informatique quantique, l’algorithme de Shor est un algorithme quantique conçu par Peter Shor en 1994, qui factorise un entier naturel N en temps O et en espace . Beaucoup de cryptosystèmes à clé publique, tels que le RSA, deviendraient vulnérables si l'algorithme de Shor était un jour implémenté dans un calculateur quantique pratique. Un message chiffré avec RSA peut être déchiffré par factorisation de sa clé publique N, qui est le produit de deux nombres premiers. En l'état actuel des connaissances, il n'existe pas d'algorithme classique capable de faire cela en temps pour n'importe quel k. Les algorithmes classiques connus deviennent donc rapidement impraticables quand N augmente, à la différence de l'algorithme de Shor qui peut casser le RSA en temps polynomial. Il a été aussi étendu pour attaquer beaucoup d'autres cryptosystèmes à clé publique. Comme la plupart des algorithmes pour calculateur quantique, l'algorithme de Shor est probabiliste : il donne la réponse correcte avec une haute probabilité et la probabilité d'échec peut être diminuée en répétant l'algorithme. L'algorithme de Shor fut utilisé en 2001 par un groupe d'IBM, qui factorisa 15 en 3 et 5, en utilisant un calculateur quantique de 7 qubits[1]. ProcédureSoit N un entier naturel donné. L’algorithme de Shor vise à chercher un entier p compris entre 2 et qui divise N. Il consiste en deux éléments :
Partie classique
Partie quantique : sous-programme de recherche de période
Explication de l'algorithmeL'algorithme est composé de deux parties. La première partie transforme le problème de factorisation en un problème de recherche de période d'une fonction et peut être programmé de façon classique. La seconde partie trouve la période en utilisant la transformée de Fourier quantique et est responsable de l'accélération quantique. Obtenir des facteurs à partir de la périodeLes entiers inférieurs à N et premiers avec N forment un groupe fini muni de la multiplication modulo N, qui est typiquement noté (Z/NZ)×. La fin de l'étape 3 permet de déterminer un entier a dans ce groupe. Comme le groupe est fini, a possède (d'après le théorème d'Euler) un ordre fini r, défini comme plus petit entier positif tel que Par conséquent, N | (a r – 1). Supposons qu’il soit possible de déterminer r, et que celui-ci est pair. Alors
r est le plus petit entier positif tel que N divise (a r – 1), donc N ne peut pas diviser (a r / 2 – 1). Si N ne divise pas non plus (a r / 2 + 1), alors N doit avoir un facteur commun non-trivial avec chacun des (a r / 2 – 1) et (a r / 2 + 1). Preuve : notons (a r / 2 – 1) et (a r / 2 + 1) par u et v respectivement. N | uv, donc kN = uv pour un certain entier k. Supposons que PGCD(u, N) = 1 ; alors mu + nN = 1 pour certains entiers m et n (identité de Bézout). En multipliant de part et d’autre par v, l’on trouve que mkN + nvN = v, donc N | v. Par contradiction, PGCD(u, N) ≠ 1. Par un argument similaire, PGCD(v, N) ≠ 1. Ceci fournit une factorisation de N. Si N est le produit de deux nombres premiers, elle est la seule factorisation possible. Trouver la périodeL'algorithme de recherche de période de Shor est fortement relié à la capacité d'un calculateur quantique à être dans de nombreux états simultanément. Les physiciens appellent ce comportement une « superposition » d'états. Pour calculer la période d'une fonction f, nous évaluons la fonction en tous ses points simultanément. Pourtant, la physique quantique ne nous permet pas d'accéder à toute l'information directement. Une mesure fournira seulement une parmi toutes les valeurs possibles en détruisant toutes les autres. Par conséquent nous avons à transformer avec précaution la superposition en un autre état qui retournera la réponse correcte avec une haute probabilité. Ceci est accompli par la transformée de Fourier quantique. Shor eut ainsi à résoudre trois problèmes : Tous ont été résolus « rapidement », c'est-à-dire avec un nombre de portes quantiques polynomial en .
Après toutes ces transformations, une mesure fournit une approximation de la période r. Pour simplifier, assurons nous qu'il existe un y tel que yr/N soit un entier. Alors la probabilité de mesurer y est 1. Pour voir cela, notons qu'alors pour tous les entiers b. Par conséquent, la somme qui nous donne la probabilité de mesurer y sera de N/r comme b prend globalement N/r valeurs et ainsi, la probabilité est 1/r. Il existe r y tels que yr/N soit un entier donc les probabilités totalisent 1. Note : une autre manière d'expliquer l'algorithme de Shor est de noter que c'est juste l'algorithme d'estimation de phase quantique déguisé. Notes et références(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Shor's algorithm » (voir la liste des auteurs).
AnnexesBibliographie
Articles connexesLiens externes
|
Portal di Ensiklopedia Dunia