Décomposition en produit de facteurs premiers

En mathématiques et plus précisément en arithmétique, la décomposition en produit de facteurs premiers, aussi connue comme la factorisation entière en nombres premiers ou encore plus couramment la décomposition en facteurs premiers, consiste à chercher à écrire un entier naturel non nul sous forme d'un produit de nombres premiers. Par exemple, si le nombre donné est 45, la factorisation en nombres premiers est 3 × 5, soit 3 × 3 × 5. 

Par définition, un nombre premier ne peut pas être décomposé en produit de plusieurs nombres premiers. On peut aussi dire qu'il est sa propre décomposition. Quant au nombre 1, c'est le produit vide.

La factorisation est toujours unique, en accord avec le théorème fondamental de l'arithmétique. L'écriture des nombres entiers en produits de facteurs premiers en facilite la manipulation dans des problèmes de divisibilité, de fraction ou de racine carrée.

La recherche d'algorithmes de décomposition est d'une importance considérable en mathématiques, en cryptologie, en théorie de la complexité des algorithmes, et pour les calculateurs quantiques.  En 2020, un nombre de 250 chiffres (RSA-250) a été décomposé en facteurs premiers  en utilisant environ 2700 cœurs.ans de calcul.

Décomposition en produit de nombres premiers 

Le théorème fondamental de l'arithmétique permet d'affirmer que tout entier strictement positif possède une unique décomposition en facteurs premiers. C'est-à-dire qu'il peut s'écrire de manière unique comme le produit fini de nombres premiers à une puissance adéquate.

Pour tout nombre entier naturel  supérieur ou égal à 1, il existe une suite finie unique  telle que :
 les  sont des nombres premiers tels que, si , alors  ;
 les  sont des entiers naturels non nuls ;
  est le produit des nombres .

Une définition plus formelle de la décomposition en facteurs premiers fait appel à la notion de valuation -adique.

Pour tout nombre premier  et tout entier naturel  non nul, on détermine le plus grand entier naturel  tel que  divise . Cet entier se note  et s'appelle valuation -adique de l'entier .

Ainsi  pour tout nombre premier ,  et .

Si l'on note alors  l'ensemble de tous les nombres premiers, tout entier naturel non nul  peut s'écrire sous la forme du produit

Les  étant nuls sauf un nombre fini d'entre eux, ce produit infini est en fait un produit fini. Cette écriture est unique, c'est-à-dire que, s'il existe une famille  d'entiers naturels, tous nuls sauf un nombre fini d'entre eux, telle que

alors pour tout , . On appelle alors cette écriture la décomposition de  en produit de facteurs premiers.

Utilisations élémentaires 
L'écriture d'un entier sous forme d'un produit de facteurs premiers permet de simplifier le travail sur les produits, les multiples et les diviseurs. Elle permet aussi de trouver des formes réduites pour des quotients ou des racines.

Multiples et diviseurs 

On suppose par la suite que la décomposition de  en produit de facteurs premiers s'écrit

L'entier  est un multiple de  si et seulement si la décomposition de  en produit de facteurs premiers contient au moins tous les  élevés à une puissance  supérieure ou égale à .

L'entier  est un diviseur de  si et seulement s'il existe  entiers  vérifiant  tels que

Sous cette forme, il est alors possible de faire l'inventaire de tous les diviseurs de  et d'en déterminer le nombre :

Ainsi les diviseurs de 45 sont :

soit 6 diviseurs.

Plus généralement, le nombre de diviseurs de l'entier  est  car un diviseur est constitué en choisissant arbitrairement un exposant pour  parmi  valeurs (de 0 à ), un exposant pour  parmi  valeurs, etc.

La somme des diviseurs positifs de  est donnée par la formule

PGCD et PPCM 
Le PGCD (plus grand commun diviseur) de deux nombres entiers  et  supérieurs ou égaux à 2 a pour décomposition en facteurs premiers le produit des facteurs premiers apparaissant à la fois dans la décomposition de  et de  munis du plus petit des exposants trouvés dans la décomposition de  et de . Autrement dit, pour tout nombre premier , , où  est la valuation p-adique. Ainsi,

Le PPCM (plus petit commun multiple) de deux nombres entiers  et  supérieurs ou égaux à 2 a pour décomposition en facteurs premiers le produit des facteurs premiers apparaissant dans  ou dans  munis du plus grand des exposants trouvés dans la décomposition de  et de . Autrement dit, pour tout nombre premier , , où  est la valuation p-adique. Ainsi,

Décomposition et valuation 
L'écriture de la décomposition sous forme d'un produit infini permet de résumer ces calculs en travaillant seulement sur les valuations.

 Diviseur :  divise  si et seulement si, pour tout nombre premier , .
 Produit : la décomposition en facteurs premiers de  consiste à faire les somme de valuations :
 PGCD : 
 PPCM :

Formes réduites 
La décomposition en produit de facteurs premiers peut se révéler utile pour réduire une fraction en fraction irréductible, pour la décomposer en éléments simples, pour réduire deux fractions au même dénominateur ou pour réduire des expressions contenant des racines carrées ou des racines -ièmes.

Fractions irréductibles 

Pour réduire une fraction sous forme irréductible, il faut simplifier le numérateur et le dénominateur de la fraction par le PGCD de ces deux nombres. Une écriture des nombres en produit de facteurs premiers rend plus évidente la simplification :

Fractions réduites au même dénominateur 
Pour réduire deux fractions au même dénominateur, on peut choisir comme dénominateur commun le PPCM des deux dénominateurs. Là aussi la décomposition en produits de facteurs premiers peut se révéler utile :

Fractions décomposées en élément simples 
Toute fraction peut s'écrire comme somme ou différence de fractions dont le dénominateur est une puissance de nombre premier. Sous cette forme, appelée décomposition en éléments simples, il est facile de connaitre un développement décimal périodique de la fraction connaissant les périodes de chacune des fractions élémentaires. La décomposition en éléments simples utilise l'identité de Bézout et la décomposition du dénominateur en facteurs premiers.

On cherche alors deux entiers  et  tels que . On peut prendre  et .

Réduction de racines 
Tout entier supérieur ou égal à 2 est un carré si tous les exposants de sa décomposition en produit de facteurs premiers sont pairs. Tout entier supérieur ou égal à deux se décompose en produit d'un carré et d'un nombre dont la décomposition en produits de facteurs premiers ne contient que des exposants égaux à 1. Sous cette forme, il est possible d'écrire une racine carrée sous forme irréductible :

Cette propriété se généralise à des racines -ièmes.

Algorithmes de factorisation 
S'il existe un algorithme simple à mettre en place pour décomposer un nombre de taille raisonnable, cet algorithme se révèle rapidement inefficace, en termes de temps, pour des très grands nombres. La recherche d'algorithmes performants est donc un objectif de la théorie des nombres.

Algorithme naïf 

La première idée consiste à balayer la liste des nombres premiers en testant si le nombre premier  divise . Si oui, on recommence l'algorithme pour , en ne testant que les diviseurs premiers encore envisageables. On s'arrête quand le nombre premier à tester devient supérieur à la racine carrée du nombre qu'il est censé diviser.

Ainsi pour décomposer 2088 en produit de facteurs premiers

On obtient la décomposition attendue : 2088=2 × 3 × 29.

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, mais que ces systèmes puissent 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 : savoir casser le générateur en temps polynomial suffit pour savoir factoriser les entiers en temps polynomial, et vice versa.

État actuel de l'art 
Si un grand nombre à  bits 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 . 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-polynomiaux. En particulier, le meilleur algorithme connu est le crible général de corps de nombres (GNFS).

Pour un ordinateur ordinaire, GNFS est le meilleur algorithme connu pour les grands . Pour un calculateur quantique, en revanche, 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.

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 «  admet-il un facteur premier inférieur à  ? » est connu pour être à la fois NP et co-NP. Ceci parce que les réponses OUI et NON peuvent être données en temps polynomial si les facteurs premiers sont donnés : on peut vérifier leur primalité grâce au test de primalité AKS, puis vérifier que leur produit vaut , et enfin vérifier si l'un des facteurs est inférieur à . 

Le problème de la décomposition est connu comme étant dans BQP à cause de l'algorithme de Shor. Il est suspecté, comme le problème de l'isomorphisme de graphes, d'être strictement entre les classes P et NP-complet (ou co-NP-complet). S’il peut être démontré qu'il est 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 personnes ont essayé de trouver des algorithmes en temps polynomial pour cela et ont échoué ; par conséquent, ce problème est largement suspecté d'être également en dehors de P.

De manière intéressante, le problème de décision «  est-il un nombre composé ? » (ou de façon équivalente : «  est-il un nombre premier ? ») apparaît comme étant plus facile que le problème consistant à trouver les facteurs de . Plus précisément, la question ci-dessus peut être résolue en temps polynomial (en nombre  des chiffres de ). 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 à utiliser avec lui.

But spécial 
Le 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.

 Divisions successives
 Algorithme rho de Pollard
 Algorithme p-1 de Pollard
 Factorisation en courbe elliptique de Lenstra
 Congruence de carrés (Méthode de factorisation de Fermat)
 Crible spécial de corps de nombres (SNFS)

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.

 Crible quadratique
 Crible général de corps de nombres (GNFS)

Notes et références

Voir aussi

Articles connexes 

 Partition d'un entier qui correspond à la décomposition d'un entier additivement, qui, elle, n'est pas unique et dont le nombre de possibilités est objet d'étude.
 Formule de Legendre, donnant la valuation p-adique de .
 Lemme LTE donnant la valuation p-adique de .
 Constante de Niven égale à la moyenne du plus grand exposant apparaissant dans la décomposition.

Lien externe 
Outil de décomposition en produit de facteurs premiers en ligne.

Divisibilité et factorisation