Komplexität des Factorings in Zahlenfeldern

25

Was ist über die rechnerische Komplexität der Faktorisierung von ganzen Zahlen in allgemeinen Zahlenfeldern bekannt? Genauer:

  1. Über die ganzen Zahlen stellen wir ganze Zahlen durch ihre binären Erweiterungen dar. Was ist die analoge Darstellung von ganzen Zahlen in allgemeinen Zahlenfeldern?
  2. Ist bekannt, dass die Primalität über Zahlenfelder in P oder BPP liegt?
  3. Was sind die bekanntesten Algorithmen zum Faktorisieren über Zahlenfelder? (Gehen die Algorithmen und von ?) Factoring bezieht sich hier auf die Darstellung einer Zahl (dargestellt durch Bits) als ein Produkt von Primzahlen.expnexpn1/3Zn
  4. Wie komplex ist es, alle Faktorisierungen einer ganzen Zahl in einem Zahlenfeld zu finden? Um zu zählen, wie viele verschiedene Faktorisierungen es hat?
  5. Über ist bekannt, dass es NP-schwer ist, zu entscheiden, ob eine gegebene Zahl einen Faktor in einem Intervall hat. Kann es sein, dass über den Ring von ganzen Zahlen in Zahlenfeldern herauszufinden, ob es einen Primfaktor gibt, dessen Norm in einem bestimmten Intervall liegt, bereits NP-schwer ist? Z[a,b]
  6. Berücksichtigt BQP Zahlenfelder?

Anmerkungen, Motivationen und Aktualisierungen.

Dabei ist natürlich entscheidend, dass die Faktorisierung über Zahlenfelder nicht eindeutig ist. Die Frage (insbesondere Teil 5) wurde durch diesen Blog-Beitrag über GLL (siehe diesen Hinweis ) und auch durch diese frühere TCSexchange-Frage motiviert. Ich präsentierte es auch über meinen Blog, wo Lior Silverman eine gründliche Antwort präsentierte .

Gil Kalai
quelle
Kannst du ein Beispiel geben? Wie unterscheidet sich Factoring in Feldern, die defn sind, von Straight Integer Factoring?
VZN
2
Zu (0): Normalerweise wird ein Zahlenfeld als wobei ein irreduzibles Polynom ist. Dann ist ein Element von ein Tupel von Paaren wobei . Dies bedeutet, dass Ihr Element . Q [ ξ ] /& phiv; & phiv; K ( ( n 0 , d 0 ) , ( n 1 , d 1 ) , ... , ( n δ - 1 , d δ - 1 ) )KQ[ξ]/φφK((n0,d0),(n1,d1),,(nδ1,dδ1))n 0 / d 0 + n 1 ξ / d 1 + + n δ - 1 ξ δ - 1 / d δ - 1δ=deg(φ)n0/d0+n1ξ/d1++nδ1ξδ1/dδ1
Bruno
2
@ Gil Hast du dieses Buch schon mal gesehen? springer.com/mathematics/numbers/book/978-3-540-55640-4 Ich habe im Moment keinen Zugriff auf meine Kopie (obwohl ich es in ein paar Tagen noch einmal tun werde und dies überprüfen werde). Ich würde nachsehen, ob irgendetwas über Faktorisierung in (i) algebraischen Zahlenfeldern oder (ii) Dedekind-Domänen mit einer Klassennummer> 1 geschrieben wurde.
Daniel Apon
4
@vzn: Ohne Gil Worte in den Mund zu legen, bin ich mir ziemlich sicher, dass er endliche Erweiterungen der Rationals meint (genau das, womit Sie verbunden sind). Wenn er "Factoring in einem solchen Feld" sagt, bin ich mir ziemlich sicher, dass er Factoring im Ring der ganzen Zahlen eines solchen Feldes bedeutet. Die gleiche Wikipedia-Seite, mit der Sie verlinkt haben, enthält einen Abschnitt über den Ring von Ganzzahlen in einem algebraischen Zahlenfeld.
Joshua Grochow
1
@vzn Das Zahlenfeldsieb verwendet Zahlenfelder, um Ganzzahlen zu faktorisieren.
Yuval Filmus

Antworten:

14

Die folgende Antwort wurde ursprünglich als Kommentar in Gils Blog gepostet

(1) Sei ein Zahlenfeld , wobei angenommen wird, dass ein monisches Minimalpolynom . Man kann dann Elemente des Ringes von ganzen Zahlen als Polynome in oder auf integraler Basis darstellen - die beiden sind äquivalent.agr ; ) & agr ; f Z [ x ] O K & agr;K=Q(α)αfZ[x]OKα

Wenn Sie nun wie in (1) korrigieren, gibt es eine Reduzierung der Polynomzeit vom Problem über zum Problem in . Um zu überprüfen, ob die Berechnungen (z. B. Schnittmenge eines Ideals mit oder Faktorisierung eines Polynoms ) in polynomieller Zeit durchgeführt werden können, siehe das Buch von Cohen, auf das in der vorherigen Antwort Bezug genommen wurde.K QKKQ pZp

Als Vorberechnung für jede rationale Primzahl die die Diskriminante von ( dh die Diskriminante von ) dividiert , werden alle Primzahlen von die über .α f O K ppαfOKp

(2) Für primality Tests gegeben ideal lassen so sein , dass (dies kann in Polynomzeit berechnet werden und die Anzahl der Bits von ist in der Eingabe polynomiell). Überprüfen Sie in der Polynomzeit, ob eine Primzahl ist. Wenn nicht, dann ist keine Primzahl. Wenn ja, dann finden Sie die Primzahlen von die über entweder aus der Vorberechnung oder durch Faktorisierung von mod . Wenn eine Primzahl ist, muss es sich in jedem Fall um eine dieser Primzahlen handeln. p ZaOKpZ p p a O K p f p aaZ=pZppaOKpfpa

(3a), (6a) Für die Zerlegung in Primzahlen wird bei gegebenem idealen die Norm . Auch dies kann in der Polynomzeit gefunden werden und ist folglich nicht zu groß. Faktor in (entweder klassisch oder mit Shors Algorithmus, abhängig von der gewünschten Reduzierung). Dies gibt eine Liste von rationalen Primzahlen, die teilen , und daher können wir wie in 2 die Liste von Primzahlen von die teilen . Da Dies gibt die Liste der Primzahlen, die teilen. y = N K Q ( a ) = [ O K : a ] y Z y O K y a | y O K aaOKy=NQK(a)=[OK:a]yZyOKya|yOKa. Schließlich ist es einfach, den Exponenten zu bestimmen, in den eine Primzahl ein gegebenes Ideal teilt.

(3b), (6b) Aber Gil will die Faktorisierung nicht in Primzahlen, sondern in Irreduzible. Es stellt sich heraus, dass es bei gegebener Primfaktorisierung von möglich ist, eine Faktorisierung von effizient in irreduzible Elemente von zu konstruieren . Dazu sei die Klassennummer und man beachte, dass es möglich ist, die ideale Klasse eines gegebenen Ideals effizient zu berechnen. nun einen irreduziblen Teiler von wählen Sie Primideale (möglicherweise mit Wiederholung) aus der Faktorisierung von x O K h K x hxOKxOKhKx x x h KhKx. Nach dem Pigeon-Hole-Prinzip multipliziert eine Teilmenge dieser Werte mit der Identität in der Klassengruppe. finde eine minimale solche Teilmenge. Sein Produkt ist dann ein Hauptideal, das durch ein nicht reduzierbares Element erzeugt wird. Teilen Sie durch dieses Element, entfernen Sie die relevanten Ideale aus der Faktorisierung und wiederholen Sie. Wenn die Faktorisierung weniger als Elemente enthält, nehmen Sie einfach eine minimale Teilmenge aller Faktoren.xhK

(4) Ich denke, es ist möglich, die Faktorisierungen in irreduzible zu zählen, aber dies ist ein bisschen mehr Kombinatorik - bitte geben Sie mir Zeit, es auszuarbeiten. Andererseits ist es im Zusammenhang mit subexponentiellen Faktorisierungsalgorithmen nicht interessant, alle zu bestimmen, da es im Allgemeinen exponentiell viele solcher Faktorisierungen gibt.

(5) Ich habe keine Ahnung.

Lior Silberman
quelle
5

Wie von Daniel erwähnt, finden Sie einige Informationen in dem Buch A Course in Computational Algebraic Number Theory ( link ).

Insbesondere gibt es verschiedene Möglichkeiten, Elemente von Zahlenfeldern darzustellen. Let ein Nummernfeld sein mit einem Grad- monic irreduzible Polynom . Sei eine Wurzel von . Die sogenannte Standarddarstellung eines Elements ist das Tupel wobei , und , so dass& phiv; n Z [ ξ ] & thgr; & phiv; & agr; K ( a 0 , ... , a n - 1 , d ) a iZ d > 0 gcd ( a 0 , ... , a n - 1 , d ) = 1K=Q[ξ]/φφnZ[ξ]θφαK(a0,,an1,d)aiZd>0gcd(a0,,an1,d)=1

α=1di=0n1aiθi.
Bruno
quelle