Modulare Arithmetik – Rechner
Eingaben
| Rechenart | a mod n |
|---|---|
| a | 17 |
| Modulus n | 5 |
| Exponent b | 3 |
Modulare Arithmetik – Rechner
Berechnet a mod n, modulare Potenzierung (a^b mod n) und modulare Inverse – mit Restdarstellung und euklidischer Identität.
Eingaben
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Details
Grundbegriff: Kongruenz und Modulo
Modulare Arithmetik ist das Teilgebiet der Zahlentheorie, das sich mit ganzen Zahlen unter einem festen Teiler, dem Modulus, befasst. Zwei ganze Zahlen und heißen kongruent modulo , wenn ihre Differenz ein Vielfaches von ist:
Die drei Rechenoperationen dieses Rechners – Modulo, modulare Potenzierung und modulare Inverse – bauen alle auf diesem Begriff auf.
Die Modulo-Operation
Für eine positive ganze Zahl ist die eindeutige ganze Zahl mit:
Der ganzzahlige Quotient ist der Gaußsche Klammerterm , der Rest ist das Ergebnis der Modulo-Operation. Diese Definition liefert stets ein nicht-negatives Ergebnis – im Unterschied zum abgeschnittenen Rest vieler Programmiersprachen.
Rechenbeispiel: ,
Also . Das entspricht der Uhrzeigerscheibe: 17 Schritte auf einem Zifferblatt mit fünf Positionen landen auf Position 2.
Negative Werte: ,
Daher ist (nicht ). Der %-Operator in C und JavaScript liefert dagegen , weil er den abgeschnittenen Rest verwendet.
Euklidische Identität
Für jedes Paar mit gelten der ganzzahlige Quotient und der Rest der Identität:
Dieser Rechner zeigt beide Größen ( und ), sodass die Identität für beliebige Eingaben direkt überprüft werden kann.
Modulare Potenzierung
direkt zu berechnen – also erst ausrechnen und dann reduzieren – ist für große Exponenten nicht praktikabel, da exponentiell wächst. Das Quadrieren-und-Multiplizieren (englisch: square-and-multiply) löst dieses Problem: Nach jeder Operation wird modulo reduziert, sodass alle Zwischenwerte im Bereich bleiben.
Der Exponent wird binär zerlegt. Beginnend mit :
- Von links nach rechts wird die laufende Basis quadriert (modulo ).
- Ist das aktuelle Bit 1, wird das Ergebnis mit der aktuellen Basispotenz multipliziert (modulo ).
Der Aufwand beträgt höchstens Multiplikationen statt .
Rechenbeispiel: , ,
Also . Probe: . ✓
Modulare Inverse
Die modulare Inverse von modulo ist eine ganze Zahl mit:
Sie existiert genau dann, wenn gilt – das heißt, wenn und teilerfremd sind. Ist eine Primzahl, besitzt jede ganze Zahl von bis eine Inverse. Bei zusammengesetztem fehlt die Inverse für alle , die einen gemeinsamen Teiler mit haben.
Erweiterter euklidischer Algorithmus
Die Inverse wird durch den erweiterten euklidischen Algorithmus bestimmt. Er verfolgt zusätzlich zur gewöhnlichen ggT-Berechnung ganzzahlige Linearkombinationen und findet ganze Zahlen und mit:
Gilt , so ist die gesuchte modulare Inverse.
Rechenbeispiel: ,
Schritte des erweiterten euklidischen Algorithmus:
Rückwärtseinsetzen:
Daher ist , also .
Probe: . ✓
Anwendungsgebiete
Modulare Arithmetik ist ein Grundbaustein der modernen Mathematik und Informatik:
| Bereich | Verwendung |
|---|---|
| Asymmetrische Kryptografie (RSA) | Nachrichten werden mit einem großen Exponenten modulo einem Primzahlprodukt potenziert; Entschlüsselung nutzt die modulare Inverse des Schlüsselexponenten |
| Prüfsummen | ISBN-13, IBAN und der Luhn-Algorithmus für Kreditkartennummern erkennen Tippfehler mithilfe modularer Arithmetik |
| Kalenderrechnung | Der Wochentag nach Tagen ergibt sich als Rest modulo 7; Ostertermine folgen zyklischen Kongruenzen |
| Hash-Tabellen | Ein Schlüssel wird per Modulo auf einen Tabellenindex abgebildet |
| Ringpuffer | Lese- und Schreibzeiger kreisen mit Index mod Kapazität durch den Puffer |
Kurzübersicht
| Begriff | Formel |
|---|---|
| Modulo-Definition | |
| Ganzzahliger Quotient | |
| Modulare Potenzierung | mit Quadrieren-und-Multiplizieren |
| Inverse (Existenzbedingung) | |
| Erweiterter euklidischer Algorithmus | , ist die Inverse |
Häufig gestellte Fragen (FAQ)
Was ist der Unterschied zwischen mathematischem Modulo und dem Rest bei negativen Zahlen?
Das mathematische Modulo liefert stets ein nicht-negatives Ergebnis im Bereich [0, n − 1]. Zum Beispiel gilt −7 mod 5 = 3, weil −7 = (−2) × 5 + 3. Viele Programmiersprachen verwenden hingegen den abgeschnittenen Rest: In C und JavaScript ergibt −7 % 5 den Wert −2. Python 3 hingegen folgt der mathematischen Definition und liefert ebenfalls 3. Dieser Rechner nutzt die mathematische Definition.
Wie wird eine große Potenz wie 17^1000 mod 5 effizient berechnet?
Die schnelle modulare Potenzierung (auch als Quadrieren-und-Multiplizieren bekannt) reduziert die Anzahl der nötigen Multiplikationen auf O(log b). Der Exponent wird binär zerlegt: In jedem Schritt wird der Zwischenwert quadriert oder quadriert und mit der Basis multipliziert; nach jeder Operation erfolgt eine Reduktion modulo n, sodass die Zahlen klein bleiben.
Wann existiert eine modulare Inverse?
Die modulare Inverse a⁻¹ mod n existiert genau dann, wenn ggT(a, n) = 1 gilt – das heißt, wenn a und n teilerfremd sind. Ist n eine Primzahl, besitzt jede ganze Zahl von 1 bis n − 1 eine Inverse. Bei zusammengesetztem n fehlt die Inverse für alle a, die einen gemeinsamen Teiler mit n haben.
Wo wird modulare Arithmetik in der Praxis eingesetzt?
Modulare Arithmetik bildet die Grundlage der asymmetrischen Kryptografie: Das RSA-Verfahren, das unter anderem HTTPS und digitale Signaturen absichert, beruht auf modularer Potenzierung und Inversen. Weitere Anwendungsgebiete sind Prüfsummen (ISBN-13, IBAN, Luhn-Algorithmus für Kreditkartennummern), Kalenderberechnungen (Wochentag als Rest modulo 7) sowie Ringpuffer und zyklische Datenstrukturen in der Softwareentwicklung.