vignette|Décomposition du nombre 864 en 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œurshttps://caramba.loria.fr/rsa250.txt.

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 à 1Louis Comtet, Analyse combinatoire élémentaire, chap 1.4, , , étant entendu que si alors et il s'agit de la suite vide., 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 20882 2 divise 2088 le quotient est 104410442 2 divise 1044, le quotient est 52252222 divise 522, le quotient est 26126132 ne divise pas 261, mais 3 divise 261 et le quotient est 878733 divise 87 et le quotient est 2929 ni 3, ni 5 ne divisent 29 et 7 est plus grand que 29 (fin)

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.