<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Solovay-Strassen-Test</id>
	<title>Solovay-Strassen-Test - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Solovay-Strassen-Test"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Solovay-Strassen-Test&amp;action=history"/>
	<updated>2026-05-28T16:59:42Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Solovay-Strassen-Test&amp;diff=140312&amp;oldid=prev</id>
		<title>imported&gt;Hardy42: /* Was steckt hinter dem Solovay-Strassen-Test? */ Euler-Jacobi-Pseudoprimzahlen bestehen den Test (Korr. Fehler v. 2010)</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Solovay-Strassen-Test&amp;diff=140312&amp;oldid=prev"/>
		<updated>2023-07-15T14:43:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Was steckt hinter dem Solovay-Strassen-Test?: &lt;/span&gt; Euler-Jacobi-Pseudoprimzahlen bestehen den Test (Korr. Fehler v. 2010)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Solovay-Strassen-Test&amp;#039;&amp;#039;&amp;#039; (nach [[Robert M. Solovay]] und [[Volker Strassen]]) ist ein [[Probabilistischer Algorithmus|probabilistischer]] [[Primzahltest]]. Der Test prüft für eine ungerade Zahl &amp;#039;&amp;#039;n&amp;#039;&amp;#039;, ob sie [[Primzahl|prim]] oder [[Zusammengesetzte Zahl|zusammengesetzt]] ist. Im letzteren Fall liefert der Test jedoch im Allgemeinen keinen Faktor der Zahl &amp;#039;&amp;#039;n&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Der Solovay-Strassen-Test ist, wie der [[Miller-Rabin-Test]], ein [[Monte-Carlo-Algorithmus]]. Das heißt, er liefert nur mit einer gewissen Wahrscheinlichkeit (50 %) eine Aussage. Durch Wiederholung kann diese Wahrscheinlichkeit aber beliebig vergrößert werden. Ergibt der Test (wiederholt) keine Aussage, so lässt sich dies als &amp;#039;&amp;#039;„n ist wahrscheinlich eine Primzahl“&amp;#039;&amp;#039; interpretieren.&lt;br /&gt;
&lt;br /&gt;
== Vorgehensweise ==&lt;br /&gt;
Zu einer ungeraden Zahl &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, welche auf Primzahleigenschaft zu testen ist, wird zufällig eine natürliche Zahl &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;1&amp;lt;a&amp;lt;n&amp;lt;/math&amp;gt; gewählt. Bei mehrfacher Durchführung des Tests sind für &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; jeweils neue Werte zu wählen.&lt;br /&gt;
* Es wird der [[ggT|größte gemeinsame Teiler]] &amp;lt;math&amp;gt;g := \operatorname{ggT}(a,n)&amp;lt;/math&amp;gt; berechnet. Falls &amp;lt;math&amp;gt;g &amp;gt; 1&amp;lt;/math&amp;gt; gilt, so ist &amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; ein echter Teiler von &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;. Damit ist &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; keine Primzahl und der Test wird beendet.&lt;br /&gt;
* Berechne&lt;br /&gt;
:: &amp;lt;math&amp;gt;b := a^{\frac{n-1}{2}} \mod n&amp;lt;/math&amp;gt;&lt;br /&gt;
: Gilt &amp;lt;math&amp;gt;1 &amp;lt; b &amp;lt; n-1&amp;lt;/math&amp;gt;, so kann &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; nach dem [[Kleiner Fermatscher Satz#Folgerung durch Euler|Satz von Euler]] keine Primzahl sein und der Test wird beendet. Ist aber &amp;lt;math&amp;gt;b=1&amp;lt;/math&amp;gt; oder &amp;lt;math&amp;gt;b=n-1&amp;lt;/math&amp;gt;, kann es sich bei &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; um eine [[Eulersche Pseudoprimzahl]] handeln und der folgende Schritt muss noch ausgeführt werden.&lt;br /&gt;
* Berechne das [[Jacobi-Symbol]] &amp;lt;math&amp;gt;J(a,n)&amp;lt;/math&amp;gt;. Falls &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; eine Primzahl ist, so muss &amp;lt;math&amp;gt;J(a,n)\equiv b\ mod\ n&amp;lt;/math&amp;gt; gelten. Gilt dies nicht, kann &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; keine Primzahl sein und der Test ist beendet.&lt;br /&gt;
* Falls die Berechnungen nacheinander &amp;lt;math&amp;gt;g = 1, b = 1&amp;lt;/math&amp;gt; oder &amp;lt;math&amp;gt;b = n-1, J(a,n)\equiv b\ mod\ n&amp;lt;/math&amp;gt; ergeben, liefert der Solovay-Strassen-Test keine Aussage, &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; ist also eventuell eine Primzahl.&lt;br /&gt;
&lt;br /&gt;
== Bewertung ==&lt;br /&gt;
Um die Güte des Solovay-Strassen-Tests zu bewerten, muss unterschieden werden, ob &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; eine Primzahl ist oder nicht.&lt;br /&gt;
* Falls &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; eine Primzahl ist, liefert der Test &amp;#039;&amp;#039;immer&amp;#039;&amp;#039; das korrekte Ergebnis (nämlich „keine Aussage“).&lt;br /&gt;
* Falls &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; keine Primzahl ist, ist die Wahrscheinlichkeit, im ersten Schritt des Tests ein &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; zu wählen, so dass der Test ein falsches Ergebnis liefert, kleiner als 1/2 (siehe unten: &amp;#039;&amp;#039;Falsche Zeugen&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Um die Güte des Tests für Nichtprimzahlen zu erhöhen, wird der Test mit unabhängig gewählten zufälligen Basen &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;  hinreichend oft wiederholt. Wenn der Test &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;-mal wiederholt wird, dann ist die Wahrscheinlichkeit, dass in allen &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; Wiederholungen das Ergebnis „keine Aussage“ lautet (obwohl &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; keine Primzahl ist), kleiner als &amp;lt;math&amp;gt;1/2^k&amp;lt;/math&amp;gt;. Dies ist eine pessimistische Schätzung – in den meisten Fällen wird die Güte wesentlich besser sein.&lt;br /&gt;
&lt;br /&gt;
== Effizienz ==&lt;br /&gt;
Der Solovay-Strassen-Test ist effizient, da der ggT, die Potenzen und das Jacobi-Symbol effizient berechnet werden können.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Am Beispiel der zusammengesetzten Zahl &amp;lt;math&amp;gt;n = 91&amp;lt;/math&amp;gt; (einer [[Fermatsche Pseudoprimzahl|Fermatschen Pseudoprimzahl]] zu – beispielsweise – den Basen 17, 29) wird ein möglicher Ablauf des Tests gezeigt:&lt;br /&gt;
&lt;br /&gt;
Ist 91 eine Primzahl?&lt;br /&gt;
&lt;br /&gt;
Test 1:&amp;lt;math&amp;gt;a = 29&amp;lt;/math&amp;gt; &lt;br /&gt;
:&amp;lt;math&amp;gt;g = \operatorname{ggT}(29,91) = 1,\,\, b = 29^{45} \equiv 1 (\text{mod }\, 91),\,\, J(29,91) = 1 \equiv b \text{ mod } 91 \implies \text{ Primzahl nicht ausgeschlossen }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test 2: &amp;lt;math&amp;gt;a = 17&amp;lt;/math&amp;gt; &lt;br /&gt;
:&amp;lt;math&amp;gt;g = \operatorname{ggT}(17,91) = 1,\,\, b = 17^{45} \equiv -1 (\text{mod }\, 91),\,\, J(17,91) = -1 \equiv b \text{ mod } 91 \implies \text{Primzahl nicht ausgeschlossen}&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;!-- Rechnung für Jacobi-Symbol: J(17,91) = J(17,7) * J(17,13) = J(3,7) * J(4,13) = (-1) * 1 = -1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test 3: &amp;lt;math&amp;gt;a = 23&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;g = \operatorname{ggT}(23,91) = 1,\,\, b = 23^{45} \equiv 64 (\text{mod }\, 91) \implies \text{keine Primzahl}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Falsche Zeugen ==&lt;br /&gt;
Sei n &amp;gt; 2 eine ungerade, zusammengesetzte Zahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine zu &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; teilerfremde Zahl &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; heißt &amp;#039;&amp;#039;falscher Zeuge&amp;#039;&amp;#039; für die Primalität von &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; bezüglich des Solovay-Strassen-Tests, falls&lt;br /&gt;
:&amp;lt;math&amp;gt;a^{\frac{n-1}{2}} \equiv J(a,n) \mod n&amp;lt;/math&amp;gt;.&lt;br /&gt;
Für &amp;lt;math&amp;gt;n = 91&amp;lt;/math&amp;gt; sind also die Basen &amp;lt;math&amp;gt;a = 17, 29&amp;lt;/math&amp;gt; falsche Zeugen. Da die Menge der falschen Zeugen eine Untergruppe der [[Multiplikative Gruppe|multiplikativen Gruppe]] &amp;lt;math&amp;gt;(\mathbb{Z}/n)^*&amp;lt;/math&amp;gt; mit [[Gruppenordnung|Ordnung]]  kleiner oder gleich &amp;lt;math&amp;gt;\frac{\varphi(n)}{2}&amp;lt;/math&amp;gt; bildet (dabei bezeichnet &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; die [[Eulersche φ-Funktion]], die die Anzahl der teilerfremden Zahlen kleiner als &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; angibt) und &amp;lt;math&amp;gt;\varphi(n) &amp;lt; n&amp;lt;/math&amp;gt; gilt, sind höchstens die Hälfte aller zur Auswahl stehenden Basen &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; falsche Zeugen. Daher erreicht man bei &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; Durchläufen eine Wahrscheinlichkeit für einen Fehler (d.&amp;amp;nbsp;h., eine zusammengesetzte Zahl wird nicht als solche erkannt), die kleiner als &amp;lt;math&amp;gt;1/2^k&amp;lt;/math&amp;gt; ist.&lt;br /&gt;
&lt;br /&gt;
== Was steckt hinter dem Solovay-Strassen-Test? ==&lt;br /&gt;
Der Solovay-Strassen-Test beruht auf zwei Primzahl-Eigenschaften:&lt;br /&gt;
&lt;br /&gt;
Die eine ist der [[Kleiner fermatscher Satz#Folgerung durch Euler|Eulersche Satz]]: Für jede Primzahl &amp;#039;&amp;#039;p&amp;#039;&amp;#039;&amp;amp;nbsp;&amp;amp;gt;&amp;amp;nbsp;2 gilt&lt;br /&gt;
: &amp;lt;math&amp;gt;a^{\frac{p-1}{2}} \equiv \pm 1 \pmod p&amp;lt;/math&amp;gt; .&lt;br /&gt;
Mit diesem Kriterium werden alle Zahlen herausgesiebt, die weder [[Primzahl]]en noch [[Eulersche Pseudoprimzahl]]en zur Basis &amp;#039;&amp;#039;a&amp;#039;&amp;#039; sind.&lt;br /&gt;
&lt;br /&gt;
Die andere Eigenschaft verbindet dies mit dem [[Legendre-Symbol]]: Für jede Primzahl &amp;#039;&amp;#039;p&amp;#039;&amp;#039;&amp;amp;nbsp;&amp;amp;gt;&amp;amp;nbsp;2 gilt&lt;br /&gt;
: &amp;lt;math&amp;gt;a^{\frac{p-1}{2}} \equiv \Big(\frac{a}{p}\Big)\pmod p&amp;lt;/math&amp;gt; .&lt;br /&gt;
Da man bei den zu testenden Zahlen nicht davon ausgehen darf, dass es sich um Primzahlen handelt, benutzt man das [[Jacobi-Symbol]].&amp;lt;br&amp;gt; &lt;br /&gt;
Damit fallen auch jene eulerschen Pseudoprimzahlen raus, für die &amp;lt;math&amp;gt;a^{\frac{n-1}{2}} \equiv \left(\frac{a}{n}\right) \pmod n&amp;lt;/math&amp;gt; nicht gilt; es bleiben nur noch Primzahlen und [[Eulersche Pseudoprimzahl#Definition|Euler-Jacobi-Pseudoprimzahlen]] übrig.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* [[Paulo Ribenboim]]: &amp;#039;&amp;#039;Die Welt der Primzahlen&amp;#039;&amp;#039;, Springer Verlag, 1996, S. 97&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Zahlentheoretischer Algorithmus]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Hardy42</name></author>
	</entry>
</feed>