Primitivwurzel-Rechner
Findet die kleinste Primitivwurzel einer Primzahl: modulo 7 ist es 3, deren Potenzen alle sechs von null verschiedenen Reste durchlaufen, während sich die Potenzen von 2 nach drei wiederholen. Dazu sehen Sie p − 1 in Primzahlpotenzen zerlegt. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Leistung (W)
- 7
- Primitivwurzel
- 3
- Ordnung
- 6
- Max Ziffern
- 15
Eine Primitivwurzel modulo einer Primzahl p ist ein Generator der multiplikativen Gruppe der von null verschiedenen Reste modulo p. Vereinfacht gesagt hat eine Ganzzahl g zwischen 1 und p minus eins die Eigenschaft, dass ihre aufeinanderfolgenden Potenzen g, g zum Quadrat, g in der dritten Potenz und so weiter schließlich jede zu p teilerfremde Restklasse treffen, bevor sie sich wiederholen. Dieses g ist ein Generator von (Z/pZ)*, und das kleinste solche positive g ist die klassische zahlentheoretische Antwort, die Studierende, Kryptografen und Wettbewerbslöser nachschlagen. Dieser Rechner nimmt einen Primzahlmodul p, verifiziert, dass p prim ist, faktorisiert p minus eins und liefert die kleinste Primitivwurzel zusammen mit der Gruppenordnung und der Primpotenz-Zerlegung von p minus eins. Der Pfad ist vollständig deterministisch: Miller-Rabin mit festen Zeugenmengen, Probedivision und modulare Exponentiation ohne Netzwerk, ohne Zufälligkeit und ohne Datumsabhängigkeit.
Was eine Primitivwurzel ist und was die Antwort enthält
Für einen Primzahlmodul p bildet die Menge der Reste 1, 2, …, p minus eins eine zyklische multiplikative Gruppe der Ordnung p minus eins. Eine Ganzzahl g ist eine Primitivwurzel modulo p, wenn die Ordnung von g in dieser Gruppe genau p minus eins ist: Die Potenzen g hoch k für k von 0 bis p minus zwei sind alle modulo p verschieden und erschöpfen jeden von null verschiedenen Rest.
Nicht jede Ganzzahl ist ein Generator; zum Beispiel durchlaufen die Potenzen von 2 modulo 7 nur drei Werte, bevor sie sich wiederholen, sodass 2 keine Primitivwurzel ist, während 3 alle sechs Einheiten erzeugt und die kleinste ist. Es gibt keine probabilistische Vermutung, die als Wurzel ausgegeben wird, und keinen stillen Fallback für zusammengesetzte Moduln, da eine Primitivwurzel im klassischen Sinn für Primzahlen definiert ist (und für einige spezielle zusammengesetzte Familien, die diese Seite nicht abdeckt).
Wenn Sie Faktoren einer beliebigen Ganzzahl statt eines Generators mod p benötigen, nutzen Sie stattdessen eine Faktorisierungs-Capability; diese Seite beantwortet ausschließlich die Frage nach dem kleinsten Generator mod einer Primzahl.
Wie die Primzahl geprüft wird und wie die kleinste Wurzel gefunden wird
Optionale führende Pluszeichen sind erlaubt; eingebettete Leerzeichen, Hex-Präfixe und Exponentialnotation werden mit einer klaren Meldung zurückgewiesen, damit eine fehlerhafte Zelle nicht zu einem falschen Generator wird. Nach dem Parsen führt die Engine einen deterministischen Miller-Rabin-Primzahltest mit Zeugenmengen aus, die für jede Ganzzahl von höchstens fünfzehn Dezimalstellen als ausreichend erwiesen sind.
Ist p prim, faktorisiert die Engine p minus eins durch Rad-Probedivision, sammelt die verschiedenen Primfaktoren q dieser Ordnung und sucht g gleich 2, 3, 4, … nach dem ersten Kandidaten, sodass g hoch (p minus eins geteilt durch q) für jedes solche q nicht kongruent zu 1 modulo p ist. Dieses klassische Kriterium ist notwendig und hinreichend dafür, dass g die Ordnung p minus eins hat. Der Sonderfall p gleich 2 liefert die Primitivwurzel 1, die einzige Einheit in dieser Gruppe.
Wo kleinste Primitivwurzeln bei Studium, Krypto und Code Anwendung finden
Studierende begegnen Primitivwurzeln, wenn sie zyklische Gruppen, diskrete Logarithmen und die Struktur endlicher Körper von Primzahlordnung lernen. Arbeitsblätter fragen oft nach dem kleinsten Generator modulo einer kleinen Primzahl; diese Seite liefert diese Antwort mit der unterstützenden Zerlegung von p minus eins, sodass Sie die Ordnungstests von Hand verifizieren können. Wettbewerbsprobleme und Programmier-Kata-Aufgaben verlangen häufig die kleinste Primitivwurzel als Unterroutine für den Bau primitiver Polynome, das Indizieren diskreter-Logarithmus-Tabellen oder das Speisen zahlentheoretischer Demos.
In angewandter Kryptografie brauchen Diffie-Hellman und verwandte Konstruktionen einen Generator einer großen Primzahlordnungs-Untergruppe; während Produktionssysteme sorgfältig gewählte sichere Primzahlen und standardisierte Generatoren nutzen, ist ein transparenter Rechner für gewöhnliche Primzahlen dennoch nützlich, wenn Sie Hausaufgaben-große Parameter validieren, Unit-Tests für Werkzeuge zur modularen Ordnung schreiben oder erklären, warum g gleich 2 für manche Primzahlen funktioniert und für andere nicht. Lehrkräfte können Lösungsschlüssel vorab erstellen, ohne undurchsichtigen Web-Widgets zu vertrauen.
Anwendungsfälle
Hausaufgaben- und Wettbewerbsvorbereitung
Schlagen Sie die kleinste Primitivwurzel modulo einer Primzahl für Lehrbuchaufgaben, Übungen zum diskreten Logarithmus und Programmierwettbewerbe nach, die den kleinsten Generator verlangen.
Deterministische Krypto-Parameter-Tests
Erzeugen Sie reproduzierbare Generatoren für Unit-Tests zur modularen Ordnung, Diffie-Hellman-Demos auf Spielzeug-Primzahlen und CI-Assertions ohne statische Tabellen einzubetten.
Zyklische Gruppen lehren
Zeigen Sie, dass Potenzen der zurückgegebenen Wurzel (Z/pZ)* erschöpfen, und stellen Sie sie mit Nicht-Generatoren anhand der Zerlegung von p−1 in der Antwort gegenüber.
Häufige Fragen
Was kostet der Primitivwurzel-Rechner?
Er ist auf dieser Seite kostenlos in Ihrem Browser.
Was, wenn p keine Primzahl ist?
Klassische Primitivwurzeln in diesem Sinn sind für Primzahlmoduln definiert; zusammengesetztes n liegt außerhalb des Umfangs.
Ist der Algorithmus zufällig?
Nein. Die Primalität nutzt deterministische Miller-Rabin-Zeugenmengen, die Faktorisierung ist Probedivision, und modulare Potenzen sind exakt. Dasselbe p ergibt immer dieselbe Wurzel.
Was ist die größte Primzahl, die ich senden kann?
p darf höchstens 15 Dezimalstellen haben. Größere Werte schlagen mit einer klaren Meldung fehl, dass die Ziffernobergrenze überschritten wurde.
Warum werden die Primfaktoren von p − 1 angezeigt?
Auf ihnen beruht die Prüfung. Ein Kandidat g ist Primitivwurzel, wenn g hoch (p − 1)/q für keine Primzahl q, die p − 1 teilt, modulo p gleich 1 ist. So können Sie den Test selbst nachrechnen.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/numth/primitive-root \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p":"7"}'const res = await fetch("https://api.kit.forhosting.com/numth/primitive-root", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p": "7"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/primitive-root",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p": "7"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/primitive-root", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p":"7"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p":"7"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/primitive-root", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"p": "7"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.primitive_root",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_digits | 15 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Was eine Primitivwurzel ist und was die Antwort enthält
Dieses Werkzeug liefert die Primzahl p als Dezimal-Zeichenkette, die kleinste Primitivwurzel, die Gruppenordnung p minus eins, ein boolesches is_prime-Flag, das bei Erfolg immer wahr ist, die geordneten Primpotenz-Faktoren von p minus eins, die in den Ordnungstests verwendet wurden, und die veröffentlichte max_digits-Grenze, damit Clients vor einem Stapel validieren können. Fehlermodi sind explizit: fehlendes p, Nicht-Ganzzahlen, Brüche, wissenschaftliche Notation, Werte unter zwei, Werte mit mehr als fünfzehn Ziffern und zusammengesetztes p lösen alle invalid_input aus.
Wie die Primzahl geprüft wird und wie die kleinste Wurzel gefunden wird
Das bevorzugte Feld ist p als JSON-Ganzzahl oder Dezimal-Zeichenkette; die Aliase prime, modulus und n werden akzeptiert, sodass Formulare, Query-Strings und Tabellenkalkulationen denselben Vertrag wiederverwenden können. Schlägt der Test fehl, ist die Antwort invalid_input mit der Angabe, dass p keine Primzahl ist.
Wo kleinste Primitivwurzeln bei Studium, Krypto und Code Anwendung finden
Auf dieser Seite läuft die Berechnung vollständig in Ihrem Browser; über die API kostet jede erfolgreiche Abfrage $0.002, eine fehlgeschlagene Validierung wird nicht berechnet, und nach der Antwort wird nichts gespeichert. Diese Aufteilung — freie interaktive Erkundung und eine kostenpflichtige, identische API — entspricht dem übrigen Tier-A-Katalog von KIT und erlaubt den Übergang von einer Unterrichts-Demo zu einer automatisierten Pipeline, ohne das mathematische Ergebnis zu verändern.
Technische Fragen
Ist das Ergebnis immer die kleinste Primitivwurzel?
Ja. Die Engine sucht g = 2, 3, 4, … und liefert den ersten Generator, sodass die Wurzel unter den positiven Resten minimal ist.