Zahlkörpersieb

Algorithmus zur Faktorisierung natürlicher Zahlen

Das Zahlkörpersieb (englisch number field sieve, NFS) ist ein Begriff aus dem mathematischen Teilgebiet der Zahlentheorie. Es ist einer der schnellsten bekannten Algorithmen zur Faktorisierung großer Zahlen.

Das Zahlkörpersieb wird vor allem für Zahlen mit über 100 Stellen benutzt, die durch andere Verfahren nicht zerlegt werden konnten. Typischerweise werden dabei mehrere 100 Rechner parallel betrieben.

Entstehungsgeschichte

Bearbeiten

1988 schrieb John M. Pollard einen Brief an Andrew Odlyzko mit Kopien an Richard P. Brent, John Brillhart, Hendrik Lenstra, Claus-Peter Schnorr und Hiromi Suyama, worin er ein neues Faktorisierungsverfahren für ganz spezielle Zahlen beschrieb. In diesem Brief illustrierte er dieses Verfahren an der Fermat-Zahl F7 und vermutete, dass damit die bis dato noch nicht faktorisierte Zahl F9 möglicherweise ein Kandidat für dieses Verfahren ist. Pollard benutzte aber noch kein Siebverfahren im algebraischen Zahlkörper.

In den Folgejahren wurde diese Idee unter anderem von Arjen Lenstra, H. W. Lenstra, Mark Manasse und John M. Pollard ausgebaut. Daraus entstand das spezielle Zahlkörpersieb (wie das Verfahren heutzutage bezeichnet wird, um es vom allgemeinen Zahlkörpersieb unterscheiden zu können). Das spezielle Zahlkörpersieb lässt sich nur für Zahlen der Form   mit b, r klein und m groß anwenden.

Das allgemeine Zahlkörpersieb wurde annähernd zur gleichen Zeit zum speziellen Zahlkörpersieb von Joe Buhler, H. W. Lenstra und Carl Pomerance gefunden. Dieses ist für beliebige Zahlen anwendbar, dafür muss man aber Einbußen bei der Geschwindigkeit hinnehmen.

1990 gelang mit Hilfe des speziellen Zahlkörpersiebs die Faktorisierung von F9[1].

1991 publizierte Pollard eine Variante des Zahlkörpersiebs, bei der ein zweidimensionales Sieb benutzt wird, welches er als Gittersieb bezeichnet. Mit dieser Gittersiebvariante, kombiniert mit anderen Methoden, wurde von 2003 bis 2005 eine 200-stellige Dezimalzahl (genannt RSA-200) faktorisiert.[2]

Funktionsweise

Bearbeiten

Das Zahlkörpersieb kann als Verallgemeinerung des Quadratischen Siebes verstanden werden. Eine wesentliche Überlegung ist dabei, dass glatte Zahlen in anderen Monoiden als   eventuell häufiger auftreten und somit schneller gefunden werden könnten.

Asymptotische Laufzeit

Bearbeiten

Die asymptotische Laufzeit des Zahlkörpersiebs konnte bislang nicht exakt bewiesen werden. Unter einigen als wahrscheinlich geltenden Annahmen kann man diese jedoch für eine Zahl n zu

 

berechnen. Damit ist die Laufzeit subexponentiell, aber immer noch superpolynomial, in der Länge der Zahl n. Die Konstante C ist davon abhängig, ob das spezielle oder das allgemeine Zahlkörpersieb benutzt wird:

  • Spezielles Zahlkörpersieb: C=(32/9)1/3
  • Allgemeines Zahlkörpersieb: C=(64/9)1/3

Literatur

Bearbeiten
  • Carl Pomerance: A Tale of Two Sieves. In: Notices of the AMS. Band 43, Nr. 12, Dezember 1996, S. 1473–1485 (englisch, ams.org [PDF]).
  • A. K. Lenstra, H. W. Lenstra, Jr.: The development of the number field sieve, Lecture Notes in Mathematics, V. 1554, 1993
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Fermat factoring status. Archiviert vom Original am 10. Februar 2016; abgerufen am 1. November 2015.
  2. Meldung der Faktorisierung von RSA-200 (Memento vom 22. März 2008 im Internet Archive).
  NODES
INTERN 2
Note 1