Zum Inhalt springen

Kryptologie/Fermat-Test (Primzahltest 2)

Aus Wikiversity


Einleitung

Der Fermat-(Primzahl-)Test beruht auf dem kleinen Satz von Fermat. Dieser Satz liefert uns eine Eigenschaft, die alle Primzahlen erfüllen[1].

Satz (Kleiner Satz von Fermat)

Primzahl, Teilerfremdheit, Kongruenz und Teilbarkeit
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

zueinander teilerfremd sind[4][3].

Kongruenz
Seien und , dann gilt [5].
Teilbarkeit
Eine ganze Zahl teilt eine ganze Zahl genau dann, wenn es eine

ganze Zahl gibt, für die ist.

Wir schreiben [6][7].

Für jede Primzahl und jede dazu teilerfremde natürliche Zahl ist folgende Kongruenz erfüllt:

[8][9].

Bemerkung: Durch Multiplikation im Restklassenring mit gilt auch die folgende Äquivalenz: [8][9].

Beweis Satz (Kleiner Satz von Fermat)

Voraussetzung

prim und mit .

Zu zeigen

Beweis (Vollständige Induktion)

Bemerkung: Bei der vollständigen Induktion wird eine Aussage in der Regel für alle natürlichen Zahlen bewiesen. Dabei beginnt man bei einem Startwert (meist oder ) und zeigt, dass die Aussage für diesen Startwert gilt. Man nennt dies den Induktionsanfang. Im Induktionsschritt wird anschließend gezeigt, dass wenn die Aussage für eine Zahl gilt, dann gilt sie auch für die nächstgrößere Zahl[10][11].

Induktionsanfang

Wir zeigen zunächst, dass die Aussage für .

.

Induktionsschritt

Wir haben nun ein solches gefunden, für das gilt, also ist

(Induktionsvoraussetzung)

Nun zeigen wir, dass die Behauptung auch für den Nachfolger eines solchen gilt, nämlich

Wir verwenden hierzu den binomischen Lehrsatz:

Betrachten wir nun den Binomialkoeffizienten genauer:

taucht für nur im Zähler auf.

Da prim ist, treten im Nenner keine Teiler von auf.

Die Binomialkoeffizienten sind daher alle durch teilbar.

Damit folgt

und nach Induktionsvoraussetzung gilt

.

Somit haben wir gezeigt, dass

für einen beliebigen Nachfolger von gilt[12][13].

Fermat-Test

Die Idee des Fermat-Tests ist es, durch die Umkehrung des kleinen fermatschen Satzes, Zahlen daraufhin zu prüfen, ob sie zusammengesetzt sind[1].

Algorithmus des Fermat-Tests

Sei ungerade. Ziel ist es zu ermitteln, ob zusammengesetzt ist.

  1. Wähle eine zu teilerfremde Basis
  2. Berechne
    • Gilt , dann ist mit hoher Wahrscheinlichkeit prim und sonst zusammengesetzt
    • Gilt (Fall 2), dann ist zusammengesetzt[14]

Im ersten Fall erfüllt die vom kleinen fermatschen Satz formulierte Bedingung an Primzahlen und im zweiten Fall nicht.

Nur, weil die Voraussetzung für Primzahlen des kleinen fermatschen Satzes erfüllt, ist damit noch nicht gezeigt, dass eindeutig eine Primzahl ist. kann stattdessen eine zusammengesetzte Zahl sein, die auch die untersuchte Eigenschaft von Primzahlen erfüllt. Tritt jedoch Fall 2 ein, so kann man also sicher sagen, dass zusammengesetzt und somit nicht prim ist[8][14].

Beispiele des Fermat-Tests

Beispiel 1

Primzahl und Teilerfremdheit
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

zueinander teilerfremd sind[4][3].

Seien und . Die beiden Zahlen sind teilerfremd, da .

da

Somit ist prim oder zusammengesetzt.

Beispiel 2

Seien und . Die beiden Zahlen sind teilerfremd, da .

da

Somit ist zusammengesetzt.

Bemerkung: Wir können anhand von Beispiel 2 erkennen, dass eine Basis , für die , nicht zwangsläufig ein Teiler von ist, denn es gilt .

Fermat-Test als Primzahltest

Der Fermat-Test eignet sich in der Praxis nicht als Primzahltest[1]. Aus folgt nämlich nicht direkt, dass prim ist. Es gibt also natürliche Zahlen , die keine Primzahlen sind und die Eigenschaft dennoch erfüllen. Es gibt zwei Arten von solchen Zahlen: Fermatsche Pseudoprimzahlen zur Basis und Carmichael-Zahlen[8].

Fermatsche Pseudoprimzahl

Definition Fermatsche Pseudoprimzahl

Primzahl, Teilerfremdheit, Kongruenz und Probedivision
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[15].

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

zueinander teilerfremd sind[4][3].

Kongruenz
Seien und , dann gilt [5].
Probedivision
Sei ungerade (für gerade ist Primteiler). Ziel ist es zu ermitteln, ob prim oder zusammengesetzt ist.
  1. Berechne
    • Ist bekannt, dass prim, dann ist zusammengesetzt und die Probedivision abgeschlossen
    • Andernfalls muss der Algorithmus fortgeführt werden
  2. Wähle eine Primzahl
    • Wurde die Probedivision noch nicht auf angewandt, wähle
    • Ist dies mindestens der zweite Durchlauf von Schritt 2 auf , dann wähle die nächstgrößere Primzahl zu diesem Durchlauf
  3. Ermittle, ob die Primzahl ein Teiler von ist
    • Gilt , dann ist zusammengesetzt und die Probedivision abgeschlossen
    • Gilt , dann und es gibt ein , welches noch nicht getestet wurde, dann wiederhole ab Schritt 2
    • Wurden alle durchlaufen und für all diese gilt , so ist prim und die Probedivision abgeschlossen[16]

Eine natürliche Zahl n wird fermatsche Pseudoprimzahl zur Basis genannt, wenn sie eine zusammengesetzte Zahl ist, die sich in Bezug auf eine zu teilerfremde Basis wie eine Primzahl verhält. Dies ist der Fall, wenn nämlich die Kongruenz

für die zu teilerfremde Zahl erfüllt ist[17][1].

Beispiel Pseudoprimzahl

Sei , somit ist keine Primzahl, da wir mit der Probedivision feststellen können, dass gilt. Somit hat einen Primteiler .

Nun wenden wir den Fermat-Test an und wählen .

und sind also teilerfremd, d.h. .

, da

Also ist nach einmaligen anwenden des Fermat-Test mit hoher Wahrscheinlichkeit eine Primzahl.

Bedeutung von Pseudoprimzahlen für den Fermat-Test

Es gibt unendlich viele Pseudoprimzahlen. Diese sind jedoch wesentlich seltener als Primzahlen[18]. So kommt beispielsweise bezüglich Basis im Zahlenraum bis auf jeweils Primzahlen nur eine Pseudoprimzahl[18]. Den zugehörigen Beweis ersparen wir uns an dieser Stelle, da dieser zu weit von unserem eigentlichen Thema wegführt.

Wir könnten annehmen, dass man, durch das wiederholte Anwenden des Fermat-Tests auf die selbe Zahl mit wechselnder Basis , mit hoher Wahrscheinlichkeit davon ausgehen kann, dass prim ist, wenn die Kongruenz (Fall 2) nicht eintritt. Dies erscheint logisch, da es sich bei den einzelnen Durchführungen um unabhängige Ereignisse[19][20] handelt, deren Wahrscheinlichkeit nach dem Multiplikationssatz[21][22] multipliziert werden.

Wir werden mithilfe des dritten Primzahltests jedoch zeigen, dass Pseudoprimzahlen existieren, die für fast alle Basen die Kongruenz erfüllen. Dies sind die bereits erwähnten Carmichael-Zahlen[23][1]. Ein mehrfaches Ausführen des Fermat-Tests mit festem und wechselnder Basis ist daher nicht zielführend[1].

Lernaufgabe

Aufgabe

Fermat-Test
Fermat-Test
Sei ungerade. Ziel ist es zu ermitteln, ob zusammengesetzt ist.
  1. Wähle eine zu teilerfremde Basis
  2. Berechne
    • Gilt , dann ist mit hoher Wahrscheinlichkeit prim oder zusammengesetzt
    • Gilt (Fall 2), dann ist nicht prim, sondern zusammengesetzt[24]

Prüfen Sie mit dem Fermat-Test für eine oder mehrere der drei Basen und , ob die Zahl zusammengesetzt ist.

Lösung
Sei .


Sei .


Sei .

Keiner der drei Testdurchläufe lässt darauf schließen, dass zusammengesetzt ist und wir gehen mit hoher Wahrscheinlichkeit davon aus, dass prim ist.

Lernempfehlung

Kursübersicht
Übergeordnete Lerneinheit
7.1: Schlüsselerzeugung des RSA-Verschlüsselungsverfahrens
Vorherige Lerneinheit Aktuelle Lerneinheit Empfohlene Lerneinheit
7.1.2: Probedivision (Primzahltest 1) 7.1.3: Fermat-Test (Primzahltest 2) 7.1.4: Miller-Rabin-Test (Primzahltest 3)

Literatur

  1. a b c d e f Wolfart, J. (2011). Primzahltests und Primfaktorzerlegung. In Einführung in die Zahlentheorie und Algebra (S. 117–143). Vieweg+ Teubner. S. 120.
  2. a b Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 47.
  3. 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.
  4. 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)
  5. a b Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 37.
  6. Seite „Teilbarkeit“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 25. November 2019, 15:44 UTC. URL: https://de.wikipedia.org/w/index.php?title=Teilbarkeit&oldid=194364839 (Abgerufen: 12. Dezember 2019, 14:43 UTC; Formulierung verändert)
  7. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Heldermann Verlag. 22f.
  8. a b c d Seite „Fermatscher Primzahltest“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 7. März 2017, 21:10 UTC. URL: https://de.wikipedia.org/w/index.php?title=Fermatscher_Primzahltest&oldid=163373890 (Abgerufen: 23. Dezember 2019, 11:46 UTC; Formulierung verändert)
  9. a b Oswald, N., & Steuding, J. (2015). Elementare Zahlentheorie: Ein sanfter Einstieg in die höhere Mathematik. Springer Spektrum. S. 129.
  10. Seite „Vollständige Induktion“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 20. Dezember 2019, 06:00 UTC. URL: https://de.wikipedia.org/w/index.php?title=Vollst%C3%A4ndige_Induktion&oldid=195068438 (Abgerufen: 12. Januar 2020, 09:16 UTC; Formulierung verändert)
  11. Schäfer, W., Georgi, K., & Trippler, G. (1999). Mathematik-Vorkurs—Übungs- und Arbeitsbuch für Studienanfänger. Vieweg+Teubner. S. 102.
  12. Beweisarchiv: Zahlentheorie: Elementare Zahlentheorie: Kleiner Satz von Fermat. (14. November 2018). Wikibooks, Die freie Bibliothek. Abgerufen am 6. Februar 2020, 09:12 von https://de.wikibooks.org/w/index.php?title=Beweisarchiv:_Zahlentheorie:_Elementare_Zahlentheorie:_Kleiner_Satz_von_Fermat&oldid=863633. (Formulierung verändert)
  13. Weisstein, Eric W. "Fermat's Little Theorem." From MathWorld--A Wolfram Web Resource. Abgerufen am 6. Februar 2020, 11:34 von http://mathworld.wolfram.com/FermatsLittleTheorem.html.
  14. a b Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Springer. S. 157.
  15. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 47.
  16. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 155.
  17. 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)
  18. a b Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 388.
  19. Seite „Unabhängigkeit von Ereignissen“. In: Serlo.org. URL: https://de.serlo.org/mathe/stochastik/bedingte-wahrscheinlichkeit-unabh%C3%A4ngigkeit/unabh%C3%A4ngigkeit-ereignissen/unabh%C3%A4ngigkeit-ereignissen (Abgerufen: 26. Dezember 2019, 14:51 UTC; Formulierung verändert)
  20. Cramer, E., & Kamps, U. (2017). Grundlagen der Wahrscheinlichkeitsrechnung und Statistik: Eine Einführung für Studierende der Informatik, der Ingenieur- und Wirtschaftswissenschaften (4., korrigierte und erweiterte Auflage). Springer Spektrum. S. 194.
  21. Seite „Multiplikationssatz“. In: Mathe Guru. URL: https://matheguru.com/stochastik/multiplikationssatz.html (Abgerufen: 26. Dezember 2019, 14:54 UTC)
  22. Cramer, E., & Kamps, U. (2017). Grundlagen der Wahrscheinlichkeitsrechnung und Statistik: Eine Einführung für Studierende der Informatik, der Ingenieur- und Wirtschaftswissenschaften (4., korrigierte und erweiterte Auflage). Springer Spektrum. S. 230.
  23. 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)
  24. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Springer. S. 157.