Ich habe CLRS gelesen und es wollte zeigen, dass wenn eine Primzahl der Form und ein quadratischer Rest ist, eine Quadratwurzel ist (man kann auch leicht zeigen, dass ist eine Quadratwurzel).a a k + 1 a - k
Ich habe mich gefragt, ob unter Verwendung der vorherigen Tatsache und auch, dass wir wussten, dass wir eine Zahl der Form (nicht unbedingt Primzahl), dann gibt es vielleicht einen anderen Primalitätstest für (irgendein?) Verwendung der Quadratwurzelfunktion (dh ).N S Q R T N ( a ) = a k + 1
Der Algorithmus, den ich dachte, war folgender:
Wählen Sie einen quadratischen Rest (QR) (Sie können dies leicht tun, indem Sie prüfen, ob ein ^ {\ frac {p-1} {2}} \ equiv 1 \ pmod p gilt). Sobald wir einen QR haben, berechnen Sie a ^ {k + 1} = x_a und prüfen Sie, ob x_a ^ 2 gleich a ist . Wenn es wahr ist, schließen wir, dass a eine Primzahl ist. Andernfalls wählen wir einen anderen QR a '\ in \ mathbb {Z} ^ * _ N und wiederholen den Algorithmus. Man kann diesen Algorithmus k mal wiederholen . Wenn nach k- mal kein Erfolg vorliegt, schließen Sie, dass die Zahl zusammengesetzt ist.x 2 a a a a ' ∈ Z * N k k
Ich habe hauptsächlich eine Vorstellung davon, warum es richtig ist, aber kein formaler Beweis. von der ersten Tatsache, dass eine Quadratwurzel ist, wenn eine Primzahl ist, muss dies bedeuten, dass . Wenn also ein QR ist, besteht diese Prüfung (die Hälfte der Zeit, in der wir einen QR wählen, ist die Wahrscheinlichkeit, dass wir einen Nicht-QR wählen, nur 1/2). p x 2 a ≡ aa
Wenn jedoch zusammengesetzt ist, haben wir anscheinend keine Garantie dafür, dass . Wenn es also nicht hält, sind wir sicher, dass es nicht prim ist. Aber wenn es dann gilt, wenn es seine Primzahl ist, haben wir Recht, aber wenn es zusammengesetzt ist, könnten wir falsch liegen? Ist es grundsätzlich möglich, die SQRT-Funktion zu verwenden, wenn , um zu entscheiden, ob eine Primzahl ist oder nicht?x 2 a ≡ aN = 4 k + 3 N.
Ich dachte auch an einen anderen Algorithmus, der seine eigene Frage verdient: Ist die Berechnung einer Quadratwurzel einer Zahl und mehr als zwei Wurzeln eine zuverlässige Methode, um die Primalität zu bestimmen?