Kryptologie/Fermat-Test (Primzahltest 2)


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. 1,0 1,1 1,2 1,3 1,4 1,5 Wolfart, J. (2011). Primzahltests und Primfaktorzerlegung. In Einführung in die Zahlentheorie und Algebra (S. 117–143). Vieweg+ Teubner. S. 120.
  2. 2,0 2,1 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 47.
  3. 3,0 3,1 3,2 3,3 3,4 3,5 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Heldermann Verlag. S. 26.
  4. 4,0 4,1 4,2 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. 5,0 5,1 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. 8,0 8,1 8,2 8,3 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. 9,0 9,1 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. 14,0 14,1 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. 18,0 18,1 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.