Kryptologie/Probedivision (Primzahltest 1)


Einleitung

Beim RSA-Kryptosystem werden sehr große und zufällig gewählte Primzahlen verwendet. Da diese aus Sicherheitsgründen nach keiner Formel konstruiert werden dürfen, wählt man stattdessen eine zufällige Zahl   der gewünschten Größe und überprüft anschließend, ob diese prim ist[1]. Mit der Probedivision können wir eindeutig zeigen, ob es sich bei einer Zahl   um eine Primzahl handelt[2].

Die Probedivision beruht auf folgendem Satz:

Satz Primteiler  

Sei   eine zusammengesetzte Zahl, dann existiert ein Primteiler   von  , für den gilt:  [2].

Beweis Satz Primteiler  

Voraussetzung

Sei   ist zusammengesetzt

Zu zeigen

Dann existiert ein Primteiler   von   mit  

Beweis

Primzahl und Satz Primteiler
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[3].

Satz Primteiler
Sei   mit  , dann hat   einen Primteiler, d.h. einen Teiler, der

gleichzeitig eine Primzahl ist[4].

Da   eine zusammengesetzte Zahl sein soll, handelt es sich nach der Definition von Primzahlen nicht um eine Primzahl.

Es gibt also zwei Zahlen   mit   und  , für die gilt:  .

Es gilt außerdem:   oder  .

Wären beide Zahlen größer als  , dann wäre  .

Da   und   nach Satz Primteiler prime Teiler besitzen, teilen diese Primteiler auch  .

Somit besitzt   einen Primteiler   für den gilt:  [2].

Probedivision

Algorithmus der 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[2]

Beispiel

Tabelle 1: Primzahltabelle für die Primzahlen bis  
2
3
5
7
11
13
17
19

Mit der Probedivision testen wir, ob   prim ist.

Wir müssen also   durch alle möglichen Primzahlen   teilen.

Wir lesen die Primzahlen   aus einer Primzahltabelle ab (siehe Tabelle 1).

  und   sind alle in Frage kommende Primzahlen[5].

Nun muss man   durch jede dieser Primzahlen nach dem Algorithmus der Probedivision einzeln dividieren.

Es gilt:

 , da   und  .

Für die übrigen Primzahlen erfolgt die Begründung analog und es gilt:

 ,  ,  ,  ,  ,  ,   und  .

Da keine der Primzahlen   ein Primteiler von   ist, muss   prim sein.

Probedivision als Primzahltest

In der Praxis ist die Verwendung der Probedivision problematisch, da beispielsweise das RSA-Verschlüsselungsverfahren Primzahlen verwendet, die größer als   sind[6]. Darüber hinaus kennt man ab einer gewissen Größe der Zahl   die Primzahlen   nicht mehr und ihre Berechnung ist zu zeitintensiv, sodass man neben den Primzahlen auch einige der übrigen ungeraden Zahlen kleiner   (nämlich ab einer gewissen Größe) ausprobieren muss[7]. Für eine Primzahl der Größe   muss man somit mehr als   Zyklen der Probedivision durchführen. In der Praxis werden daher, beispielsweise beim RSA-Verschlüsselungsalgorithmus, effizientere Verfahren verwendet[6].

Lernaufgabe

Aufgabe

Bestimmen Sie mittels Probedivision, ob es sich bei   um eine Primzahl oder eine zusammengesetzte Zahl handelt. Sie können Tabelle 2 nutzen, um die zu testenden Primzahlen zu erhalten.

Tabelle 2: Primzahlen bis  
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
Lösung
Wir beginnen mit Schritt 1: Da   nicht prim, müssen wir mit Schritt 2 und 3 fortfahren.

Wir testen also alle Primzahlen  , bis wir eine Primzahl finden, die   teilt:

 ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  ,  .

Da  , ist   zusammengesetzt.

Lernempfehlung

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

Literatur

  1. Beutelspacher, A., Neumann, H. B., & Schwarzpaul, T. (2010). Kryptografie in Theorie und Praxis: Mathematische Grundlagen für Internetsicherheit, Mobilfunk und elektronisches Geld (2., überarb. Aufl). Vieweg + Teubner. S. 118.
  2. 2,0 2,1 2,2 2,3 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 155.
  3. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 47.
  4. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 10.
  5. Primzahlen: Tabelle der Primzahlen (2 - 100.000). (15. Oktober 2007). Wikibooks, Die freie Bibliothek. Abgerufen am 20. Dezember 2019, 14:22 von https://de.wikibooks.org/w/index.php?title=Primzahlen:_Tabelle_der_Primzahlen_(2_-_100.000)&oldid=327631.
  6. 6,0 6,1 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 156f.
  7. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 384.