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.
  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[1]
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].
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

Basis   erfüllt[7][6].

Eine zusammengesetzte natürliche Zahl   heißt Carmichael-Zahl, falls für alle zu   teilerfremden Zahlen   die folgende Kongruenz erfüllt ist:

 [8][6].

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

folgende Kongruenz erfüllt:  [7][14].

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].

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.

  1. Wähle zufällig und gleichverteilt ein  
  2. Bestimme  
    • Ist  , dann ist   zusammengesetzt und der Miller-Rabin-Test ist fertig
    • Ist  , dann mit Schritt 3 fortfahren
  3. Berechne mit  , wobei   und  
    • Ist  , dann ist   wahrscheinlich prim und der Miller-Rabin-Test fertig
    • Ist  , dann mit Schritt 4 fortfahren
  4. Berechne  , wobei  
    • Ist mindestens für ein    , dann ist   wahrscheinlich prim und der Miller-Rabin-Test fertig
    • Existiert kein  , dann ist   zusammengesetzt und der Miller-Rabin-Test abgeschlossen[15][16]

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:

 [8][18].

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

zueinander teilerfremd sind[4][3].

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.
  1. Wähle zufällig und gleichverteilt ein  .
  2. Bestimmte  ,
    • Ist  , dann ist   zusammengesetzt und der Miller-Rabin-Test ist fertig,
    • Ist  , dann mit Schritt 3 fortfahren.
  3. Berechne mit  , wobei   und  ,
    • Ist  , dann ist   wahrscheinlich prim und der Miller-Rabin-Test fertig,
    • Ist  , dann mit Schritt 4 fortfahren.
  4. Berechne  , wobei  ,
    • Ist mindestens für ein    , dann ist   wahrscheinlich prim und der Miller-Rabin-Test fertig,
    • Existiert kein  , dann ist   zusammengesetzt und der Miller-Rabin-Test abgeschlossen[19][20].

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  .


Zunächst bestimmen wir mit einer Irrtumswahrscheinlichkeit von maximal   .

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.


Nun wählen wir ein weiteres zufälliges  , um den Irrtumswahrscheinlichkeit auf maximal   zu verringern.

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

Kursübersicht
Ü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

  1. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Springer. S. 157.
  2. 2,0 2,1 2,2 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 5,2 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 37.
  6. 6,0 6,1 6,2 Ziegenbalg, J. (2015). Elementare Zahlentheorie: Beispiele, Geschichte, Algorithmen (2., überarb. Aufl). Springer Spektrum. S. 66.
  7. 7,0 7,1 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)
  8. 8,0 8,1 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)
  9. 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.
  10. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 388.
  11. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 158.
  12. 12,0 12,1 Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 128.
  13. 13,0 13,1 13,2 13,3 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 159.
  14. Oswald, N., & Steuding, J. (2015). Elementare Zahlentheorie: Ein sanfter Einstieg in die höhere Mathematik. Springer Spektrum. S. 129.
  15. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 161.
  16. 16,0 16,1 Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 133f.
  17. 17,0 17,1 Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 130.
  18. Ziegenbalg, J. (2015). Elementare Zahlentheorie: Beispiele, Geschichte, Algorithmen (2., überarb. Aufl). Springer Spektrum. S. 66.
  19. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 161.
  20. Rabin, M. O. (1980). Probabilistic algorithm for testing primality. Journal of Number Theory, 12(1) (S. 128–138). S. 133f.