Müller-Rabin primality Test

Der Müller-Rabin primality Test oder Rabin-Müller primality Test ist ein Primality-Test: ein Algorithmus

der bestimmt, ob eine gegebene Zahl, erst

ist

ähnlich dem Test von Fermat primality und dem Solovay-Strassen primality Test. Seine ursprüngliche Version, wegen Gary L. Millers, ist deterministisch, aber der Determinismus verlässt sich auf die unbewiesene verallgemeinerte Hypothese von Riemann; Michael O. Rabin hat es modifiziert, um einen vorbehaltlosen probabilistic Algorithmus zu erhalten.

Konzepte

Gerade wie die Tests von Fermat und Solovay-Strassen verlässt sich der Test des Müllers-Rabin auf eine Gleichheit oder Satz von Gleichheiten, die für Hauptwerte für wahr halten, dann überprüft, ob sie für eine Zahl meinen, dass wir für primality prüfen wollen.

Erstens, ein Lemma über Quadratwurzeln der Einheit im begrenzten Feld, wo p erst ist und p> 2. Sicher 1 und 1 immer Ertrag 1, wenn quadratisch gemacht, modulo p; nennen Sie diese trivialen Quadratwurzeln 1. Es gibt keine nichttrivialen Quadratwurzeln von 1 modulo p (ein spezieller Fall des Ergebnisses, dass, in einem Feld, ein Polynom keinen zeroes mehr hat als sein Grad). Um das zu zeigen, nehmen Sie an, dass x eine Quadratwurzel von 1 modulo p ist. Dann:

:

x^ {2} \equiv 1\pmod {p }\

</Mathematik>:

\left (x - 1 \right) \left (x + 1 \right) \equiv 0\pmod {p}.

</Mathematik>

Mit anderen Worten teilt erster p das Produkt. Durch das Lemma von Euklid teilt es einen der Faktoren oder, andeutend, dass x entweder zu 1 oder zu 1 modulo p kongruent ist.

Lassen Sie jetzt n mit n> 2 erst sein. Dann n&minus;1 ist sogar, und wir können es als 2 schreiben · d, wo s und d positive ganze Zahlen sind (d ist seltsam). Für jeden, irgendein

:

A^ {d} \equiv 1\pmod {n }\

</Mathematik>oder:

a^ {2^r\cdot d} \equiv-1\pmod {n} </Mathematik> für einige

</Mathematik>

Um zu zeigen, dass einer von diesen wahr sein muss, rufen Sie den kleinen Lehrsatz von Fermat zurück:

:

A^ {n-1} \equiv 1\pmod {n}.

</Mathematik>

Durch das Lemma oben, wenn wir fortsetzen, Quadratwurzeln von a zu nehmen, werden wir entweder 1 oder &minus;1 kommen. Wenn wir &minus;1 dann kommen, hält die zweite Gleichheit, und wir werden getan. Wenn wir nie &minus;1 kommen, dann als wir jede Macht 2 weggenommen haben, werden wir mit der ersten Gleichheit verlassen.

Der Müller-Rabin primality Test basiert auf dem contrapositive des obengenannten Anspruchs. D. h. wenn wir einen solchen dass finden können

:

A^ {d} \not\equiv 1\pmod {n }\

</Mathematik>und:

a^ {2^rd} \not\equiv-1\pmod {n} </Mathematik> für alle

</Mathematik>

dann ist n nicht erst. Wir nennen einen Zeugen für die Zerlegbarheit von n (manchmal irreführend hat einen starken Zeugen genannt, obwohl es ein bestimmter Beweis dieser Tatsache ist). Sonst zu sein, hat einen starken Lügner genannt, und n ist eine starke wahrscheinliche Blüte, um a zu stützen. Der Begriff "starker Lügner" bezieht sich auf den Fall, wo n zerlegbar ist, aber dennoch halten die Gleichungen, wie sie für eine Blüte würden.

Für jede sonderbare Zusammensetzung n gibt es viele Zeugen a. Jedoch, keine einfache Weise zu erzeugen bekannt solch ein zu sein. Die Lösung ist, den Test probabilistic zu machen: Wir wählen Nichtnull zufällig und überprüfen, ob es ein Zeuge für die Zerlegbarheit von n ist. Wenn n zerlegbar ist, sind die meisten Wahlen für einen Willen Zeugen, und der Test wird n als Zusammensetzung mit der hohen Wahrscheinlichkeit entdecken. Es, gibt dennoch, eine kleine Chance, dass wir unglücklich sind und Erfolg, der ein starker Lügner für n ist. Wir können die Wahrscheinlichkeit solchen Fehlers reduzieren, indem wir den Test auf mehrere unabhängig gewählte a wiederholen.

Beispiel

Nehmen Sie an, dass wir bestimmen möchten, ob n = 221 erst ist. Wir schreiben n &minus; 1 = 220 als 2 · 55, so dass wir s = 2 und d = 55 haben. Wir zufällig ausgesucht eine solche Zahl a dass ein mod n = 174 mod 221 = 47  1, n &minus; 1

  • ein mod n = 174 mod 221 = 220 = n &minus; 1.

Seit 220  1 mod n, entweder 221 ist erst, oder 174 ist ein starker Lügner für 221. Wir versuchen einen anderen zufälligen a, dieses Mal a=137 wählend:

  • ein mod n = 137 mod 221 = 188  1, n &minus; 1
  • ein mod n = 137 mod 221 = 205  n &minus; 1.

Folglich 137 ist ein Zeuge für die Zerlegbarheit 221, und 174 war tatsächlich ein starker Lügner. Bemerken Sie, dass das uns nichts über die Faktoren 221 erzählt (die 13 und 17 sind).

Algorithmus und Laufzeit

Der Algorithmus kann im Pseudocode wie folgt geschrieben werden:

Eingang: n> 3, eine sonderbare für primality zu prüfende ganze Zahl;

Eingang: k, ein Parameter, der die Genauigkeit des Tests bestimmt

Produktion: Zusammensetzung, wenn n, sonst wahrscheinlich erster zerlegbar

ist

schreiben Sie n  1 als 2 · d mit dem d, der durch Factoring-Mächte 2 von n  1 seltsam

ist

SCHLEIFE: Wiederholen Sie k Zeiten:

picken Sie eine zufällige ganze Zahl in der Reihe [2, n  2] auf

x  ein mod n

wenn x = 1 oder x = n  1 als nächstes dann SCHLINGEN

für r = 1.. s  1

x  x mod n

wenn x = 1 dann Rückzusammensetzung

wenn x = n  1 als nächstes dann SCHLINGEN

geben Sie Zusammensetzung zurück

geben Sie wahrscheinlich ersten zurück

Mit modularem exponentiation durch das wiederholte Quadrieren ist die Laufzeit dieses Algorithmus O (k loggen n), wo k die Zahl von verschiedenen Werten von einem Wir-Test ist; so ist das ein effizienter, polynomisch-maliger Algorithmus. FFT-basierte Multiplikation kann stoßen die Laufzeit unten zu = Õ (k loggen n).

Im Fall, dass der Algorithmus "Zusammensetzung" zurückgibt, weil x = 1, es auch entdeckt hat, ist das (ein sonderbares Vielfache) die Ordnung — eine Tatsache, die (als im Algorithmus von Shor) kann verwendet werden, um n zu faktorisieren, da sich n dann teilt, aber nicht jeder Faktor allein. Der Grund Müller-Rabin gibt keinen probabilistic factorization Algorithmus nach, besteht darin, dass wenn (d. h. ist n nicht eine Pseudoblüte, um a zu stützen), dann keine solche Information über die Periode von a erhalten wird, und die zweite "Rückzusammensetzung" genommen wird.

Genauigkeit des Tests

Je mehr Basen wir, desto besser die Genauigkeit des Tests prüfen. Es kann gezeigt werden, dass für jede sonderbare Zusammensetzung n mindestens ¾ der Basen Zeugen für die Zerlegbarheit von n sind. Der Test des Müllers-Rabin ist ausschließlich stärker als der Solovay-Strassen primality Test im Sinn, dass für jede Zusammensetzung n der Satz von starken Lügnern für n eine Teilmenge des Satzes von Lügnern von Euler für n, und für viele n ist, ist die Teilmenge richtig. Wenn n dann zerlegbar ist, erklärt der Müller-Rabin primality Test n, der wahrscheinlich mit einer Wahrscheinlichkeit höchstens 4 erst ist. Andererseits erklärt der Solovay-Strassen primality Test n, der wahrscheinlich mit einer Wahrscheinlichkeit höchstens 2 erst ist.

Durchschnittlich ist die Wahrscheinlichkeit, dass eine zerlegbare Zahl wahrscheinlich erst erklärt wird, bedeutsam kleiner als 4. Damgård, Landrock und Pomerance schätzen einige ausführliche Grenzen. Solche Grenzen können zum Beispiel verwendet werden, um Blüte zu erzeugen; jedoch sollten sie nicht verwendet werden, um Blüte mit dem unbekannten Ursprung nachzuprüfen, seitdem in kryptografischen Anwendungen könnte ein Gegner versuchen, Ihnen eine Pseudoblüte in einem Platz zu senden, wo eine Primzahl erforderlich ist. In solchen Fällen kann nur der Fehler, der 4 gebunden ist, darauf gebaut werden.

Deterministische Varianten des Tests

Der Algorithmus des Müllers-Rabin kann deterministisch durch das Versuchen von allen möglich unter einer bestimmten Grenze gemacht werden. Das Problem ist im Allgemeinen, die Grenze festzulegen, so dass der Test noch zuverlässig ist.

Wenn die geprüfte Nummer n, die starken Lügner zerlegbar ist ein coprime zu n wird in einer richtigen Untergruppe der Gruppe enthalten, was bedeutet, dass, wenn wir alle von einem Satz prüfen, der erzeugt, einer von ihnen ein Zeuge für die Zerlegbarheit von n sein muss. Die Wahrheit der verallgemeinerten Hypothese von Riemann (GRH) annehmend, ist es bekannt, dass die Gruppe durch seine Elemente erzeugt wird, die kleiner sind als O ((loggen Sie n)), der bereits von Miller bemerkt wurde. Die an der Großen O Notation beteiligte Konstante wurde auf 2 von Eric Bach reduziert. Das führt zum folgenden bedingten primality Prüfung des Algorithmus:

Eingang: n> 1, eine sonderbare ganze Zahl, um für primality zu prüfen.

Produktion: Zusammensetzung, wenn n, sonst erster zerlegbar

ist

schreiben Sie n&minus;1 als 2 · d durch Factoring-Mächte 2 von

n&minus;1

wiederholen Sie sich für alle:

dann geben Sie Zusammensetzung zurück

geben Sie ersten zurück

Die Laufzeit des Algorithmus ist Õ ((loggen Sie n)). Die Vollmacht der verallgemeinerten Hypothese von Riemann ist nicht erforderlich, um die Genauigkeit des Tests zu sichern: Da wir uns mit Untergruppen sogar des Index befassen, genügt er, um die Gültigkeit von GRH für quadratische Charaktere von Dirichlet anzunehmen.

Dieser Algorithmus wird in der Praxis nicht verwendet, weil es viel langsamer ist als die randomized Version des Tests des Müllers-Rabin. Zu theoretischen Zwecken wurde es durch den AKS primality Test ersetzt, der sich auf unbewiesene Annahmen nicht verlässt.

Wenn die zu prüfende Nummer n klein ist, ganzen versuchend, nicht notwendig zu sein, weil, wie man bekannt, viel kleinere Sätze von potenziellen Zeugen genügen. Zum Beispiel haben Pomerance, Selfridge und Wagstaff und Jaeschke das nachgeprüft

  • wenn n und diese Ergebnisse sehr schnell deterministische Primality-Tests auf Zahlen in der passenden Reihe ohne irgendwelche Annahmen geben.

Es gibt eine kleine Liste von potenziellen Zeugen für jede mögliche Eingangsgröße (an den meisten N-Werten für N-Bit-Zahlen). Jedoch ist kein begrenzter Satz von Basen für alle zerlegbaren Zahlen genügend. Alford, Granville und Pomerance haben gezeigt, dass dort ungeheuer viele zerlegbare Zahlen n bestehen, dessen kleinster Zerlegbarheitszeuge mindestens (ln n) ist. Sie behaupten auch heuristisch, dass die kleinste solche Nummer w, dass jede zerlegbare Zahl unter n eine Zerlegbarheit hat, weniger zeugt, als w der Ordnung sein sollte (loggen Sie N-Klotz-Klotz-n).

Referenzen

Außenverbindungen

,

Schallplattenverzeichnis des Apple Records / Feuerwehr
Impressum & Datenschutz