Algorithme de factorisation de nombre premier

Algorithme de factorisation de nombre premier

Décomposition en produit de facteurs premiers

En mathématiques et plus précisément en arithmétique modulaire, la décomposition en produit de facteurs premiers (aussi connue comme la factorisation entière en nombres premiers) est le problème suivant : soit un entier strictement positif, comment l'écrire sous forme d'un produit de nombres premiers. Par exemple, si le nombre donné est 45, la factorisation en nombres premiers est 32·5.

Par définition, un nombre premier ne peut pas être décomposé. On peut aussi dire qu'il est sa propre décomposition.

11 = 11
25 = 5 × 5 = 52
125 = 5 × 5 × 5 = 53
360 = 2 × 2 × 2 × 3 × 3 × 5 = 23 × 32 × 5
1 001 = 7 × 11 × 13
1 010 021 = 17 × 19 × 53 × 59

La factorisation est toujours unique, en accord avec le théorème fondamental de l'arithmétique. Ce problème est d'une importance considérable en mathématiques, en cryptologie, en théorie de la complexité, et pour les calculateurs quantiques.

Sommaire

Décomposition en nombres premiers

Tout nombre naturel n non nul peut s'écrire de manière unique comme le produit fini de nombres premiers à une puissance adéquate.

\forall n\in\mathbb{N}^*, \exists! (\alpha_p)_{p\in\mathcal{P}}\in\mathbb{N}^{(\mathcal{P})}: n = \prod_{p\in\mathcal{P}} p^{\alpha_p}.

La liste complète des facteurs peut être déduite de la factorisation en nombres premiers en incrémentant les exposants de zéro jusqu'au nombre cherché. Par exemple, comme 45 = 32·5, 45 est divisible par 30·50, 30·51, 31·50, 31·51, 32·50, et 32·51, ou 1, 5, 3, 15, 9, et 45. Par contraste, la factorisation en nombres premiers inclut seulement les facteurs premiers. Voir l'algorithme de décomposition en produit de facteurs premiers.

Applications pratiques

Soient deux grands nombres premiers donnés, il est facile d'en obtenir le produit. Par contre, il est beaucoup plus difficile de trouver les facteurs premiers de celui-ci. C'est ce que l'on appelle une fonction trappe. Ceci s'applique pour les systèmes modernes en cryptologie. Si une méthode rapide était trouvée pour résoudre le problème de la factorisation des nombres entiers, alors plusieurs systèmes cryptologiques importants seraient cassés, incluant l'algorithme à clé publique RSA et le générateur de nombres pseudo-aléatoires Blum Blum Shub. La mise au point d'un ordinateur quantique est une de ces méthodes.

Bien que la factorisation soit une manière de casser ces systèmes, il peut exister d'autres manières de les casser qui n'impliquent pas la factorisation. Ainsi, il est possible que le problème de la factorisation entière soit vraiment difficile, ces systèmes peuvent quand même être cassés rapidement. Une exception rare est le générateur Blum Blum Shub. Il a été prouvé qu'il est exactement aussi difficile que la décomposition en produit de facteurs premiers : si vous pouvez casser le générateur en temps polynomial alors, vous pouvez factoriser les entiers en temps polynomial, et vice versa.

État actuel de l'art

Si un grand nombre à n-bit est le produit de deux nombres premiers qui sont probablement de la même taille, alors aucun algorithme n'est actuellement connu pour pouvoir le factoriser en temps polynomial. Ce qui veut dire qu'il n'existe pas d'algorithme connu pouvant le factoriser en temps O(nk) quelle que soit la constante k. Il existe des algorithmes, néanmoins, qui sont aussi rapides que Θ(en). En d'autres termes, les meilleurs algorithmes connus sont sous-exponentiels, mais super-polynômiaux. En particulier, le meilleur algorithme connu s'exécutant en temps asymptotique est le crible général de corps de nombres (GNFS).

Pour un ordinateur ordinaire, GNFS est le meilleur algorithme connu pour les grands n. Pour un calculateur quantique, par contre, Peter Shor a découvert un algorithme en 1994 qui le résout en temps polynomial ! Ceci aura des implications significatives pour la cryptologie si un grand calculateur quantique est construit un jour. L'algorithme de Shor prend seulement O(n3) de temps et O(n) d'espace. Les formes de l'algorithme sont connues pour utiliser seulement 2n qubits. En 2001, le premier calculateur quantique 7-qubit devint le premier à exécuter l'algorithme de Shor. Il factorisa le nombre 15 (!).

Article détaillé : calculateur quantique.

Difficulté et complexité

On ne connaît pas exactement quelles classes de complexité contiennent le problème de la décomposition en produit de facteurs premiers. Le problème de décision de forme ("N a-t-il moins de facteurs que M ?") est connu pour être à la fois NP et co-NP. Ceci parce que les réponses OUI et NON peuvent être cochées si les facteurs premiers sont donnés avec leurs preuves de primalité. Il est connu comme étant dans BQP à cause de l'algorithme de Shor. Il est suspecté d'être en dehors des trois classes de complexité P, NP-complet, et co-NP-complet. S’il peut être démontré qu'il est soit NP-Complet ou co-NP-Complet, cela impliquerait NP = co-NP. Ce serait un résultat très surprenant, par conséquent la factorisation entière est largement suspectée d'être en dehors de ces classes. Beaucoup de monde ont essayé de trouver des algorithmes en temps polynomial pour cela et ont échoué, par conséquent, elle est largement suspectée d'être en dehors de P.

De manière intéressante, le problème de décision « N est-il un nombre composé ? » (ou de façon équivalente : « N est-il un nombre premier ? ») apparaît comme étant plus facile que le problème consistant à trouver les facteurs de N. Plus précisément, la question ci-dessus peut être résolue en temps polynomial (en nombre n des chiffres de N), en accord avec l'article récent donné dans les références ci-dessous. De plus, il existe un nombre d'algorithmes probabilistes qui peuvent tester la primalité d'un nombre très rapidement si l'un d'eux est susceptible d'accepter une petite possibilité d'erreur. La facilité de test d'un nombre premier est une partie cruciale de l'algorithme RSA, comme il est nécessaire de trouver de grands nombres premiers pour démarrer avec lui.

Algorithmes de factorisation

But spécial

Les temps d'exécution des algorithmes de factorisation à but spécial dépend des propriétés de ses facteurs inconnus : taille, forme spéciale, etc. De manière exacte, le temps d'exécution dépend de ce qui varie entre les algorithmes.

But général

Le temps d'exécution des algorithmes de factorisation à but général dépend seulement de la taille de l'entier à factoriser. Ceci est le type d'algorithme utilisé pour factoriser les nombres RSA. La plupart des algorithmes de factorisation à but général sont basés sur la méthode des congruence de carrés.

Liens externes

  • Portail des mathématiques Portail des mathématiques
Ce document provient de « D%C3%A9composition en produit de facteurs premiers ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Algorithme de factorisation de nombre premier de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • Algorithme de factorisation en nombre premier — Algorithme de décomposition en produit de facteurs premiers En mathématiques, dans la branche de l arithmétique modulaire, un algorithme de décomposition en produit de facteurs premiers est un algorithme (un processus pas à pas) par lequel un… …   Wikipédia en Français

  • Nombre Premier — 7 est un nombre premier car il admet exactement deux diviseurs positifs …   Wikipédia en Français

  • Algorithme De Factorisation Par Crible Sur Les Corps De Nombres Généralisé — En mathématiques, le crible général de corps de nombres est l algorithme, fondé sur l arithmétique modulaire, pour la décomposition en produit de facteurs premiers le plus efficace connu. Il utilise étapes pour factoriser un nombre entier n (voir …   Wikipédia en Français

  • Algorithme de factorisation par crible sur les corps de nombres generalise — Algorithme de factorisation par crible sur les corps de nombres généralisé En mathématiques, le crible général de corps de nombres est l algorithme, fondé sur l arithmétique modulaire, pour la décomposition en produit de facteurs premiers le plus …   Wikipédia en Français

  • Nombre premier — 7 est un nombre premier car il admet exactement deux diviseurs positifs. Un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs (qui sont alors 1 et lui même). Cette définition exclut 1, qui n a… …   Wikipédia en Français

  • Algorithme de factorisation par crible sur les corps de nombres généralisé — En mathématiques, le crible général de corps de nombres, appelé aussi crible algébrique est l algorithme, fondé sur l arithmétique modulaire, pour la décomposition en produit de facteurs premiers le plus efficace des algorithmes classiques. Il… …   Wikipédia en Français

  • Algorithme De Décomposition En Produit De Facteurs Premiers — En mathématiques, dans la branche de l arithmétique modulaire, un algorithme de décomposition en produit de facteurs premiers est un algorithme (un processus pas à pas) par lequel un entier est « décomposé » en un produit de facteurs… …   Wikipédia en Français

  • Algorithme de decomposition en produit de facteurs premiers — Algorithme de décomposition en produit de facteurs premiers En mathématiques, dans la branche de l arithmétique modulaire, un algorithme de décomposition en produit de facteurs premiers est un algorithme (un processus pas à pas) par lequel un… …   Wikipédia en Français

  • Factorisation Des Polynômes — La factorisation d un polynôme consiste à écrire celui ci comme produit de polynômes. Les factorisations intéressantes sont celles permettant d écrire le polynôme initial en produit de polynômes dont le degré serait inférieur au degré du polynôme …   Wikipédia en Français

  • Factorisation d'un polynôme — Factorisation des polynômes La factorisation d un polynôme consiste à écrire celui ci comme produit de polynômes. Les factorisations intéressantes sont celles permettant d écrire le polynôme initial en produit de polynômes dont le degré serait… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”