Algorithme de décomposition en produit de facteurs premiersEn 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 naturel est « décomposé » en un produit de facteurs qui sont des nombres premiers. Le théorème fondamental de l'arithmétique assure que cette décomposition est unique. Algorithme naïfUn algorithme récursif simple, basé sur le crible d'Eratosthène, peut accomplir de telles factorisations : Soit un nombre donné n
Il faut pour cela connaitre les nombres premiers au moins inférieurs ou égaux à √n pour marquer l'arrêt[1]. ExempleOn souhaite factoriser 9 438.
On reprend l'algorithme avec 4 719.
Le premier nombre premier par lequel 1 573 est divisible est 11.
Donc, en récapitulant, on a ComplexitéL'algorithme décrit ci-dessus marche bien pour les petits n, mais devient impraticable dès que n devient trop grand. Par exemple, pour un nombre de 18 chiffres décimaux, tous les nombres premiers inférieurs à 1 000 000 000 doivent être testés, ce qui prend du temps, même pour un ordinateur. À chaque fois que l'on ajoute deux chiffres au nombre à factoriser, on multiplie le temps de calcul par 10. La difficulté de la factorisation (grande complexité en temps) en fait une base idéale pour la cryptologie moderne. Algorithmes classiques plus efficacesAlgorithmes quantiquesRéférences(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Prime factorization algorithm » (voir la liste des auteurs).
Voir aussiBibliographiePascal Boyer, Petit compagnon des nombres et de leurs applications, Calvage et Mounet, , 648 p. (ISBN 978-2-916352-75-6), II. Nombres premiers, chap. 4 (« Factorisation ») Articles connexesLien externe(en) Eric W. Weisstein, « Prime Factorization Algorithms », sur MathWorld |