Rechner für modulare Potenzen

Berechnen Sie große ganzzahlige Potenzen modulo einer anderen Ganzzahl effizient mit dem schnellen Quadrieren-und-Multiplizieren-Verfahren.

Eine Potenz modulo m berechnen
Geben Sie eine ganzzahlige Basis, einen nichtnegativen Exponenten und einen Modul größer als eins ein.

Über die modulare Potenzierung

Die modulare Potenzierung berechnet den Rest, wenn eine ganzzahlige Basis mit einem nichtnegativen ganzzahligen Exponenten potenziert und durch einen positiven Modul geteilt wird. Der Ausdruck a^b mod m fragt nach dem eindeutigen Rest von 0 bis m - 1, der zu a^b kongruent ist. Eine direkte Berechnung wird schnell unpraktikabel, weil Potenzen enorme Größen erreichen, selbst wenn der abschließende Rest klein ist. Dieser Rechner vermeidet es, diese riesige ganze Zahl als Zwischenergebnis zu erzeugen. Das effiziente Verfahren heißt binäre Exponentiation, wiederholtes Quadrieren oder Quadrieren und Multiplizieren. Der Exponent wird binär dargestellt und bitweise verarbeitet. Zunächst wird die Basis modulo m reduziert. In jedem Schritt wird der aktuelle Faktor quadriert und modulo m reduziert. Ist das zugehörige Exponentenbit eins, wird dieser Faktor mit dem Ergebnis multipliziert und sofort wieder modulo m reduziert. Durch die laufende Reduktion bleiben die Zwischenwerte kleiner als das Quadrat des Moduls. Die Anzahl der Schritte ist nur proportional zum Logarithmus des Exponenten. Eine Potenz mit dem Exponenten eine Milliarde benötigt deshalb nur etwa dreißig Quadrierungsstufen statt einer Milliarde wiederholter Multiplikationen. Die angezeigte Anzahl unterscheidet Quadrierungen von den ausgewählten Multiplikationen für die Eins-Bits des Exponenten. Bei Exponent null wird korrekt 1 mod m zurückgegeben. In der modularen Arithmetik gelten Zahlen mit gleichem Rest als gleichwertig. Beispielsweise sind 17 und 5 modulo 12 kongruent, weil beide den Rest 5 liefern. Auch eine negative Basis wird unterstützt und zunächst auf einen nichtnegativen Rest normalisiert. Der Exponent muss in diesem Rechner nichtnegativ sein. Negative modulare Exponenten erfordern ein multiplikatives Inverses modulo m, das nur existiert, wenn Basis und Modul teilerfremd sind. Modulare Potenzen sind grundlegend für Zahlentheorie und moderne Kryptografie. RSA-Verschlüsselung und -Signaturen potenzieren Nachrichten mit großen Exponenten modulo einer zusammengesetzten Zahl. Der Diffie-Hellman-Schlüsselaustausch und viele Verfahren mit diskreten Logarithmen nutzen Potenzen modulo einer Primzahl. Dieselbe Operation kommt auch bei Primzahltests, Pseudozufallszahlengeneratoren, Prüfsummen, zyklischen Mustern und Programmierwettbewerben zum Einsatz. Alle drei Felder werden als exakte Ganzzahlen beliebiger Größe statt als Gleitkommazahlen verarbeitet. Dadurch bleiben auch jenseits der üblichen sicheren Ganzzahlgrenze von JavaScript sämtliche Ziffern erhalten. Der Modul muss größer als eins sein; Kommas oder Dezimalpunkte dürfen nicht eingegeben werden. Zur manuellen Kontrolle reduzieren Sie zuerst die Basis und prüfen kleine Exponenten durch wiederholtes Multiplizieren, wobei Sie nach jedem Schritt den Rest bilden.

Beispiele für modulare Potenzierung

Diese Beispiele reichen von einer einfachen Rechenkontrolle bis zu typischen zahlentheoretischen Mustern.

AusdruckErgebnisEinordnung
3^4 mod 5181 ergibt bei Division durch 5 den Rest 1
7^10 mod 134Ein kompaktes Beispiel nach Art kryptografischer Berechnungen
123^456 mod 789699Schnelles Potenzieren vermeidet die vollständige Potenz
2^16 mod 171Ein Beispiel für den kleinen Satz von Fermat

So berechnen Sie eine modulare Potenz

  1. Geben Sie eine ganzzahlige Basis ein: positiv, null oder negativ.
  2. Geben Sie einen nichtnegativen ganzzahligen Exponenten ein.
  3. Geben Sie einen ganzzahligen Modul größer als eins ein.
  4. Wählen Sie Berechnen, um den exakten Rest und die Operationsanzahl des schnellen Algorithmus zu erhalten.

Häufige Fragen zur modularen Potenzierung

Warum nicht zuerst die vollständige Potenz berechnen?

Die vollständige Potenz kann Millionen Ziffern enthalten und Zeit sowie Speicher verschwenden. Eine Reduktion nach jeder Multiplikation liefert denselben Endrest und hält die Zwischenergebnisse handhabbar.

Was ist das Quadrieren-und-Multiplizieren-Verfahren?

Es liest die Binärziffern des Exponenten und quadriert wiederholt den aktuellen Basisrest. Nur Faktoren, die zu Eins-Bits gehören, werden mit dem Ergebnis multipliziert.

Darf die Basis negativ sein?

Ja, der Rechner normalisiert eine negative Basis auf ihren äquivalenten nichtnegativen Rest modulo m. Das Endergebnis liegt immer zwischen null und m - 1.

Was passiert bei Exponent null?

Jede von null verschiedene Basis hoch null ist eins; das modulare Ergebnis lautet 1 mod m. Der Rechner verwendet dieselbe Konvention auch dann, wenn Basis und Exponent beide null sind.

Kann der Rechner Ganzzahlen kryptografischer Größe verarbeiten?

Er verwendet Ganzzahlarithmetik beliebiger Größe, sodass Eingaben nicht auf übliche Gleitkommagenauigkeit beschränkt sind. Sehr große Exponenten bedeuten weiterhin mehr Arbeit, doch die binäre Exponentiation hält die Zahl der Stufen logarithmisch.