Number Field Sieve

Number Field Sieve

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 O\left\{\exp\left[\left({64\over9}\log n\right)^{1\over3} (\log \log n)^{2\over3}\right]\right\} étapes pour factoriser un nombre entier n (voir notation O). Il est dérivé du crible spécial de corps de nombres (SNFS). Lorsque la locution « crible de corps de nombres » est utilisée sans qualification, elle réfère au crible général de corps de nombres.

C'est une amélioration du crible quadratique, qui factorise n en trouvant les nombres ki tels que ri=ki2-n factorise complètement sur un ensemble fixé (appelé base) de petits nombres premiers. Puis, en ayant suffisamment de tels ri - qui sont appelés réguliers relativement à la base de facteurs choisie, en utilisant la méthode d'élimination de Gauss de l'algèbre linéaire nous pouvons choisir les exposants ci égaux à 0 ou 1 tels que le produit de rici soit un carré, disons x2. D'un autre coté, si le produit de kici est y, alors x2-y2 est divisible par n et avec la probabilité qu'au moins la moitié nous donne un facteur de n en trouvant le PGCD de n et x-y. Dans cette méthode, l'idée était de choisir ki fermé par la racine carrée de n - alors ri est aussi de l'ordre de l'amplitude de la racine carrée de n et il existe suffisamment de valeurs régulières.

Le crible général de corps de nombres fonctionne de la manière suivante :

  • Nous choisissons deux polynômes irréductibles f(X) et g(X) avec une racine commune m mod n - on ignore quelle est la meilleure manière de choisir les polynômes, mais généralement cela se produit en prenant un degré d pour un polynôme et en considérant l'extension de n dans la base mm est d'ordre n1/d. L'indication est d'obtenir des coefficients de f et g aussi petit que possible - ils seront de l'ordre de m, tout en ayant les petits degrés d et e de nos polynômes.
  • Maintenant, nous considérons comme corps de nombres les anneaux Z[r1] et Z[r2]r1 et r2 sont les racines des polynômes f et g, et examinons les valeurs a et b telles que r=bd*f(a/b) et s=be*g(a/b) sont régulières relativement à la base de facteurs choisie. Si a et b sont petits, r et s le seront aussi (mais au moins de l'ordre de m), et nous avons une meilleure chance pour qu'ils soient réguliers dans le même temps.
  • En ayant suffisamment de paires, en utilisant la méthode d'élimination de Gauss, nous pouvons obtenir les produits de certains r et de son s correspondant pour qu'ils soient des carrés en même temps. Nous avons besoin d'une condition légèrement plus forte - qu'ils soient des normes de carrés dans notre corps de nombres, mais nous pouvons également obtenir cette condition par cette méthode. Chaque r est une norme de a- r1*b et donc, nous obtenons que ce produit de facteurs correspondants a- r1*b est un carré dans Z[r1], avec une « racine carrée » qui peut être déterminée (comme un produit de facteurs connus dans Z[r1]) - cela sera typiquement représenté comme un nombre algébrique irrationnel. De manière similaire, nous obtenons que ce produit de facteurs a- r2*b est un carré dans Z[r2], avec une « racine carrée » qui peut être aussi calculée.
  • Comme m est une racine et de f et de g mod n, il existe des homomorphismes à partir des anneaux Z[r1] et Z[r2] vers l'anneau Z/nZ, qui appliquent r1 et r2 sur m, et ces homomorphismes appliqueront chaque « racine carrée » (typiquement non représentée comme un nombre rationnel) dans sa représentation d'entier. Maintenant, le produit de facteurs a-m*b mod n, nous pouvons obtenir un carré par deux manières - une pour chaque homomorphisme. Ainsi, nous avons deux nombres x et y, avec x2-y2 divisible par n et de nouveau avec la probabilité qu'au moins dans une moitié, nous obtenons un facteur de n en trouvant le PGCD de n et x-y

Le deuxième meilleur algorithme connu pour la factorisation entière est la méthode de factorisation en courbe elliptique de Lenstra. Il est meilleur que le crible général de corps de nombres lorsque les facteurs sont de petite taille, comme il fonctionne par recherche de valeurs régulières de l'ordre du plus petit diviseur premier de n, son temps d'exécution dépendant de la taille de ce diviseur.

Références

  • Lenstra, Arjen K.; Lenstra, H.W. Jr. (Eds.) (1993). The development of the number field sieve. Lecture Notes in Math. 1554. Springer-Verlag.
  • [pdf] Pomerance, Carl. A Tale of Two Sieves. Notices of the AMS 1996, 1473–1485.
  • Portail des mathématiques Portail des mathématiques
Ce document provient de « Algorithme de factorisation par crible sur les corps de nombres g%C3%A9n%C3%A9ralis%C3%A9 ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Number Field Sieve de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • General number field sieve — In number theory, the general number field sieve (GNFS) is the most efficient classical algorithm known for factoring integers larger than 100 digits. Heuristically, its complexity for factoring an integer n (consisting of log2 n bits) is of …   Wikipedia

  • Special number field sieve — The special number field sieve (SNFS) is a special purpose integer factorization algorithm. The general number field sieve (GNFS) was derived from it.The special number field sieve is efficient for integers of the form r e plusmn; s , where r and …   Wikipedia

  • Sieve theory — is a set of general techniques in number theory, designed to count, or more realistically to estimate the size of, sifted sets of integers. The primordial example of a sifted set is the set of prime numbers up to some prescribed limit X .… …   Wikipedia

  • Sieve of Sundaram — In mathematics, the sieve of Sundaram is a simple deterministic algorithm for finding all prime numbers up to a specified integer. It was discovered by an Indian student S. P. Sundaram from Sathyamangalam in 1934. [cite journal |author=V.… …   Wikipedia

  • Sieve (mathematics) — In mathematics, sieve has several possible definitions: * In number theory, a sieve is a technique for counting the size of certain sets whose precise number of elements is hard to determine. See sieve theory, general number field sieve, and… …   Wikipedia

  • Sieve — In general, a sieve separates wanted/desired elements from unwanted material using a tool such as a mesh, net or other filtration or distillation methods, but it is also used for classification of powders by particle size, or for size measurement …   Wikipedia

  • Sieve of Eratosthenes — Sieve of Eratosthenes: algorithm steps for primes below 121 (including optimization of starting from prime s square). In mathematics, the sieve of Eratosthenes (Greek: κόσκινον Ἐρατοσθένους), one of a number of prime number sieves, is a simple,… …   Wikipedia

  • Number theory — A Lehmer sieve an analog computer once used for finding primes and solving simple diophantine equations. Number theory is a branch of pure mathematics devoted primarily to the study of the integers. Number theorists study prime numbers (the… …   Wikipedia

  • Quadratic sieve — The quadratic sieve algorithm (QS) is a modern integer factorization algorithm and, in practice, the second fastest method known (after the general number field sieve). It is still the fastest for integers under 100 decimal digits or so, and is… …   Wikipedia

  • Prime number — Prime redirects here. For other uses, see Prime (disambiguation). A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself. A natural number greater than 1 that is not a prime number is… …   Wikipedia

Share the article and excerpts

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