Das Faktorisierungsproblem für ganze Zahlen ist eine Aufgabenstellung aus dem mathematischen Teilgebiet der Zahlentheorie. Dabei soll zu einer zusammengesetzten Zahl ein nichttrivialer Teiler ermittelt werden. Ist beispielsweise die Zahl 91 gegeben, so sucht man eine Zahl wie 7, die 91 teilt. Entsprechende Algorithmen, die dies bewerkstelligen, bezeichnet man als Faktorisierungsverfahren. Durch rekursive Anwendung von Faktorisierungsverfahren in Kombination mit Primzahltests, kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden.
Bis heute ist kein Faktorisierungsverfahren bekannt, das nichttriviale Teiler und damit die Primfaktorzerlegung einer Zahl effizient berechnet. Das bedeutet, dass ein enormer Rechenaufwand notwendig ist, um eine Zahl mit mehreren hundert Stellen zu faktorisieren. Dies wird in der Kryptografie ausgenutzt, wo es zum Entschlüsseln von Nachrichten notwendig ist solche Zahlen zu faktorisieren. Dabei kommt zusätzlich zum Tragen, dass man mittels eines Primzahltests ziemlich einfach feststellen kann, ob eine Zahl eine Primzahl ist.
In der theoretischen Informatik werden Probleme in Komplexitätsklassen eingeteilt, die darüber Aufschluss geben, welchen Aufwand die Lösung eines Problems erfordert. Beim Faktorisierungsproblem für ganze Zahlen ist nicht bekannt welcher Komplexitätsklasse es angehört. Das heißt, dass es zumindest theoretisch möglich ist, dass irgendwann ein Algorithmus entdeckt wird, der ganze Zahlen mit überschaubaren Aufwand faktorisieren kann.
Die besten bekannten Algorithmen sind das 1981 von Carl Pomerance erfundene quadratische Sieb, das um 1990 von mehreren Mathematikern (u.a. Pollard, A. Lenstra, H.W. Lenstra Jr., Manasse, Pomerance) gemeinsam entwickelte Zahlkörpersieb und die Methode der Elliptischen Kurven, die 1987 von Hendrik W. Lenstra, Jr. vorgestellt wurde.
Den aktuellen Forschungsstand auf dem Gebiet der Faktorisierungsverfahren zu verfolgen, ist Ziel der RSA Factoring Challenge. Daraus ergeben sich Anhaltspunkte für die notwendige Größe der im RSA-Kryptosystem verwandten Semiprimzahlen.
In der Praxis wird man, um eine Zahl zu faktorisieren, wie folgt vorgehen:
Die ersten beiden Schritte werden dabei gelegentlich vertauscht.
Seit Euklid von Alexandria ca. 300 Jahre vor Christus in seinem Hauptwerk, den Elementen, den Fundamentalsatz der Arithmetik formuliert und bewiesen hatte, war bekannt, dass jede natürliche Zahl eine eindeutige Primfaktorzerlegung besitzt. Mit der Methode der Probedivision, die im wesentlichen ebenfalls schon Euklid bekannt war, hatte man schon sehr früh ein Verfahren gefunden, diese zu bestimmen; wenngleich es für größere Zahlen ungeeignet ist, da dann zu viel Zeit benötigt wird.
Im Jahre 1643 beschrieb Pierre de Fermat in einem Brief (der Adressat ist nicht bekannt, vermutlich Mersenne oder Frenicle) die heutzutage nach ihm benannte Faktorisierungsmethode von Fermat, die darauf basiert, dass man die zu faktorisierende Zahl als Differenz zweier Quadrate darstellt. Diese Methode, die vom Zeitaufwand eher schlechter als die Probedivision ist, bildet die Grundlage für nahezu alle modernen Faktorisierungsverfahren.
1926 veröffentlichte Maurice Kraitchik eine Arbeit, in der er einige Verbesserungen der Faktorisierungsmethode von Fermat vorschlägt. Insbesondere betrachtet er neben der zu faktorisierenden Zahl n auch deren Vielfache, anders ausgedrückt, er sucht eine Kongruenz der Form x2 ≡ y2 (mod n). Um diese zu finden, multipliziert er geeignete Kongruenzen der Form x2 ≡ y (mod n), die sich leicht und effektiv finden lassen. (Beschrieben im Artikel Quadratisches Sieb.)
Derrick Lehmer und R. E. Powers schlugen 1931 eine andere Methode vor, um Kongruenzen der Form x2 ≡ y (mod n) zu finden. Diese bedient sich der Näherungsbrüche der Kettenbruchentwicklung von n.
Mit der Einführung von Computern begann die intensive Erforschung von Faktorisierungsverfahren. Aufbauend auf der Idee von Lehmer und Powers entwickelte John Brillhart in den Sechzigern ein auf linearer Algebra über dem endlichen Körper F2 basierendes Verfahren um aus einer Liste von Kongruenzen der Form x2 ≡ y (mod n) geeignete auswählen zu können. Zusammen mit Michael Morrison gelang ihm damit im Jahre 1975 die Faktorisierung der für damalige Zeit extrem großen 39-stelligen Fermat-Zahl F7. Insbesondere war es damit zum ersten Mal gelungen, ein Faktorisierungsverfahren mit subexponentieller Laufzeit zu finden.
Inspiriert durch das lineare Sieb von Richard Schroeppel konnte Carl Pomerance 1981 eine Beschleunigung des Verfahrens erreichen, indem er ein Siebverfahren an Stelle der bis dato benutzten Probedivision einführte. Da das Siebverfahren sich nicht für die Kettenbruchmethode eignete, ging Pomerance wieder zu dem ursprünglich von Kraitchik vorgeschlagenen Verfahren über. Hierdurch war es möglich geworden, Zahlen mit bis zu 100 Stellen zu faktorisieren; insbesondere gelang es damit 1994 die 129-stellige Zahl RSA-129 zu zerlegen. Dieses als quadratisches Sieb bezeichnete Verfahren ist heute noch das schnellste bekannte Verfahren zur Faktorisierung von Zahlen mit weniger als 100 Stellen.
In den Achtzigerjahren vermutete man, dass Methoden, die auf der Idee von Kraitchik basieren, nicht substanziell schneller als das quadratische Sieb sein können. Diese Vermutung wurde dadurch gestützt, dass es mittlerweile etliche Verfahren mit ähnlichen Laufzeiten gab und durch ein Ergebnis aus der analytischen Zahlentheorie über glatte Zahlen.
Anfang der Neunzigerjahre wurde diese Vermutung eindrucksvoll durch das Zahlkörpersieb widerlegt. Das Zahlkörpersieb wurde 1988 von John Pollard für spezielle Zahlen vorgeschlagen und danach von einer ganzen Reihe von Mathematikern (u. A. John Pollard, Arjen Lenstra, Hendrik Lenstra, Jr., Mark Manasse, Carl Pomerance, Joe Buhler, Len Adlemann) so verändert, dass es für beliebige Zahlen anwendbar wurde. Durch den Übergang zu algebraischen Zahlkörpern war es möglich geworden, die während der Rechnung benutzten Zahlen deutlich kleiner zu halten und damit die erwähnte Beschleunigung zu erreichen. Insbesondere gelang damit 1990 die vollständige Faktorisierung der 155-stelligen Fermat-Zahl F9.
Mit dem Gittersieb (einer von Pollard vorgeschlagenen Variante des Zahlkörpersiebs) und anderen Methoden wurde am 9. Mai 2005 die Faktorisierung der bislang größten aus zwei großen Primfaktoren zusammengesetzten Zahl (einer sogenannten Semiprimzahl) ohne spezielle Struktur nach zweijähriger Arbeit auf einem Rechnerpool fertiggestellt. Dabei handelt es sich um die Zahl RSA-200, eine 200-stellige Dezimalzahl, die gemeinsam mit vielen anderen Semiprimzahlen im Rahmen der RSA Factoring Challenge generiert wurde.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Faktorisierungsverfahren".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world