Kryptologie/Miller-Rabin-Test (Primzahltest 3)
Einleitung
Wie wir in der Lernaufgabe zum Fermat-Test feststellen können, ist die Zahl nach dem Fermat-Test wahrscheinlich nicht zusammengesetzt. Tatsächlich handelt es sich bei um eine Pseudoprimzahl, die mit dem Fermat-Test nicht gefunden werden kann. Wir werden gleich einen Primzahltest kennenlernen, mit dem man selbst solche Zahlen als zusammengesetzt identifizieren kann.
Definition Carmichael-Zahl
Fermat-Test, Primzahl, Teilerfremdheit, Kongruenz,
Primfaktorzerlegung und Fermatsche Pseudoprimzahl |
---|
Fermat-Test |
Sei ungerade. Ziel ist es zu ermitteln, ob zusammengesetzt ist.
|
Primzahl |
Sei mit , dann heißt Primzahl oder prime Zahl, wenn gilt:
besitzt nur zwei Teiler in , nämlich und . Andernfalls heißt zusammengesetzte Zahl[2]. |
Teilerfremdheit |
Zwei ganze Zahlen und , wobei mindestens einer der beiden Zahlen ungleich Null ist,
heißen teilerfremd, wenn [3]. Betrachten wir mehr als zwei Zahlen, dann nennen wir diese paarweise teilerfremd, wenn je zwei beliebige von diesen Zahlen |
Kongruenz |
Seien und , dann gilt [5]. |
Primfaktorzerlegung |
Sei mit , dann ist als Produkt von Primzahlen darstellbar und wir nennen diese
Primfaktorzerlegung. Es gilt mit . Die Darstellung ist, abgesehen von der Reihenfolge der Faktoren, eindeutig[6]. |
Fermatsche Pseudoprimzahl |
Eine natürliche Zahl n wird fermatsche Pseudoprimzahl zur Basis genannt, wenn sie eine
zusammengesetzte Zahl ist, die die Kongruenz für eine zu teilerfremde |
Eine zusammengesetzte natürliche Zahl heißt Carmichael-Zahl, falls für alle zu teilerfremden Zahlen die folgende Kongruenz erfüllt ist:
Beispiel Carmichael-Zahl
Betrachten wir die Zahl .
Es gilt nach der Primfaktorzerlegung
.
, und sind die einzigen zu teilerfremden Basen. Für jede andere ganze Zahl gilt
[9].
Bedeutung von Carmichael-Zahlen für den Fermat-Test
Ebenso wie bei den fermatschen Pseudoprimzahlen, gibt es unendliche viele Carmichael-Zahlen[10]. Die Carmichael-Zahlen verhindern, dass, durch mehrfaches Ausführen des Fermat-Tests mit wechselnden Basen, die Wahrscheinlichkeit, dass man versehentlich eine Pseudoprimzahl als prim bezeichnet, nicht beliebig gesenkt werden kann. Der Fermat-Test kann daher in der Praxis nicht empfohlen werden werden. Es wird stattdessen häufig der Miller-Rabin-Test verwendet[11].
Miller-Rabin-Test
Im Gegensatz zu den zuvor behandelten Primzahltests, ist der Miller-Rabin-Test für die Praxis gut geeignet[12]. Der Miller-Rabin-Test beruht auf einer Verschärfung des kleinen Satzes von Fermat und kann nach hinreichend vielen Versuchen für jede natürliche Zahl herausfinden, ob diese zusammengesetzt ist[12].
Der Test umgeht also das Problem des kleinen Satzes von Fermat, indem eine Eigenschaft von Primzahlen betrachtet wird, die Carmichael-Zahlen und andere Pseudoprimzahlen nicht mit echten Primzahlen gemeinsam haben[13].
Kleiner Satz von Fermat, Primzahl, Teilerfremdheit
und Kongruenz |
---|
Kleiner Satz von Fermat |
Für jede Primzahl und jede dazu teilerfremde natürliche Zahl ist |
Primzahl |
Sei mit , dann heißt Primzahl oder prime Zahl, wenn gilt:
besitzt nur zwei Teiler in , nämlich und . Andernfalls heißt zusammengesetzte Zahl[2]. |
Teilerfremdheit |
Zwei ganze Zahlen und , wobei mindestens einer der beiden Zahlen ungleich Null ist,
heißen teilerfremd, wenn [3]. Betrachten wir mehr als zwei Zahlen, dann nennen wir diese paarweise teilerfremd, wenn je zwei beliebige von diesen Zahlen |
Kongruenz |
Seien und , dann gilt [5]. |
Der Satz liefert uns die Bedingungen, die wir an stellen müssen, wenn prim sein soll. Es genügt, wenn eine der beiden Bedingungen aus dem Satz erfüllt wird. Gilt keine der beiden Bedingungen für eine Zahl bei Wahl einer teilerfremden Zahl , so ist zusammengesetzt[13].
Satz Eigenschaft von Primzahlen
Seien prim und teilerfremd zu , so gilt eine der Kongruenzen
oder es existiert ein mit
, wobei
und [13].
Bemerkung: Der Beweis wird, aufgrund der Komplexität und dem geringen Ertrag für das Thema des Kurses, in diesem Kurs nicht behandelt.
Miller-Rabin-Test
Sei ungerade. Ziel ist es zu ermitteln, ob mit hoher Wahrscheinlichkeit prim oder zusammengesetzt ist.
- Wähle zufällig und gleichverteilt ein
- Bestimme
- Ist , dann ist zusammengesetzt und der Miller-Rabin-Test ist fertig
- Ist , dann mit Schritt 3 fortfahren
- Berechne mit , wobei und
- Ist , dann ist wahrscheinlich prim und der Miller-Rabin-Test fertig
- Ist , dann mit Schritt 4 fortfahren
- Berechne , wobei
Bemerkung: Die Wahrscheinlichkeit, dass zusammengesetzt ist, obwohl der Miller-Rabin-Test "wahrscheinlich prim" ausgibt ist höchstens . Durch -faches Wiederholen des Miller-Rabin-Tests, lässt sich die Wahrscheinlichkeit, dass irrtümlich als prim bezeichnet wird auf minimieren[17].
Beispiel
Carmichael-Zahl, Satz Eigenschaft von Primzahlen, Primzahl,
Teilerfremdheit und Kongruenz |
---|
Carmichael-Zahl |
Eine zusammengesetzte natürliche Zahl heißt Carmichael-Zahl, falls für
alle zu teilerfremden Zahlen die folgende Kongruenz erfüllt ist: |
Satz Eigenschaft von Primzahlen |
Seien prim und teilerfremd zu , so gilt eine der Kongruenzen
oder es existiert ein mit , wobei und [13]. |
Primzahl |
Sei mit , dann heißt Primzahl oder prime Zahl, wenn gilt:
besitzt nur zwei Teiler in , nämlich und . Andernfalls heißt zusammengesetzte Zahl[2]. |
Teilerfremdheit |
Zwei ganze Zahlen und , wobei mindestens einer der beiden Zahlen ungleich Null ist,
heißen teilerfremd, wenn [3]. Betrachten wir mehr als zwei Zahlen, dann nennen wir diese paarweise teilerfremd, wenn je zwei beliebige von diesen Zahlen |
Kongruenz |
Seien und , dann gilt [5]. |
Betrachten wir das Beispiel zu den Carmichael-Zahlen. Mit Hilfe des Satzes Eigenschaft von Primzahlen können wir die Carmichael-Zahl nun erneut darauf prüfen, ob sie zusammengesetzt oder prim ist.
Wir wählen und .
Nun muss bestimmt werden.
Es gilt für :
,
,
,
,
mit und .
Somit ist und .
Nun testen wir den ersten Fall: :
, da .
Die erste Bedingung wird also nicht erfüllt und wir müssen die zweite Bedingung testen, nämlich es existiert ein mit
Wir haben bereits gezeigt, dass und somit . Den Fall haben wir bereits untersucht, da .
Wir müssen also nur noch die drei übrigen Elemente von jeweils in die Bedingung einsetzen:
,
,
.
Auch diese erfüllen die Bedingung von Fall 2 nicht. Die Basis liefert uns also, dass zusammengesetzt ist[16]. Dies konnten wir mit Hilfe des Fermat-Tests in der zugehörigen Lernaufgabe noch nicht zeigen!
Lernaufgabe
Aufgabe
Miller-Rabin-Test |
---|
Miller-Rabin-Test |
Sei ungerade. Ziel ist es zu ermitteln, ob mit hoher Wahrscheinlichkeit prim oder zusammengesetzt.
Bemerkung: Die Wahrscheinlichkeit, dass zusammengesetzt, obwohl der Miller-Rabin-Test "wahrscheinlich prim" ausgibt ist höchstens . Durch -faches Wiederholen des Miller-Rabin-Tests, lässt sich die Wahrscheinlichkeit, dass irrtümlich als prim bezeichnet wird auf minimieren[17]. |
Bestimmen Sie mit dem Miller-Rabin-Test und einer Irrtumswahrscheinlichkeit von maximal , ob zusammengesetzt oder prim ist.
Bemerkung: In der Lösung wählen wir und . Sie können jedoch beliebige andere wählen.
Lösung |
---|
Um mit einer Irrtumswahrscheinlichkeit von maximal zu bestimmen, ob zusammengesetzt oder prim, muss der Miller-Rabin-Test zweimal durchgeführt werden, da .
Schritt 1: Wir wählen . Schritt 2: , wir müssen also mit Schritt 3 fortfahren. Schritt 3: Für gilt: , , und . Somit ist und . Nun testen wir den Fall: :
Da , müssen wir mit Schritt 4 fortfahren. Schritt 4: , wobei
Nach dem Miller-Rabin-Test für und ist wahrscheinlich prim.
Schritt 1: Wir wählen . Schritt 2: , wir müssen also mit Schritt 3 fortfahren. Schritt 3: Wie bereits bei der ersten Durchführung des Miller-Rabin-Tests für gezeigt, ist und . Wir überprüfen : . Da , müssen wir mit Schritt 4 fortfahren. Schritt 4: , wobei
Nach dem Miller-Rabin-Test für und ist wahrscheinlich prim und durch die zweifache Ausführung des Miller-Rabin-Tests können wir die Irrtumswahrscheinlichkeit dieser Annahme auf begrenzen. |
Lernempfehlung
Übergeordnete Lerneinheit | ||
---|---|---|
7.1: Schlüsselerzeugung des RSA-Verschlüsselungsverfahrens | ||
Vorherige Lerneinheit | Aktuelle Lerneinheit | Empfohlene Lerneinheit |
7.1.3: Fermat-Test (Primzahltest 2) | 7.1.4: Miller-Rabin-Test (Primzahltest 3) | 7.1.5: Erweiterter euklidischer Algorithmus |
Literatur
- ↑ Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Springer. S. 157.
- ↑ a b c Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 47.
- ↑ a b c d e f Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Heldermann Verlag. S. 26.
- ↑ a b c Seite „Teilerfremdheit“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 26. September 2019, 13:33 UTC. URL: https://de.wikipedia.org/w/index.php?title=Teilerfremdheit&oldid=192615323 (Abgerufen: 10. Januar 2020, 13:56 UTC; Formulierung verändert)
- ↑ a b c Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 37.
- ↑ a b c Ziegenbalg, J. (2015). Elementare Zahlentheorie: Beispiele, Geschichte, Algorithmen (2., überarb. Aufl). Springer Spektrum. S. 66.
- ↑ a b Seite „Fermatsche Pseudoprimzahl“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 6. April 2019, 23:17 UTC. URL: https://de.wikipedia.org/w/index.php?title=Fermatsche_Pseudoprimzahl&oldid=187306711 (Abgerufen: 26. Dezember 2019, 13:45 UTC; Formulierung verändert)
- ↑ a b Seite „Carmichael-Zahl“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 11. Juli 2019, 07:01 UTC. URL: https://de.wikipedia.org/w/index.php?title=Carmichael-Zahl&oldid=190325777 (Abgerufen: 26. Dezember 2019, 13:55 UTC; Formulierung verändert)
- ↑ Carmichael, R. D. (1912). On Composite Numbers P Which Satisfy The Fermat Congruence a P -1 ≡1 Mod P. The American Mathematical Monthly, 19(2) (S. 22–27). S. 25.
- ↑ Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 388.
- ↑ Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 158.
- ↑ a b Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 128.
- ↑ a b c d Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 159.
- ↑ Oswald, N., & Steuding, J. (2015). Elementare Zahlentheorie: Ein sanfter Einstieg in die höhere Mathematik. Springer Spektrum. S. 129.
- ↑ Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 161.
- ↑ a b Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 133f.
- ↑ a b Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 130.
- ↑ Ziegenbalg, J. (2015). Elementare Zahlentheorie: Beispiele, Geschichte, Algorithmen (2., überarb. Aufl). Springer Spektrum. S. 66.
- ↑ Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 161.
- ↑ Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 133f.